January/February 1999 Go to this link for original page. Programs to the People Could an insurgent band of programmers, motivated not by profit but by the ideal of free software, undermine Microsofts control of the computer desktop? By Charles C. Mann photo 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 timetime 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 desktopa mouse-and-windows interfacethat 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. Its 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 worlds 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 Hackers Dictionary. In his view, there is a good chance that the project could succeed. Its not at all impossible, Raymond says, that GNOME could push the software world into a dramatically differentand betterplace. Why would GNOME succeed where bigger, richer outfitsApple, most prominentlyfailed? 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 its 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 codethe underlying instructions that most software firms regard as their crown jewelswill 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. Liberated Code 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 printoutthat 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 anothers code. Moreover, Xerox had given Stallman the source code for an earlier, equally trouble-prone printer. This time, however, Xerox refusedthe 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 Labs best and brightest. When these programmers worked for software companies, Stallman discovered, their code was proprietaryit couldnt 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, Unixthe 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 GNUs 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. Its 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 Heavendim 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 copyleftedusers could freely change the software, as long as they didnt 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 worldbut 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 kerneland 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 didnt want to be associated with somebody whose ideas are fundamentally antagonistic to business. The Little Operating System That Could photo Enter Linus Torvalds. A 21-year-old undergraduate at the University of Helsinki in 1991, Torvalds was far from an expert programmerI didnt even know what I didnt know, he says. But he knew Unix well enough to regard Microsofts MS-DOS operating system as a messthe 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 machinea 386 with 4 megabytes of memorywas 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 habitsa 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 tidya married man with a regular job. But the pair share one important attitude: antipathy to software copyright. Torvalds covered Linux with Stallmans 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 wasnt American or that he hadnt 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 ratesometimes 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, lets 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 wheelan almost criminal waste of resources. When one company invents a way to e-mail data from a program directly, for example, competitors cant 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 dont 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 Digitala far cry from the thousands who put each Linux version through the wringer. Moreover, as Torvalds has argued, open-source programmers dont have to worry that fixing one bug might just break a hundred programs that depend on that bug. If Microsoft changes Windows 98, it cant 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, tooand 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 nonintuitivea program for hackers by a hacker, as Torvalds puts itits use would be confined to geeks. Which, to some Linux partisans, was not enough. World Domination? 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 doesnt care much about nice graphical interfaces. Indeed, at first he wasnt sure that Linux would function well with one. But Torvalds ultimately welcomed Miguel de Icazas 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 usermaybe 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 projects 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 dont 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 isnt easy, because the project is creating a desktop that users can configure themselvesin 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 thats all you can do. We want you to be able to customize everything from the ground up. Users who dont want to tinker with the desktop can choose among scores of pre-fab themesalthough 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. The GNOME project aims to emulate what is best about existing interfaces. Microsoft did some things very well, and were trying to learn from them, de Icaza says. At the same time, the project seeks to avoid some of Windows annoying design peculiarities. GNOME users, de Icaza promises flatly, will not turn off their computers by clicking a button labeled Start. Nor will they have to struggle with the Windows taskbar. To bring a program up on the screen, Windows users click once on a taskbar button but, confusingly, must usually click twice on a tray icon. GNOME, de Icaza says, will deliver a more logical interface. Instead of scattering icons around the desktop, where they are covered up by windows, users can drag documents onto the panelthe GNOME version of the task bar. Multiple panels can be kept open in different places on the screen. Because the panels can change appearanceone Doom-influenced theme has a panel made from a line of skulls with icons in their yawning mouthsGNOME, McVoy says, is serious eye candy. Eye candy wont be enough to attract the novices if they cant do anything, though. One of Linuxs most serious weaknesses is the relative paucity of business and home software available to run with the operating system. Few office-suite and game companies offer products that run under Linux. Two exceptions are id Software, which has Linux versions of the popular games Quake and Doom, and Corel, which has come out with WordPerfect for Linux and has promised to create Linux versions of the rest of its office suite. To make up the gap, both GNOME and KDE have launched free-software projects to create word processors and spreadsheets; early test versions are expected in the spring. Microsoft, watching closely, is already proposing measures to counter Linux (see sidebar Goliath Gets Nervous). But Lewis points out that open-source software has one undeniable competitive edge. Microsoft kills its rivals by starving them of revenue, he says. But they cant kill us that way, becuse we dont have any revenue. The free software movement is like Night of the Living Deadwell keep coming at them. Adds Raymond: Theres a Gandhi quote Linux hackers love: First they ignore you. Then they laugh at you. Then they fight you. Then you win.