A Firm Foundation for the Linux Desktop
by Andy Oram, co-author of Managing Projects with GNU make, 3rd Edition
10/28/2004
The X Window System, which is the foundation of graphical displays on Linux,
Unix, BSD, and Mac OS X, has long stayed submerged in the public consciousness
just as it has been submerged under window managers and heavyweight desktops.
(In fact, the desktops bear much of the guilt for torpid response and lavish
memory use that observers like to heap on X.) Recently, X as a technology has
received more of the attention it deserves, on this site (see Edd Dumbill's "What's
Next for X?") among other places. Yet no one has talked about the
organization that makes these advances possible, the thorough makeover it has
received in the past year, or the financial neglect that holds desktops back
from even greater things.
X Under The Radar
Strangely, X doesn't benefit from the publicity that accompanies the
public's interest in graphical applications. For instance, people routinely
take interest in notices in some industry organ such as the Linux Journal or the NewsForge web site saying, "Now you can
view the relative sizes of your multimedia files in a convenient bar graph,
thanks to the GlomIT organizer program," which is fine and wonderful. Once in a
while, however, they should write, "Now you can view the relative sizes of your
multimedia files in a convenient bar graph, thanks to X drawing each pixel of
each bar, and thanks to X positioning the window where you click your mouse,
and thanks to X telling the program to redraw the missing part of its window
after you move the stupid pop-up ad that was blocking it." Who would bother to
store multimedia files on his or her system in the first place, if he or she couldn't
view them using X?
It's not surprising that desktop users ignore the needs of X developers, but
it's absolutely scandalous that many computer-company managers also ignore
them. Unfortunately, so do trade journalists clamoring for news about the
latest "advance on the Linux desktop."
At LinuxWorld this past August, I found that the press rooms would fill to
the gills when some major company announced its Linux strategy (which, in recent
years, has included some promise concerning the desktop). Then I went to the X
developer's press conference. When I walked in the room, they said, "You just
doubled our attendance."
That's when I started interviewing Leon Shiman, a longtime X developer and
former MIT staffer who now runs Shiman
Associates. A member of the board of X.org, the
foundation that controls X development, Shiman is also their official media and
PR contact. One of his recent technical projects was to propose and coordinate
the development of the Media
Application Server (MAS), with the endorsement of X.org. MAS provides a common
framework for audio and video applications and protocols. It standardizes the
scheduling, mixing, and playback of audio and video with cards from all vendors.
This is the kind of task--unsexy and hard to explain to non-technical
management, but absolutely critical for cross-platform functioning--that
characterizes X.
The Birth, Stagnation, and Rebirth of a Consortium
According to Shiman, the starvation of X goes far back, all the way to the
early 1990s. At that time, when MIT first housed X (as that's where X
developed), Unix vendors cut back their funding even as they struggled to offer
a viable workstation that would hold back Microsoft's advance. MIT told the X
founders to spin off X into its own corporation. In this age, when few people
understood the best practices for free software, the corporation passed through
several awkward and unproductive phases. X development managed to continue,
mostly because of time donated by zealous and highly competent programmers.
The consortium came under the control of the Open Group, which briefly made
a clumsy attempt to derive revenue from X while putting its future freedom in
doubt. This interlude lasted only a few months, but spawned a public relations
debacle and turned off many developers and potential supporters. The group of
stalwarts developing X fell into their deepest slump during these years,
although X obviously survived and continued to provide the minimal requirements
that made modern desktop development possible. Now the Open Group acts only as
the legal representative of X.org, doing this work on a contract basis.
In January of this year, X.org reconstituted as one of the most open and
flexible institutions in free software. Membership is open to pretty much
anyone, and total control rests in a board elected by members. (Sponsoring
companies still have some say in what goes on, through the option of
withdrawing their funding.) Most of the regular teleconferences that drive all
decision making are open to anyone who wants to call in. The trusted
developers who do the most work on the code control different segments of the
source code tree (hosted at the freedesktop.org site). The board still
approves releases and steps in to resolve disputes.
Goals of X.org
X.org has achieved a lot and is poised to achieve a lot more. It has issued
two releases of X in the past six months, a feat involving a great deal of
testing, management, and weighted decision making. This is an exciting time,
where the foundation is still working out a lot of basic procedural issues,
such as how to reach the point of making a release. Increased funding would
make a huge difference at this critical historical moment in the adoption of
desktop systems.
Only two companies support X.org at the highest (executive) level: Hewlett
Packard and Sun Microsystems. IBM and a few small companies participate at
lower levels. Many companies sell systems that run X without funding its
development at all.
The non-profit desktop projects, KDE and GNOME, and those by key Linux vendors
such as Red Hat and SUSE (now Novell), occupy intermediate positions. These
organizations contribute developers directly to X but keep managerial control
of the developers. That means that each of these organizations contributes to
the parts of X that clearly improve its own market position and development
plans. While the help is vital, X.org tries to represent the broadest user
community and therefore may have slightly different priorities.
Among the myths that have clung to the X Window System (that X is a hog,
that X is only for Linux, Unix, or BSD, and that X doesn't handle audio or
video well) is the myth that X is "mature," meaning that it doesn't need
industry support and that money would be better spent on more visible projects.
X can potentially become the most reliable windowing system with the broadest
support for different hardware vendors, but it needs further development in
several areas, particularly regarding management and support:
- More people and platforms to do testing.
- A clearer definition of the architecture, along with better communications
channels to tell vendors how they can hook their equipment into X and provide
working drivers.
- Documentation (critical for any development team trying to draw in new
developers).
- Maintenance of web sites and better tools for accessing code (another
critical element of supporting would-be developers).
- Outreach and public education about X, as this article tries to do.
- Work on accessibility issues.
- More oversight of mailing lists, to tamp down the unpleasant emotional
atmosphere that sometimes builds up.
X.org is considering creative sources of funding. For instance, many
government agencies use free software. Suppose the agencies stipulated that any
company selling them a solution that depends heavily on free software should
contribute to the organizations that develop that software.
X.org also has a list of technical projects to work on now, but the most
exciting potential lies in new, unanticipated ideas that new blood can bring to
the project. That is why this past January's complete rethinking of X.org's
structure and relationship to the development community is so meaningful. The
organization is now open to all, having prepared to make the most of
intellectual contributions.
A lot of administrators on Unix-like systems say, "We don't use X; the
computer is just a mail server" (or whatever). Look farther. Even the most
hard-bitten mail administrator would like to see statistics, configuration
parameters, and other administrative information presented in a nice chart,
with changes available at a mouse click. Everybody can use X support on some
system, somewhere.
If the Linux, Unix, BSD, and Mac OS X industries care about the user,
they'll line up behind X.org. Consider contributing, consider joining as a
member (it took me 15 minutes to submit my application), and always check
on what they're doing and what they're asking for.
Andy Oram
is an editor for O'Reilly Media, specializing in Linux and
free software books, and a member of Computer Professionals for Social
Responsibility. His web site is www.praxagora.com/andyo.
Return to the Linux DevCenter