[forum] A Call For Open Governance Of X Development

Alan Hourihane forum@XFree86.Org
Fri, 21 Mar 2003 10:46:39 +0000

On Fri, Mar 21, 2003 at 01:51:39AM -0800, Keith Packard wrote:
>            A Call For Open Governance Of X Development
> Persistent problems in XFree86 development have become widely recognised
> within the X community. I have talked to people throughout the X
> community in a search for solutions. These conversations were personal
> rather than public because I felt the need for council, not conflict.
> Some have suggested that this was a secret attempt to undermine the
> XFree86 project: this was not my intent. I have tried as hard as I can
> to work within the existing XFree86 structure.
I'd argue that none of what I've just read below was ever discussed within
the Core Team as issues you've had Keith. And, certainly with the position
you held within the Core Team, you probably had more capability to change
this than anyone. So I can't understand why you hadn't brought these
problems to your fellow colleagues within the Core Team to discuss. This
baffles me.

> Some of the most persistent problems identified by the community are:
>     * Limited development resources
>       The 'fetchmail' project has contributions from over 800
>       developers. Over the last two years there were about 250
>       contributors to XFree86, a project more than a hundred times larger.
I'd argue that XFree86 is vastly more complex, and therefore many
developers leave well alone to others that are already involved.

>     * Slow release schedules
>       Since the XFree86 4.2 release in January 2002, support for 27 new
>       versions of the ATI Radeon chip was added to the XFree86 Radeon
>       driver. Anyone using one of these chips was either forced to wait
>       for the February 2003 release of XFree86 4.3 or run an unreleased
>       version of XFree86.

Slippage of Open Source projects is always a bug bear. Look at FreeBSD 5.0.
That was on the cards for quite some time, but always kept slipping. 
Voluntary work can always cause problems regardless of their situation.

>     * Lack of cooperation with other projects
>       The KDE and Gnome projects were forced to form the freedesktop.org
>       project to extend and enhance X Window System standards because
>       XFree86 refused even to participate in the process.

I'd never even heard of this one. I don't remember anything being brought
to the XFree86 development lists, or to the Core Team to refuse in such 

>     * Opacity of development processes
>       There is no information available on the XFree86 home page on
>       becoming an XFree86 developer. Information for new developers
>       consists of the mention of a couple of mailing list addresses in
>       the README document included in the XFree86 4.3 release.
That's because writing code for XFree86 makes you a developer. There's
no such 'member' status anymore. The CVS was opened up, so anyone can
become a developer. It's as easy as that.

> I have made limited progress in my attempts to address these issues. The
> opening of the XFree86 CVS repository and developer mailing lists to
> public access has benefitted X development significantly. In order to
> improve the technical coordination with other open source projects, I
> have become personally involved in many of them.
> Within the last couple of months I have come to understand why these
> persistent problems have not been solved by the X community. By X
> community, I mean:
>     * Developers working on the X server and libraries.
>     * Developers working on ancillary X extensions and services such as
>       the DRI and GATOS projects.
>     * Developers working on Qt, Gtk+, Fltk, Tk, Motif and other toolkits.
>     * Application developers using either Xlib or an X toolkit.
>     * System integrators and distributors packaging X technology in
>       various forms.
>     * Consulting companies selling services based on X.
>     * Hardware vendors producing hardware to work with X.
>     * X End users.
> The key issue is that XFree86 is not a community-governed project.
> XFree86 processes and procedures originate with the Directors of the
> XFree86 Corporation. Technical leadership of the XFree86 project has
> traditionally been provided by the XFree86 Core Team, an informal
> association of leading XFree86 developers.
> While the XFree86 Board of Directors is nominally in charge of XFree86,
> they have absented themselves from governing the project and left that
> to the XFree86 Core Team. The community is left wondering who is
> actually in charge of XFree86. As a result, community trust in XFree86
> leadership has suffered. Decisions appear to be arbitrary and are not
> seen to reflect the will of the community. The leadership has no
> accountability to the community: thus community members have no ability
> to change project direction and the Board has little incentive to do so.
> In addition, the lack of clear formal policies has made it difficult to
> resolve disputes when the usual consensus breaks down.
> It is therefore essential for the community to be involved in the
> governance of X development. Two key elements in a community-governed
> project are:
>    1. A low barrier to become a voting member.
>    2. Regular elections of the government by all of the members.
> Community governed projects such as Gnome, KDE and Debian have
> well-established membership policies. All allow anyone with the interest
> and ability to join and vote. As far as I know, only the XFree86 Board
> members are voting members of XFree86. Community governed projects elect
> officials who serve for a few years, after which elections must be held.
> To my knowledge, XFree86 has never held an election.
As for Gnome and KDE, they are two different desktops equalling heavy
competition with each other. Why do you think there are two desktops ?
because Gnome can't agree with the KDE folks on direction. It's the same
here. There's nothing stopping a fork, but I think in this case it would
do more damage.

> The XFree86 corporate bylaws indicate that any change in XFree86
> governance must be initiated by the current Directors of the XFree86
> Corporation. (The XFree86 bylaws are no longer publicly available: a
> previous public version
> <http://www.google.com/search?q=cache:6ulnwYz58ZAC:www.xfree86.org/legal/by_laws.html>
> can be found in the Google cache.) The bylaws state that there are two
> classes of Members in XFree86, Full (Voting) Members and Associate
> (non-Voting) Members.
>     2.2 A Full Member shall be admitted to Membership by (a) acceptance
>     of such persons or entity's written application for such Membership
>     by the affirmative majority vote of the Board of Directors of the
>     Corporation ... 
>     2.21 The criteria for admission as an Associate Member and
>     Membership fees and dues for any other membership shall be as
>     determined from time to time by the Board of Directors. 
> As far as I know, there are no Full Members other than the Board
> members. The bylaws also state that voting is supposed to occur at the
> annual meeting of the Members.
>     3.2 Annual meetings of Members shall be held on the fourth Monday in
>     February each year ... at which meeting Voting Members shall elect
>     in accordance with Section 4.3, a Board of Directors ... 
> As far as I am aware, no annual meeting has taken place in the last
> three years. XFree86 has the trappings of democracy, but the community
> has no voting rights and no elections are held.
> There are many ways to move from our current position to one of
> community control, but for XFree86 to make the transition, the current
> Board of Directors must have a desire to do so. I encourage the X
> community to support a community government for X development and hope
> the XFree86 Board will adopt this model.
> I believe that community governance will enable the X community to
> address both the problems described earlier and future problems as they
> arise. I look forward to working within the X community in the coming
> years to enhance the capabilities of the X Window System.

As for the rest of the above. I'd urge people to think of how XFree86 has
got were it has - under the directive of the current team, headed by
David Dawes. David has worked tirelessly in his own time to bring XFree86
where it is today. And I applaud him for that devotion.