[forum] A Call For Open Governance Of X Development

Keith Packard forum@XFree86.Org
Fri, 21 Mar 2003 01:51:39 -0800


           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.

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.

    * 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.

    * 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.

    * 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.

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.

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.

Keith Packard
March 21, 2003

------------------------------------------------------------------------

I would like thank Stuart Anderson, Chris Blizzard, Jim Gettys, Bart
Massey, Ralf Nolden and Owen Taylor for their assistance in writing this
document.