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.