Introduction
14
operating system and body of application software, in which users would never be prevented from
hacking or from sharing their modifications. He was, in essence, setting out to recreate what had been
destroyed at the AI Lab, but on a world-wide scale and without the vulnerabilities that had made the AI
Lab's culture susceptible to disintegration.
In addition to working on the new operating system, Stallman devised a copyright license whose terms
guaranteed that his code would be perpetually free. The GNU General Public License (GPL) is a clever
piece of legal judo: it says that the code may be copied and modified without restriction, and that both
copies and derivative works (i.e., modified versions) must be distributed under the same license as the
original, with no additional restrictions. In effect, it uses copyright law to achieve an effect opposite
to that of traditional copyright: instead of limiting the software's distribution, it prevents anyone, even
the author, from limiting it. For Stallman, this was better than simply putting his code into the public
domain. If it were in the public domain, any particular copy of it could be incorporated into a proprietary
program (as has also been known to happen to code under permissive copyright licenses). While such
incorporation wouldn't in any way diminish the original code's continued availability, it would have
meant that Stallman's efforts could benefit the enemy—proprietary software. The GPL can be thought
of as a form of protectionism for free software, because it prevents non-free software from taking full
advantage of GPLed code. The GPL and its relationship to other free software licenses are discussed in
detail in Chapter 9, Licenses, Copyrights, and Patents.
With the help of many programmers, some of whom shared Stallman's ideology and some of whom
simply wanted to see a lot of free code available, the GNU Project began releasing free replacements
for many of the most critical components of an operating system. Because of the now-widespread
standardization in computer hardware and software, it was possible to use the GNU replacements on
otherwise non-free systems, and many people did. The GNU text editor (Emacs) and C compiler (GCC)
were particularly successful, gaining large and loyal followings not on ideological grounds, but simply
on their technical merits. By about 1990, GNU had produced most of a free operating system, except for
the kernel—the part that the machine actually boots up, and that is responsible for managing memory,
disk, and other system resources.
Unfortunately, the GNU project had chosen a kernel design that turned out to be harder to implement
than expected. The ensuing delay prevented the Free Software Foundation from making the first release
of an entirely free operating system. The final piece was put into place instead by Linus Torvalds, a
Finnish computer science student who, with the help of volunteers around the world, had completed a
free kernel using a more conservative design. He named it Linux, and when it was combined with the
existing GNU programs, the result was a completely free operating system. For the first time, you could
boot up your computer and do work without using any proprietary software.
5
Much of the software on this new operating system was not produced by the GNU project. In fact, GNU
wasn't even the only group working on producing a free operating system (for example, the code that
eventually became NetBSD and FreeBSD was already under development by this time). The importance
of the Free Software Foundation was not only in the code they wrote, but in their political rhetoric. By
talking about free software as a cause instead of a convenience, they made it difficult for programmers
not to have a political consciousness about it. Even those who disagreed with the FSF had to engage
the issue, if only to stake out a different position. The FSF's effectiveness as propagandists lay in tying
their code to a message, by means of the GPL and other texts. As their code spread widely, that message
spread as well.
Accidental resistance
There were many other things going on in the nascent free software scene, however, and few were as
explictly ideological as Stallman's GNU Project. One of the most important was the Berkeley Software
5
Technically, Linux was not the first. A free operating system for IBM-compatible computers, called 386BSD, had come out
shortly before Linux. However, it was a lot harder to get 386BSD up and running. Linux made such a splash not only because it
was free, but because it actually had a high chance of booting your computer when you installed it.