The Shaggy God
In the early 1980s, two Cambridge firms rose up and began offering the AI Lab hackers serious money. The first, Symbolics, was started by a former AI Lab administrator named Russell Noftsker. The other was Lisp Machine Inc. (LMI), founded by a hacker god named Richard Greenblatt. MIT struck a deal with both companies allowing them use of a programming language that the AI Lab had developed. But Symbolics eventually demanded that MIT not share its improvements to the code with LMI, and the university capitulated. Outraged by what he saw as a predatory move, Stallman clipped off Symbolics' communications link to the lab, then reportedly threatened to wrap himself in dynamite and walk into the company's offices (Stallman calls this absolutely untrue). He then decided to seek a different—but potentially as effective—punishment: He would reverse engineer Symbolics' precious code, creating a version that performed all the needed functions while avoiding copyright infringement. He would hand this prize over to LMI for free, making Symbolics' program worthless. "I thought of it as war," Stallman says—a war that pitted him against roughly a dozen of the best programmers MIT had produced.
Stallman worked round the clock, sleeping when he dropped, then springing up to work some more. He matched the Symbolics code feature for feature, day after grueling day, for two entire years. The Symbolics programmers were astounded to be out-hacked by one guy; Noftsker, the company's president, was furious. "He calls it reverse engineering," he said of Stallman in a book called Hackers. "We call it theft."
"I don't know if I won," Stallman says. "But I didn't lose."
Back in 1980, before his war with Symbolics, Stallman was frustrated that the AI Lab's Xerox laser printer had no system to alert staff members of a paper jam. He wanted the source code so he could fix the problem. But one guy who had the code, a software engineer and former Xerox employee named Robert Sproull, wouldn't hand it over. "I promised not to give you a copy," Stallman says Sproull replied, referring to a promise to Xerox. (Sproull himself does not recall the incident.) "That was shocking and disgusting," Stallman says. "It was a stunning refusal to help."
It was Stallman's first encounter with a nondisclosure agreement, and it infuriated him. In his mind, he began codifying the essential traits that he believed software should possess, the ones that ultimately embodied the essential rights expressed by free software. Eminently sensible as it was to Stallman, it would be a new idea to everyone else.
To make it possible, he had to do something even more stunning: He had to build his own operating system, the program that runs every other program on a computer. After all, a free steering wheel isn't really free if you have to buy a big fancy car for it. As with Symbolics, he wouldn't create the code out of nothing. He'd find proprietary software that he could reverse engineer, tweaking it enough to claim it was materially different. By luck, an operating system called Unix perfectly suited his plans. Created by AT&T, it was widely used in academic settings, where it was prized for its flexibility. In September of 1983, Stallman announced to his Usenet newsgroup, a message board of the proto-Internet: "Starting this Thanksgiving I am going to write a complete Unix-compatible software system called GNU (for Gnu's Not Unix), and give it away free to everyone who can use it. Contributions of time, money, programs and equipment are greatly needed."
He started in with the compiler, the internal translator for all the code streaming through a computer. Stallman thought he'd lucked out when he found a Dutch system called the Free University Compiler Kit. Unfortunately, it wasn't free; its university was—it belonged to the Vrije Universiteit, or Free University, in Amsterdam. He next tried a compiler from the Lawrence Livermore National Lab, at the University of California, but it proved unworkable. He decided he'd have to build his own.
In the meantime, he wanted to create a GNU version of his Emacs editor, which helps computer programmers edit text. For that, he hoped to incorporate the innovations of a grad student named James Gosling at Carnegie Mellon. But Gosling had already sold the rights to a software company called UniPress, which threatened to sue if Stallman went ahead. So Stallman had to reverse engineer the student's alterations to his own program. Completed in 1985, it was the first piece of GNU. Stallman celebrated by sniping at the Goslings of the world in a manifesto on that same message board: "If programmers deserve to be rewarded for creating innovative programs…they deserve to be punished if they restrict the use of these programs." To advance the cause, he set up his Free Software Foundation in 1985, appointing himself the unpaid president, and established the General Public License, also known as "copyleft," which is the movement's bill of rights for users and creators of free software. It was around this time that Stallman started referring to himself as "St. IGNUcious of the Church of Emacs," donning ministerial robes and a computer-disk halo. It was not entirely a joke.
In a frenzy, Stallman went on to create a "debugger" for his operating system, and then returned to the pesky compiler—a massive 110,000 lines of code—in 1987. And on and on, piece by piece. "There were lots of times when I thought it couldn't be done," he admits. "I'd encounter some bug, and I'd try two, three tries to fix it—or I couldn't fix it and I'd think, I'll never get this done, and I'd start screaming."
In 1991, all that was left was the kernel, the brain within the brain of the computer, and thus the most essential component of any operating system, and the hardest part to create. Before Stallman could finish building his, an ingenious young Finnish computer scientist named Linus Torvalds—who was initially inspired by a Stallman speech at the Polytechnic University in Helsinki the year before—played off a Unix-like operating system called Minix to develop a free software system of his own. Incomplete in other respects, it had the kernel that Stallman's lacked—one that meshed so beautifully with the GNU system that it seemed destined for it. Strictly speaking, the complete operating system should have been called GNU/Linux, representing the combined contributions of Stallman and Torvalds. Stallman always insists on the term, pronouncing it "GNU slash Linux." But in the popular mind, it came to be known as only Linux. Stallman has never gotten over that.












Posted by don warner | May. 3, 2008 at 1:55 PM
Posted by capablanca | Jul. 12, 2008 at 5:44 AM