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.”