A Firm Foundation for the Linux Desktopby Andy Oram, co-author of Managing Projects with GNU make, 3rd Edition
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.
Return to the Linux DevCenter