The Innovators: How a Group of Inventors, Hackers, Geniuses, and Geeks Created the Digital Revolutio - Isaacson Walter. Страница 98

RICHARD STALLMAN, LINUS TORVALDS, AND THE FREE AND OPEN-SOURCE SOFTWARE MOVEMENTS

In late 1983, just as Jobs was preparing to unveil the Macintosh and Gates was announcing Windows, another approach to the creation of software emerged. It was pushed by one of the diehard denizens of the MIT Artificial Intelligence Lab and Tech Model Railroad Club, Richard Stallman, a truth-possessed hacker with the looks of an Old Testament prophet. With even greater moral fervor than the Homebrew Computer Club members who copied tapes of Microsoft BASIC, Stallman believed that software should be collaboratively created and freely shared.117

At first glance, this did not seem like an approach that would provide incentives for people to produce great software. The joy of free sharing wasn’t what motivated Gates, Jobs, and Bricklin. But because there was a collaborative and communitarian ethic that permeated hacker culture, the free and open-source software movements ended up being powerful forces.

Born in 1953, Richard Stallman was intensely interested in math as a child growing up in Manhattan, and he conquered calculus on his own as a young boy. “Mathematics has something in common with poetry,” he later said. “It’s made out of these true relationships, true steps, true deductions, so it has this beauty about it.” Unlike his classmates, he was deeply averse to competition. When his high school teacher divided the students into two teams for a quiz contest, Stallman refused to answer any questions. “I resisted the notion of competing,” he explained. “I saw that I was being manipulated and my classmates were falling prey to this manipulation. They all wanted to beat the other people, who were just as much their friends as were the people on their own team. They started demanding that I answer the questions so we could win. But I resisted the pressure because I had no preference for one team or the other.”118

Stallman went to Harvard, where he became a legend even among the math wizards, and during the summers and after he graduated he worked at the MIT Artificial Intelligence Lab, two subway stops away in Cambridge. There he added to the train track layout at the Tech Model Railroad Club, wrote a PDP-11 simulator to run on the PDP-10, and grew enamored with the collaborative culture. “I became part of a software-sharing community that had existed for many years,” he recalled. “Whenever people from another university or a company wanted to port and use a program, we gladly let them. You could always ask to see the source code.”119

Like a good hacker, Stallman defied restrictions and locked doors. With his fellow students, he devised multiple ways to break into offices where there were forbidden terminals; his own specialty was climbing through the false ceilings, pushing aside a tile, and lowering a long strip of magnetic tape tipped with wads of sticky duct tape to open door handles. When MIT instituted a database of users and a system of strong passwords, Stallman resisted, and he rallied his colleagues to do so as well: “I thought that was disgusting, so I didn’t fill out the form and I created a null-set password.” At one point a professor warned that the university might delete his directory of files. That would be unfortunate for everyone, Stallman replied, since some of the system’s resources were in his directory.120

Unfortunately for Stallman, the hacker camaraderie at MIT began to dissipate in the early 1980s. The lab bought a new time-sharing computer with a software system that was proprietary. “You had to sign a nondisclosure agreement even to get an executable copy,” Stallman lamented. “This meant that the first step in using a computer was to promise not to help your neighbor. A cooperating community was forbidden.”121

Instead of rebelling, many of his colleagues joined for-profit software firms, including a spinoff from the MIT lab called Symbolics, where they made a lot of money by not sharing freely. Stallman, who sometimes slept in his office and looked like he shopped in a thrift store, did not share their money-seeking motivations and regarded them as traitors. The final straw came when Xerox donated a new laser printer and Stallman wanted to institute a software hack so that it would warn users on the network when it jammed. He asked someone to provide the printer’s source code, but he refused, saying he had signed a nondisclosure agreement. Stallman was morally outraged.

All of these events turned Stallman into even more of a Jeremiah, railing against idolatry and preaching from a book of lamentations. “Some people do compare me with an Old Testament prophet, and the reason is Old Testament prophets said certain social practices were wrong,” he asserted. “They wouldn’t compromise on moral issues.”122 Neither would Stallman. Proprietary software was “evil,” he said, because “it required people to agree not to share and that made society ugly.” The way to resist and defeat the forces of evil, he decided, was to create free software.

So in 1982, repelled by the selfishness that seemed to pervade Reagan-era society as well as software entrepreneurs, Stallman embarked on a mission to create an operating system that was free and completely nonproprietary. In order to prevent MIT from making a claim to any rights to it, he quit his job at the Artificial Intelligence Lab, though he was allowed by his indulgent supervisor to keep his key and continue using the lab’s resources. The operating system Stallman decided to develop was one that would be similar to and compatible with UNIX, which had been developed at Bell Labs in 1971 and was the standard for most universities and hackers. With a coder’s subtle humor, Stallman created a recursive acronym for his new operating system, GNU, which stood for GNU’s Not UNIX.

In the March 1985 issue of Dr. Dobb’s Journal, a publication that sprang out of the Homebrew Computer Club and People’s Computer Company, Stallman issued a manifesto: “I consider that the Golden Rule requires that if I like a program I must share it with other people who like it. Software sellers want to divide the users and conquer them, making each user agree not to share with others. I refuse to break solidarity with other users in this way. . . . Once GNU is written, everyone will be able to obtain good system software free, just like air.”123

Stallman’s free software movement was imperfectly named. Its goal was not to insist that all software come free of charge but that it be liberated from any restrictions. “When we call software ‘free,’ we mean that it respects the users’ essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes,” he repeatedly had to explain. “This is a matter of freedom, not price, so think of ‘free speech,’ not ‘free beer.’?”

For Stallman, the free software movement was not merely a way to develop peer-produced software; it was a moral imperative for making a good society. The principles that it promoted were, he said, “essential not just for the individual users’ sake, but for society as a whole because they promote social solidarity—that is, sharing and cooperation.”124

To enshrine and certify his creed, Stallman came up with a GNU General Public License and also the concept, suggested by a friend, of “copyleft,” which is the flipside of asserting a copyright. The essence of the General Public License, Stallman said, is that it gives “everyone permission to run the program, copy the program, modify the program, and distribute modified versions—but not permission to add restrictions of their own.”125

Stallman personally wrote the first components for the GNU operating system, including a text editor, a compiler, and many other tools. But it became increasingly clear that one key element was missing. “What about the kernel?” Byte magazine asked in a 1986 interview. The central module of an operating system, a kernel manages the requests from software programs and turns them into instructions for the computer’s central processing unit. “I’m finishing the compiler before I go to work on the kernel,” Stallman answered. “I am also going to have to rewrite the file system.”126