Programs to the People
Could an insurgent band of programmers, motivated not by profit but by the ideal of “free software,” undermine Microsoft’s control of the computer desktop?
Miguel de Icaza spends his days as a computer-network administrator at the Institute of Nuclear Sciences at the National Autonomous University of Mexico, in Mexico City. Watching over the network, he says, “gives me a lot of spare time”-time he spends answering e-mail and working on “fun little projects.” His current spare-time computer activity, he thinks, is “really great.” De Icaza is coordinating the GNOME project, a volunteer effort to develop a computer desktop-a mouse-and-windows interface-that will outdo the various incarnations of Windows that form the foundation of the Microsoft empire.
The GNOME desktop, its programmers say, will be faster, more powerful and less likely to crash than anything from Redmond, Wash. “It’s a radical step forward in computer design,” says Larry McVoy, a former Sun Microsystems programmer who now runs a networking startup in San Francisco called BitMover, “the coolest, whizziest thing out there.” And GNOME will be free: downloadable from the Internet without charge.
The notion of a small band of unpaid part-timers challenging one of the world’s most dominant corporations may seem absurd, but the GNOME project intends to do exactly that. “They have decided to take the desktop back from Microsoft,” says Eric S. Raymond, a free-software evangelist who is editor of The New Hacker’s Dictionary. In his view, there is a good chance that the project could succeed. “It’s not at all impossible,” Raymond says, “that GNOME could push the software world into a dramatically different-and better-place.”
Why would GNOME succeed where bigger, richer outfits-Apple, most prominently-failed? Two reasons, according to its backers. First, GNOME is not starting alone. It is designed to work with an operating system called Linux (“LINN-uks”). Renowned for its speed, reliability and efficiency, Linux runs on as many as 10 million computer systems around the world, ranging from small, geek-oriented networks at Internet-service providers and university computer labs to huge outfits like Wells Fargo and the U.S. Postal Service. With a user base growing at an estimated rate of 40 percent per year, Linux is the sole non-Microsoft operating system that is expanding its market share (see sidebar “Looking For Linux?”).
Although more than 20 small companies now sell computers preloaded with Linux, the system is rarely found in homes because its reputation for technical excellence is matched by its reputation for user-unfriendliness. Indeed, one standard installation guide begins by admitting that Linux is “one of the most complex and utterly intimidating systems ever written,” because users must type runic commands like “awk,” “grep” and “mount -t iso9660/dev/cdrom/mnt.” By providing a simple, intuitive point-and-click interface, “GNOME will make it possible for my wife, my mother and my grandfather to use Linux,” says Michael Fulbright, a project member at Red Hat Advanced Development Laboratories, a corporate-sponsored Linux think tank in Research Triangle Park, N.C. “Finally, nongeeks will get to use something that geeks take for granted: software that works right.” And once people see what it’s like to use good software, Linux partisans argue, they will never go back to Windows.
The second, larger reason that GNOME could succeed is that, like Linux, it is a product of what is known as the “free-software” or “open-source” movement. Not only can GNOME be obtained free of charge, but its source code-the underlying instructions that most software firms regard as their crown jewels-will be available for anyone to copy and modify. By liberating the source code from the control of a single company, projects like GNOME can harness the contributions of thousands of programmers. Because not even giant Microsoft can surpass the united talent of the whole world, free-software partisans argue, open-source software will always outstrip the competition. “Produce something better and people will eventually notice,” says Bruce Perens, a free-software programmer who works at Pixar Animation Studios in Richmond, Calif. “GNOME will be one ticket to the future.”
In Mexico City, de Icaza describes the project in less grandiose terms. “GNOME will be fun,” he says. “A really good hack.”
Looking for Linux?
Products Company Contact Comments Price/Support VA Research 1-888-LINUX4U
www.varesearch.com The most consumer-friendly of the many Linux PC vendors. Pentium systems preloaded with Linux and Linux-based applications. Start at $1400. Red Hat Software 1-888-REDHAT1
www.redhat.com The market leader in commercially sold Linux distributions. In Linux terms, easy to install. Major GNOME backer. $49.95 (all prices for basic one-person PC Linux); 90 days of e-mail/fax support. Caldera Systems 1-888-GOLINUX
www.caldera.com Second in commercial Linux market. Includes KDE, rival desktop to GNOME. $59; 30 days of phone/e-mail support. S.u.S.E 1-888-UR-LINUX
www.suse.com German Linux leader, with U.S. offices in Silicon Valley. $49.95 ($79.95 for package with KDE and office suite); 60 days of free phone/e-mail support. Debian www.debian.org Branch of Software in the Public Interest, a nonprofit corporation that also supports GNOME. Free download. No direct support, though Linux e-mail lists are famously helpful. Information Linux Online www.linux.org Semi-official site promoting Linux-often swamped. Linux Center www.linux-center.org/en/ A Yahoo-like index to Linux based in France. The GNOME project www.gnome.org Comprehensive site for users and software developers. The K Desktop Environment www.kde.org Site devoted to GNOME’s rival system. Free Software Foundation www.fsf.org Headquarters of Richard Stallman’s GNU project.
If GNOME, Linux and the free-software movement had a single beginning, it was the day in 1979 when Xerox donated one of the first laser printers to the Artificial Intelligence Laboratory at MIT. The machine crashed a lot, inducing AI Lab programmer Richard Stallman to ask Xerox for the code that controlled the printer. Stallman planned to modify the program to respond to breakdowns by flashing a warning on the screen of everyone who was waiting for a printout-that is, everyone who had an incentive to fix the printer right away. In this way, the printer would always be quickly set right.
To make this modification, though, Stallman needed Xerox to give him the source code for the printer program. For him, this was an unexceptional request. In the freewheeling academic atmosphere of the AI Lab, programmers worked communally, constantly borrowing and tinkering with one another’s code. Moreover, Xerox had given Stallman the source code for an earlier, equally trouble-prone printer. This time, however, Xerox refused-the company had copyrighted the source code. Stallman was irate: Copyright was preventing him from improving a program. “Xerox was hoarding software,” he says. “They were violating the Golden Rule.”
Xerox was not alone. As software became big business, Silicon Valley lured away many of the AI Lab’s best and brightest. When these programmers worked for software companies, Stallman discovered, their code was proprietary-it couldn’t be shared and built upon. Copyright, the idealistic Stallman slowly concluded, was destroying the programming community.
In 1984, Stallman founded the Free Software Foundation. Its chief goal was to develop an improved operating system that looked like, but did not use the source code of, Unix-the most common operating system on big computer networks. Invented in 1969 by two researchers at Bell Labs, Unix is now available in a dozen different versions from companies like IBM, Compaq and Sun Microsystems. Stallman called his version GNU, a recursive acronym for “GNU’s Not Unix.” To avoid “horrible confusion,” he pronounced it “guh-new.” In a tip of the hat to Stallman, GNOME, which stands for GNU Network Object Model Environment, is pronounced “guh-nome.”
The challenge of GNU was enormous. An operating system defines what services programs can ask of a computer (adding two numbers, moving information onto a hard disk, and so on) and directs requests for those services to the hardware (keyboard, monitor, microprocessors and so on). But the system is useless without hundreds of subsidiary programs to perform specific tasks such as managing windows and communicating with printers and other peripherals. To produce a functional system, the GNU project had to create all these programs. “It’s like building a jet plane from scratch in your garage,” says Perens. “People thought it was impossible. And it probably would have been, if anyone less extraordinarily talented than Richard was in charge.”
Based at MIT, the GNU Project was Geek Heaven-dim lights, bright monitors, late hours, Chinese takeout. At the center was the bearded, long-haired Stallman, pounding code late into the night and sleeping during the day on a cot in the offices. Every line he wrote was “copylefted”-users could freely change the software, as long as they didn’t prohibit others from doing the same to their modifications. “Copyleft,” Stallman says, “uses the tools of the software hoarders against them.”
By the early 1990s, though, the GNU project was foundering. It had created scores of programs that were used all over the world-but had not produced the heart, or “kernel,” of the GNU operating system. Part of the reason was that Stallman had chosen not to duplicate the tried and true Unix kernel but to base the GNU system on an advanced, experimental kernel developed at Carnegie Mellon University. The only programmer ever to receive a MacArthur “genius” fellowship, Stallman was one of the few people in the world up to the task of developing a radically new kernel-and possibly the only one who could think of doing it almost single-handedly.
But then his hands, weary from typing so much code, gave out. For years pain prevented him from serious work at a keyboard, and his work on the kernel stopped. Stallman tried to continue by employing MIT students as transcribers. Recalls Perens: “He would treat them literally as typewriters, saying carriage return’ and space’ and tab,’ while he dictated what he saw in his head.” Invariably these human typewriters quit after a short time, worn down by hours of robotically transmitting computer code.
Nobody stepped in to replace the sidelined Stallman. One reason, says Perens, was political. “Richard is the last of the pinkos. And people just didn’t want to be associated with somebody whose ideas are fundamentally antagonistic to business.”
The Little Operating System That Could
Enter Linus Torvalds. A 21-year-old undergraduate at the University of Helsinki in 1991, Torvalds was far from an expert programmer-“I didn’t even know what I didn’t know,” he says. But he knew Unix well enough to regard Microsoft’s MS-DOS operating system as a mess-the digital equivalent of being forced to write with a leaky pen. Still, Torvalds wanted to program, and he got so sick of the long lines at the campus computer center that he bought a PC. The machine-a 386 with 4 megabytes of memory-was too small to run Unix. But he still refused to subject himself to bad software. Ignoring DOS, Torvalds mashed together chunks of code from his instructors’ and his own work.
Somewhat unexpectedly, Torvalds ended up with something like a Unix kernel. Because the GNU project had created the necessary subsidiary programs, he tweaked the kernel to fit them. Lo and behold, he had backed himself into creating a complete operating system. For the first time, the flexibility, stability and power of Unix were available on a small computer. Torvalds called his operating system “Freax.” His friends thought the name was dumb and changed it to Linux.
On a personal level, Stallman and Torvalds are opposites. Stallman is a provocateur with cheerfully irregular habits-a nocturnal bachelor who bites off the split ends in his long hair as he proposes the idea of a national campaign to mock Bill Gates. Torvalds is polite, softspoken and personally tidy-a married man with a regular job. But the pair share one important attitude: antipathy to software copyright. Torvalds covered Linux with Stallman’s “copyleft” and posted it online for anyone to download; when people added improvements, he put them, too, on the Net. Begun in 1991 as an Intel-only operating system with a single user (Torvalds), Linux had been modified by 1995 to run on machines from Digital and Hewlett-Packard and had half a million users, many in developing nations.
“Everything came together at the right time,” says John Hall, a Linux maven who is a technical marketing manager for Compaq. “The price of PCs dropped and their power went up, so people in poor countries could maybe afford 486s and 386s that were halfway serious computers.” This new wave of geeks wanted to try their hands at cutting-edge computer science. With few outlets in the developing world for their talents, they seized on the opportunity to participate in the development of Linux through the Internet. “Suddenly,” Hall says, “there was the possibility that not all of computer science would come out of Redmond, Washington.”
The story of GNOME project leader Miguel de Icaza illustrates the point. Discovering the GNU project at the age of 18 in 1991 as an undergraduate at the National Autonomous University of Mexico, de Icaza quickly began working on its file manager program. “I wanted to give them something back because the software was so good,” he says. Soon came Linux, which he coupled with GNU software and adapted to the Sun SPARC workstation. “Once I started contributing,” de Icaza recalls, “people started sending me improvements and bug fixes and new features.” No one cared that de Icaza wasn’t American or that he hadn’t finished college. (No one, that is, except the U.S. government, which refused him a working visa when Cobalt Networks, a Mountain View, Calif., computer company, tried to hire him.)
Hundreds of programmers like de Icaza worked on Linux, adding utilities, fixing bugs, writing manuals, adding capabilities and porting it to different computer systems. New versions poured out at an astonishing rate-sometimes more than one a week. Each would be downloaded and worked on by people around the globe. Overwhelmed by the runaway project, Torvalds restricted himself to supervising the kernel. People interested in working on other pieces organized themselves, Andy-Hardy style: Hey, kids, let’s make it page to disk! In the end, Torvalds says, “less than five percent” of the code is his. (He now works for Transmeta, an ultrasecretive Silicon Valley chip-design company. What is Transmeta? “We do stuff,” Torvalds says, deadpan. “That is the official company line.”)
To free-software advocate Raymond, the novel development of Linux presaged a sea change in software. In a widely read essay, “The Cathedral and the Bazaar,” he argued that software before Linux always had been produced in a “cathedral,” by an isolated team of programmers, who worked on the code until releasing a final, finished version. Linux, on the other hand, was assembled in a “bazaar,” by a cacophonous scatter of independent programmers. And Linux was never finished. Ordinary users work with particularly successful “snapshots” of the operating system, but programmers keep fiddling with it as long as they see something to add or fix. (Raymond has put the essay on the Web.)
Writing software in a bazaar is easier, more efficient and more likely to be successful, Raymond believes. Because the source code is open to all, he says, “we very seldom have to solve the same problem twice.” Commercial software developers, by contrast, are often forced to reinvent the wheel-“an almost criminal waste of resources.” When one company invents a way to e-mail data from a program directly, for example, competitors can’t build on the work and improve it. Instead they must start from scratch and figure out a completely different way to do the same thing. The result, open-source devotees argue, is not healthy competition that produces incremental improvements, but a set of incompatible products that don’t work very well.
In addition, open-source software can be tested more thoroughly. Even big companies typically field-test their operating systems only with a few dozen users, according to Compaq marketing manager Hall, who worked on operating systems for Digital-a far cry from the thousands who put each Linux version through the wringer.
Moreover, as Torvalds has argued, open-source programmers don’t have to worry that “fixing one bug might just break a hundred programs that depend on that bug.” If Microsoft changes Windows 98, it can’t easily peek into the source code of Quicken or WordPerfect to see what will happen; nor can independent hackers readily post a correction. By contrast, bugs in free programs can be avoided or fixed quickly, because the source code is available to all. In a test of software reliability published last May, seven computer scientists at the University of Wisconsin concluded, to their surprise, that GNU and Linux programs were “noticeably better” than their proprietary equivalents.
Open-source boosters say that Linux/GNU has advantages for users, too-and especially businesses. Instead of being forced to accept the features that big vendors like Microsoft choose to make available, corporate information-systems departments can create software that exactly fits their companies’ needs. Partly because of its easy customizability, free software is spreading into the business world (although some companies remain leery enough of the idea that systems administrators conceal it from management). Sega uses Linux to develop video games; Digital Domain, the James Cameron company, used it to produce digital special effects for Titanic. The U.S. Postal Service routes letters with RAF Mail character-recognition software, a commercial program that runs on Linux. Netscape and Intel announced in September that they were investing in Red Hat, the largest commercial Linux distributor.
But Linux has been almost shut out of one large arena: the consumer market. As long as it remains triumphantly nonintuitive-“a program for hackers by a hacker,” as Torvalds puts it-its use would be confined to geeks. Which, to some Linux partisans, was not enough.
The obvious way to popularize Linux is to give it a point-and-click desktop akin to that of the Macintosh and Windows. Such a move, however, was of little interest to the type of person who developed Linux. Most programmers like typing on a command line because it lets them control the machine more precisely than they can by clicking on a mouse.
Torvalds himself says he doesn’t care much about “nice graphical interfaces.” Indeed, at first he wasn’t sure that Linux would function well with one. But Torvalds ultimately welcomed Miguel de Icaza’s announcement in August 1997 of the GNOME project: an attempt to put together a graphical user interface. “I joke a lot about Linux taking over the world and how Microsoft should be afraid,” says Torvalds, who has recently conducted “World Domination 101” seminars at Linux conventions. “But with something that makes it easy for the home user-maybe it just might happen.”
Proponents of GNOME faced several obstacles. First, a Linux desktop project already existed. Based in Germany and called the K Desktop Environment (KDE), it was under heavy attack within the open-source community. In a perfect example of the arcane squabbling endemic to passionately idealistic enterprises, the open-source community battled over whether the KDE desktop was fatally tainted because it included code from a Norwegian company, Troll Technology, that was not completely nonproprietary. The short answer is: probably. Which was one reason de Icaza, and then much of the Linux community, shifted attention to GNOME.
Within a year of the project’s inception, more than 150 people were developing GNOME, about 20 of them full-time. Red Hat hired seven full-time programmers to work on it. This crew is, of course, infinitesimal compared to the battalions of programmers laboring to produce each new version of Windows. On the other hand, “we don’t have to go through the contortions they do,” says Todd Graham Lewis, keeper of the frequently-asked-question file for GNOME. “One hour of work on Windows 98 means 15 minutes of working on functionality, and 45 minutes of checking on DOS compatibility, Windows 3.1 compatibility, and Windows 95 compatibility. One hour of work on GNOME is one hour of functionality.” Partly for this reason, the project has moved quickly; version 1.0 may be available at www.gnome.org as early as the beginning of 1999.
Describing the result isn’t easy, because the project is creating a desktop that users can configure themselves-in other words, one with no standard appearance. “Windows has a set of colors and fonts you can change,” says Carsten Haitzler, a GNOME programmer at Red Hat. “But that’s all you can do. We want you to be able to customize everything from the ground up.”
Users who don’t want to tinker with the desktop can choose among scores of pre-fab “themes”-although most of the current themes, which have been produced by young male programmers, resemble the covers of science-fiction novels. “People say my desktop looks like something out of Babylon 5,” Haitzler says proudly.