To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. â€”Preamble to the GNU General Public License
The use of novel, unconventional copyright licenses is, without a doubt, the most widely recognized and exquisitely refined component of Free Software. The GNU General Public License (GPL), written initially by Richard Stallman, is often referred to as a beautiful, clever, powerful â€œhackâ€ of intellectual-property lawâ€”when it isnâ€™t being denounced as a viral, infectious object threatening the very fabric of economy and society. The very fact that something so boring, so arcane, and so legalistic as a copyright license can become an object of both devotional reverence and bilious scorn means there is much more than fine print at stake.
By the beginning of the twenty-first century, there were hundreds of different Free Software licenses, each with subtle legal and technical differences, and an enormous legal literature to explain their details, motivation, and impact.1 Free Software licenses differ from conventional copyright licenses on software because they usually restrict only the terms of distribution, while so-called End User License Agreements (EULAs) that accompany most proprietary software restrict what users can do with the software. Ethnographically speaking, licenses show up everywhere in the field, and contemporary hackers are some of the most legally sophisticated non-lawyers in the world. Indeed, apprenticeship in the world of hacking is now impossible, as Gabriella Coleman has shown, without a long, deep study of intellectual-property law.2
But how did it come to be this way? As with the example of sharing UNIX source code, Free Software licenses are often explained as a reaction to expanding intellectual-property laws and resistance to rapacious corporations. The text of the GPL itself begins deep in such assumptions: â€œThe licenses for most software are designed to take away your freedom to share and change it.â€3 But even if corporations are rapacious, sharing and modifying software are by no means natural human activities. The ideas of sharing and of common property and its relation to freedom must always be produced through specific practices of sharing, before being defended. The GPL is a precise example of how geeks fit together the practices of sharing and modifying software with the moral and technical ordersâ€”the social imaginariesâ€”of freedom and autonomy. It is at once an exquisitely precise legal document and the expression of an idea of how software should be made available, shareable, and modifiable.
In this chapter I tell the story of the creation of the GPL, the first Free Software license, during a controversy over EMACS, a very widely used and respected piece of software; the controversy concerned the reuse of bits of copyrighted source code in a version of EMACS ported to UNIX. There are two reasons to retell this story carefully. The first is simply to articulate the details of the origin of the Free Software license itself, as a central component of Free Software, details that should be understood in the context of changing copyright law and the UNIX and open-systems struggles of the 1980s. Second, although the story of the GPL is also an oft-told story of the â€œhacker ethic,â€ the GPL is not an â€œexpressionâ€ of this [PAGE 181] ethic, as if the ethic were genotype to a legal phenotype. Opposite the familiar story of ethics, I explain how the GPL was â€œfigured outâ€ in the controversy over EMACS, how it was formed in response to a complicated state of affairs, both legal and technical, and in a medium new to all the participants: the online mailing lists and discussion lists of Usenet and Arpanet.4
The story of the creation of the GNU General Public License ultimately affirms the hacker ethic, not as a story of the ethical hacker genius, but as a historically specific event with a duration and a context, as something that emerges in response to the reorientation of knowledge and power, and through the active modulation of existing practices among both human and nonhuman actors. While hackers themselves might understand the hacker ethic as an unchanging set of moral norms, their practices belie this belief and demonstrate how ethics and norms can emerge suddenly and sharply, undergo repeated transformations, and bifurcate into ideologically distinct camps (Free Software vs. Open Source), even as the practices remain stable relative to them. The hacker ethic does not descend from the heights of philosophy like the categorical imperativeâ€”hackers have no Kant, nor do they want one. Rather, as Manuel Delanda has suggested, the philosophy of Free Software is the fact of Free Software itself, its practices and its things. If there is a hacker ethic, it is Free Software itself, it is the recursive public itself, which is much more than a list of norms.5 By understanding it in this way, it becomes possible to track the proliferation and differentiation of the hacker ethic into new and surprising realms, instead of assuming its static universal persistence as a mere procedure that hackers execute.
Free Software Licenses, Once More with Feeling
In lecturing on liberalism in 1935, John Dewey said the following of Jeremy Bentham: â€œHe was, we might say, the first great muck-raker in the field of law . . . but he was more than that, whenever he saw a defect, he proposed a remedy. He was an inventor in law and administration, as much so as any contemporary in mechanical production.â€6 Deweyâ€™s point was that the liberal reforms attributed to Bentham came not so much from his theories as from his direct involvement in administrative and legal reformâ€”his experimentation. [PAGE 182] Whether or not Benthamâ€™s influence is best understood this way, it nonetheless captures an important component of liberal reform in Europe and America that is also a key component in the story of Free Software: that the route to achieving change is through direct experiment with the system of law and administration.
A similar story might be told of Richard Stallman, hacker hero and founder of the Free Software Foundation, creator of (among many other things) the GNU C Compiler and GNU EMACS, two of the most widely used and tested Free Software tools in the world. Stallman is routinely abused for holding what many perceive to be â€œdogmaticâ€ or â€œintractableâ€ ideological positions about freedom and the right of individuals to do what they please with software. While it is no doubt quite true that his speeches and writings clearly betray a certain fervor and fanaticism, it would be a mistake to assume that his speeches, ideas, or belligerent demands concerning word choice constitute the real substance of his reform. In fact, it is the software he has created and the licenses he has written and rewritten which are the key to his Bentham-like inventiveness. Unlike Bentham, however, Stallman is not a creator of law and administrative structure, but a hacker.
Stallmanâ€™s GNU General Public License â€œhacksâ€ the federal copyright law, as is often pointed out. It does this by taking advantage of the very strong rights granted by federal law to actually loosen the restrictions normally associated with ownership. Because the statutes grant owners strong powers to create restrictions, Stallmanâ€™s GPL contains the restriction that anybody can use the licensed material, for any purpose, so long as they subsequently offer the same restriction. Hacks (after which hackers are named) are clever solutions to problems or shortcomings in technology. Hacks are work-arounds, clever, shortest-path solutions that take advantage of characteristics of the system that may or may not have been obvious to the people who designed it. Hacks range from purely utilitarian to mischievously pointless, but they always depend on an existing system or tool through which they achieve their point. To call Free Software a hack is to point out that it would be nothing without the existence of intellectual-property law: it relies on the structure of U.S. copyright law (USCÂ§17) in order to subvert it. Free Software licenses are, in a sense, immanent to copyright lawsâ€”there is nothing illegal or even legally arcane about what they accomplishâ€”but there is nonetheless a kind of lingering sense [PAGE 183] that this particular use of copyright was not how the law was intended to function.
Like all software since the 1980 copyright amendments, Free Software is copyrightableâ€”and whatâ€™s more, automatically copyrighted as it is written (there is no longer any requirement to register). Copyright law grants the author (or the employer of the author) a number of strong rights over the dispensation of what has been written: rights to copy, distribute, and change the work.7 Free Softwareâ€™s hack is to immediately make use of these rights in order to abrogate the rights the programmer has been given, thus granting all subsequent licensees rights to copy, distribute, modify, and use the copyrighted software. Some licenses, like the GPL, add the further restriction that every licensee must offer the same terms to any subsequent licensee, others make no such restriction on subsequent uses. Thus, while statutory law suggests that individuals need strong rights and grants them, Free Software licenses effectively annul them in favor of other activities, such as sharing, porting, and forking software. It is for this reason that they have earned the name â€œcopyleft.â€8
This is a convenient ex post facto description, however. Neither Stallman nor anyone else started out with the intention of hacking copyright law. The hack of the Free Software licenses was a response to a complicated controversy over a very important invention, a tool that in turn enabled an invention called EMACS. The story of the controversy is well-known among hackers and geeks, but not often told, and not in any rich detail, outside of these small circles.9
EMACS, the Extensible, Customizable, Self-documenting, Real-time Display Editor
EMACS is a text editor; it is also something like a religion. As one of the two most famous text editors, it is frequently lauded by its devoted users and attacked by detractors who prefer its competitor (Bill Joyâ€™s vi, also created in the late 1970s). EMACS is more than just a tool for writing text; for many programmers, it was (and still is) the principal interface to the operating system. For instance, it allows a programmer not only to write a program but also to debug it, to compile it, to run it, and to e-mail it to another user, [PAGE 184] all from within the same interface. Whatâ€™s more, it allows users to quickly and easily write extensions to EMACS itself, extensions that automate frequent tasks and in turn become core features of the software. It can do almost anything, but it can also frustrate almost anyone. The name itself is taken from its much admired extensibility: EMACS stands for â€œediting macrosâ€ because it allows programmers to quickly record a series of commands and bundle them into a macro that can be called with a simple key combination. In fact, it was one of the first editors (if not the first) to take advantage of keys like ctrl and meta, as in the now ubiquitous ctrl-S familiar to users of non-free word processors like Microsoft Wordâ„¢.
Appreciate the innovation represented by EMACS: before the UNIX-dominated minicomputer era, there were very few programs for directly manipulating text on a display. To conceive of source code as independent of a program running on a machine meant first conceiving of it as typed, printed, or hand-scrawled code which programmers would scrutinize in its more tangible, paper-based form. Editors that allowed programmers to display the code in front of them on a screen, to manipulate it directly, and to save changes to those files were an innovation of the mid- to late 1960s and were not widespread until the mid-1970s (and this only for bleeding-edge academics and computer corporations). Along with a few early editors, such as QED (originally created by Butler Lampson and Peter Deutsch, and rewritten for UNIX by Ken Thompson), one of the most famous of these was TECO (text editor and corrector), written by Dan Murphy for DECâ€™s PDP-1 computer in 1962â€“63. Over the years, TECO was transformed (ported and extended) to a wide variety of machines, including machines at Berkeley and MIT, and to other DEC hardware and operating systems. By the early 1970s, there was a version of TECO running on the Incompatible Time-sharing System (ITS), the system in use at MITâ€™s Artificial Intelligence (AI) Lab, and it formed the basis for EMACS. (Thus, EMACS was itself conceived of as a series of macros for a separate editor: Editing MACroS for TECO.)
Like all projects on ITS at the AI Lab, many people contributed to the extension and maintenance of EMACS (including Guy Steele, Dave Moon, Richard Greenblatt, and Charles Frankston), but there is a clear recognition that Stallman made it what it was. The earliest AI Lab memo on EMACS, by Eugene Ciccarelli, says: â€œFinally, of all the people who have contributed to the development of EMACS, [PAGE 185] and the TECO behind it, special mention and appreciation go to Richard M. Stallman. He not only gave TECO the power and generality it has, but brought together the good ideas of many different Teco-function packages, added a tremendous amount of new ideas and environment, and created EMACS. Personally one of the joys of my avocational life has been writing Teco/EMACS functions; what makes this fun and not painful is the rich set of tools to work with, all but a few of which have an â€˜RMSâ€™ chiseled somewhere on them.â€10
At this point, in 1978, EMACS lived largely on ITS, but its reputation soon spread, and it was ported to DECâ€™s TOPS-20 (Twenex) operating system and rewritten for Multics and the MITâ€™s LISP machine, on which it was called EINE (Eine Is Not EMACS), and which was followed by ZWEI (Zwei Was Eine Initially).
The proliferation of EMACS was both pleasing and frustrating to Stallman, since it meant that the work fragmented into different projects, each of them EMACS-like, rather than building on one core project, and in a 1981 report he said, â€œThe proliferation of such superficial facsimiles of EMACS has an unfortunate confusing effect: their users, not knowing that they are using an imitation of EMACS and never having seen EMACS itself, are led to believe they are enjoying all the advantages of EMACS. Since any real-time display editor is a tremendous improvement over what they probably had before, they believe this readily. To prevent such confusion, we urge everyone to refer to a nonextensible imitation of EMACS as an â€˜ersatz EMACS.â€™ â€11
Thus, while EMACS in its specific form on ITS was a creation of Stallman, the idea of EMACS or of any â€œreal-time display editorâ€ was proliferating in different forms and on different machines. The porting of EMACS, like the porting of UNIX, was facilitated by both its conceptual design integrity and its widespread availability.
The phrase â€œnonextensible imitationâ€ captures the combination of design philosophy and moral philosophy that EMACS represented. Extensibility was not just a useful feature for the individual computer user; it was a way to make the improvements of each new user easily available equally to all by providing a standard way for users to add extensions and to learn how to use new extensions that were added (the â€œself-documentingâ€ feature of the system). The program had a conceptual integrity that was compromised when it was copied imperfectly. EMACS has a modular, extensible design [PAGE 186] that by its very nature invites users to contribute to it, to extend it, and to make it perform all manner of tasksâ€”to literally copy and modify it, instead of imitating it. For Stallman, this was not only a fantastic design for a text editor, but an expression of the way he had always done things in the small-scale setting of the AI Lab. The story of Stallmanâ€™s moral commitments stresses his resistance to secrecy in software production, and EMACS is, both in its design and in Stallmanâ€™s distribution of it an example of this resistance.
Not everyone shared Stallmanâ€™s sense of communal order, however. In order to facilitate the extension of EMACS through sharing, Stallman started something he called the â€œEMACS commune.â€ At the end of the 1981 reportâ€”â€œEMACS: The Extensible, Customizable Self-documenting Display Editor,â€ dated 26 Marchâ€”he explained the terms of distribution for EMACS: â€œIt is distributed on a basis of communal sharing, which means that all improvements must be given back to me to be incorporated and distributed. Those who are interested should contact me. Further information about how EMACS works is available in the same way.â€12
In another report, intended as a userâ€™s manual for EMACS, Stallman gave more detailed and slightly more colorful instructions:
EMACS does not cost anything; instead, you are joining the EMACS software-sharing commune. The conditions of membership are that you must send back any improvements you make to EMACS, including any libraries you write, and that you must not redistribute the system except exactly as you got it, complete. (You can also distribute your customizations, separately.) Please do not attempt to get a copy of EMACS, for yourself or anyone else, by dumping it off of your local system. It is almost certain to be incomplete or inconsistent. It is pathetic to hear from sites that received incomplete copies lacking the sources [source code], asking me years later whether sources are available. (All sources are distributed, and should be on line at every site so that users can read them and copy code from them). If you wish to give away a copy of EMACS, copy a distribution tape from MIT, or mail me a tape and get a new one.13
Because EMACS was so widely admired and respected, Stallman had a certain amount of power over this commune. If it had been an obscure, nonextensible tool, useful for a single purpose, no one would have heeded such demands, but because EMACS was by nature the kind of tool that was both useful for all kinds of tasks and [PAGE 187] customizable for specific ones, Stallman was not the only person who benefited from this communal arrangement. Two disparate sites may well have needed the same macro extension, and therefore many could easily see the social benefit in returning extensions for inclusion, as well as in becoming a kind of co-developer of such a powerful system. As a result, the demands of the EMACS commune, while unusual and autocratic, were of obvious value to the flock. In terms of the concept of recursive public, EMACS was itself the tool through which it was possible for users to extend EMACS, the medium of their affinity; users had a natural incentive to share their contributions so that all might receive the maximum benefit.
The terms of the EMACS distribution agreement were not quite legally binding; nothing compelled participation except Stallmanâ€™s reputation, his hectoring, or a userâ€™s desire to reciprocate. On the one hand, Stallman had not yet chosen to, or been forced to, understand the details of the legal system, and so the EMACS commune was the next best thing. On the other hand, the state of intellectual-property law was in great flux at the time, and it was not clear to anyone, whether corporate or academic, exactly what kind of legal arrangements would be legitimate (the 1976 changes to copyright law were some of the most drastic in seventy years, and a 1980 amendment made software copyrightable, but no court cases had yet tested these changes). Stallmanâ€™s â€œagreementâ€ was a set of informal rules that expressed the general sense of mutual aid that was a feature of both the design of the system and Stallmanâ€™s own experience at the AI Lab. It was an expression of the way Stallman expected others to behave, and his attempts to punish or shame people amounted to informal enforcement of these expectations. The small scale of the community worked in Stallmanâ€™s favor.
At its small scale, Stallmanâ€™s commune was confronting many of the same issues that haunted the open-systems debates emerging at the same time, issues of interoperability, source-code sharing, standardization, portability, and forking. In particular, Stallman was acutely aware of the blind spot of open systems: the conflict of moral-technical orders represented by intellectual property. While UNIX vendors left intellectual-property rules unchallenged and simply assumed that they were the essential ground rules of debate, Stallman made them the substance of his experiment and, like Bentham, became something of a legal muckraker as a result.
Stallmanâ€™s communal model could not completely prevent the porting and forking of software. Despite Stallmanâ€™s request that imitators refer to their versions of EMACS as ersatz EMACS, few did. In the absence of legal threats over a trademarked term there was not much to stop people from calling their ports and forks EMACS, a problem of success not unlike that of Kleenex or Xerox. Few people took the core ideas of EMACS, implemented them in an imitation, and then called it something else (EINE and ZWEI were exceptions). In the case of UNIX the proliferation of forked versions of the software did not render them any less UNIX, even when AT&T insisted on ownership of the trademarked name. But as time went on, EMACS was ported, forked, rewritten, copied, or imitated on different operating systems and different computer architectures in universities and corporations around the world; within five or six years, many versions of EMACS were in wide use. It was this situation of successful adoption that would provide the context for the controversy that occurred between 1983 and 1985.
In brief the controversy was this: in 1983 James Gosling decided to sell his version of EMACSâ€”a version written in C for UNIX called GOSMACSâ€”to a commercial software vendor called Unipress. GOSMACS, the second most famous implementation of EMACS (after Stallmanâ€™s itself ), was written when Gosling was a graduate student at Carnegie Mellon University. For years, Gosling had distributed GOSMACS by himself and had run a mailing list on Usenet, on which he answered queries and discussed extensions. Gosling had explicitly asked people not to redistribute the program, but to come back to him (or send interested parties to him directly) for new versions, making GOSMACS more of a benevolent dictatorship than a commune. Gosling maintained his authority, but graciously accepted revisions and bug-fixes and extensions from users, incorporating them into new releases. Stallmanâ€™s system, by contrast, allowed users to distribute their extensions themselves, as well as have them included in the â€œofficialâ€ EMACS. By 1983, Gosling had decided he was unable to effectively maintain and support GOSMACSâ€”a task he considered the proper role of a corporation.
For Stallman, Goslingâ€™s decision to sell GOSMACS to Unipress was â€œsoftware sabotage.â€ Even though Gosling had been substantially responsible for writing GOSMACS, Stallman felt somewhat proprietorial toward this ersatz versionâ€”or, at the very least, was irked that no noncommercial UNIX version of EMACS existed. So Stallman wrote one himself (as part of a project he announced around the same time, called GNU [GNUâ€™s Not UNIX], to create a complete non-AT&T version of UNIX). He called his version GNU EMACS and released it under the same EMACS commune terms. The crux of the debate hinged on the fact that Stallman used, albeit ostensibly with permission, a small piece of Goslingâ€™s code in his new version of EMACS, a fact that led numerous people, including the new commercial suppliers of EMACS, to cry foul. Recriminations and legal threats ensued and the controversy was eventually resolved when Stallman rewrote the offending code, thus creating an entirely â€œGosling-freeâ€ version that went on to become the standard UNIX version of EMACS.
The story raises several questions with respect to the changing legal context. In particular, it raises questions about the difference between â€œlaw on the booksâ€ and â€œlaw in action,â€ that is, the difference between the actions of hackers and commercial entities, advised by lawyers and legally minded friends, and the text and interpretation of statutes as they are written by legislators and interpreted by courts and lawyers. The legal issues span trade secret, patent, and trademark, but copyright is especially significant. Three issues were undecided at the time: the copyrightability of software, the definition of what counts as software and what doesnâ€™t, and the meaning of copyright infringement. While the controversy did not resolve any of these issues (the first two would be resolved by Congress and the courts, the third remains somewhat murky), it did clarify the legal issues for Stallman sufficiently that he could leave behind the informal EMACS commune and create the first version of a Free Software license, the GNU General Public License, which first started appearing in 1985.
Goslingâ€™s decision to sell GOSMACS, announced in April of 1983, played into a growing EMACS debate being carried out on the GOSMACS mailing list, a Usenet group called net.emacs. Since net.emacs was forwarded to the Arpanet via a gateway maintained by John Gilmore at Sun Microsystems, a fairly large community [PAGE 190] of EMACS users were privy to Goslingâ€™s announcement. Prior to his declaration, there had been quite a bit of discussion regarding different versions of EMACS, including an already â€œcommercialâ€ version called CCA EMACS, written by Steve Zimmerman, of Computer Corporation of America (CCA).14 Some readers wanted comparisons between CCA EMACS and GOSMACS; others objected that it was improper to discuss a commercial version on the list: was such activity legitimate, or should it be carried out as part of the commercial companyâ€™s support activities? Goslingâ€™s announcement was therefore a surprise, since it was already perceived to be the â€œnoncommercialâ€ version.
Date: Tue Apr 12 04:51:12 1983
Subject: EMACS goes commercial
The version of EMACS that I wrote is now available commercially through a company called Unipress. . . . They will be doing development, maintenance and will be producing a real manual. EMACS will be available on many machines (it already runs on VAXen under Unix and VMS, SUNs, codatas, and Microsoft Xenix). Along with this, I regret to say that I will no longer be distributing it.
This is a hard step to take, but I feel that it is necessary. I can no longer look after it properly, there are too many demands on my time. EMACS has grown to be completely unmanageable. Its popularity has made it impossible to distribute free: just the task of writing tapes and stuffing them into envelopes is more than I can handle.
The alternative of abandoning it to the public domain is unacceptable. Too many other programs have been destroyed that way.
Please support these folks. The effort that they can afford to put into looking after EMACS is directly related to the support they get. Their prices are reasonable.
The message is worth paying careful attention to: Goslingâ€™s work of distributing the tapes had become â€œunmanageable,â€ and the work of maintenance, upkeep, and porting (making it available on multiple architectures) is something he clearly believes should be done by a commercial enterprise. Gosling, it is clear, did not understand his effort in creating and maintaining EMACS to have emerged from a communal sharing of bits of codeâ€”even if he had done a Sisyphean amount of work to incorporate all the changes and suggestions his users had madeâ€”but he did long have a commit[PAGE 191]ment to distributing it for free, a commitment that resulted in many people contributing bits and pieces to GOSMACS.
â€œFree,â€ however, did not mean â€œpublic domain,â€ as is clear from his statement that â€œabandoning itâ€ to the public domain would destroy the program. The distinction is an important one that was, and continues to be, lost on many sophisticated members of net.emacs. Here, free means without charge, but Gosling had no intention of letting that word suggest that he was not the author, owner, maintainer, distributor, and sole beneficiary of whatever value GOSMACS had. Public domain, by contrast, implied giving up all these rights.16 His decision to sell GOSMACS to Unipress was a decision to transfer these rights to a company that would then charge for all the labor he had previously provided for no charge (for â€œfreeâ€). Such a distinction was not clear to everyone; many people considered the fact that GOSMACS was free to imply that it was in the public domain.17 Not least of these was Richard Stallman, who referred to Goslingâ€™s act as â€œsoftware sabotageâ€ and urged people to avoid using the â€œsemi-ersatzâ€ Unipress version.18
To Stallman, the advancing commercialization of EMACS, both by CCA and by Unipress, was a frustrating state of affairs. The commercialization of CCA had been of little concern so long as GOSMACS remained free, but with Goslingâ€™s announcement, there was no longer a UNIX version of EMACS available. To Stallman, however, â€œfreeâ€ meant something more than either â€œpublic domainâ€ or â€œfor no cost.â€ The EMACS commune was designed to keep EMACS alive and growing as well as to provide it for freeâ€”it was an image of community stewardship, a community that had included Gosling until April 1983.
The disappearance of a UNIX version of EMACS, as well as the sudden commercial interest in making UNIX into a marketable operating system, fed into Stallmanâ€™s nascent plan to create a completely new, noncommercial, non-AT&T UNIX operating system that he would give away free to anyone who could use it. He announced his intention on 27 September 1983:19
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.
Why I Must Write GNU
I consider that the golden rule requires that if I like a program I must share it with other people who like it. I cannot in good conscience sign a nondisclosure agreement or a software license agreement.
So that I can continue to use computers without violating my principles, I have decided to put together a sufficient body of free software so that I will be able to get along without any software that is not free.20
At that point, it is clear, there was no â€œfree software license.â€ There was the word free, but not the term public domain. There was the â€œgolden rule,â€ and there was a resistance to nondisclosure and license arrangements in general, but certainly no articulated conception of copyleft of Free Software as a legally distinct entity. And yet Stallman hardly intended to â€œabandon itâ€ to the public domain, as Gosling suggested. Instead, Stallman likely intended to require the same EMACS commune rules to apply to Free Software, rules that he would be able to control largely by overseeing (in a nonlegal sense) who was sent or sold what and by demanding (in the form of messages attached to the software) that any modifications or improvements come in the form of donations. It was during the period 1983â€“85 that the EMACS commune morphed into the GPL, as Stallman began adding copyrights and appending messages that made explicit what people could do with the software.21
The GNU project initially received little attention, however; scattered messages to net.unix-wizards over the course of 1983â€“84 periodically ask about the status and how to contact them, often in the context of discussions of AT&T UNIX licensing practices that were unfolding as UNIX was divested and began to market its own version of UNIX.22 Stallmanâ€™s original plan for GNU was to start with the core operating system, the kernel, but his extensive work on EMACS and the sudden need for a free EMACS for UNIX led him to start with a UNIX version of EMACS. In 1984 and into 1985, he and others began work on a UNIX version of GNU EMACS. The two commercial versions of UNIX EMACS (CCA EMACS and Unipress EMACS) continued to circulate and improve in parallel. DEC users meanwhile used the original free version created by Stallman. And, as often happens, life went on: Zimmerman left CCA in Au[PAGE 193]gust 1984, and Gosling moved to Sun, neither of them remaining closely involved in the software they had created, but leaving the new owners to do so.
By March 1985, Stallman had a complete version (version 15) of GNU EMACS running on the BSD 4.2 version of UNIX (the version Bill Joy had helped create and had taken with him to form the core of Sunâ€™s version of UNIX), running on DECâ€™s VAX computers. Stallman announced this software in a characteristically flamboyant manner, publishing in the computer programmersâ€™ monthly magazine Dr. Dobbs an article entitled â€œThe GNU Manifesto.â€23
Stallmanâ€™s announcement that a free version of UNIX EMACS was available caused some concern among commercial distributors. The main such concern was that GNU EMACS 15.34 contained code marked â€œCopyright (c) James Gosling,â€ code used to make EMACS display on screen.24 The â€œdiscoveryâ€ (not so difficult, since Stallman always distributed the source code along with the binary) that this code had been reused by Stallman led to extensive discussion among EMACS users of issues such as the mechanics of copyright, the nature of infringement, the definition of software, the meaning of public domain, the difference between patent, copyright, and trade secret, and the mechanics of permission and its grantingâ€”in short, a discussion that would be repeatedly recapitulated in nearly every software and intellectual property controversy in the future.
The story of the controversy reveals the structure of rumor on the Usenet to be a bit like the childâ€™s game of Chinese Whispers, except that the translations are all archived. GNU EMACS 15.34 was released in March 1985. Between March and early June there was no mention of its legal status, but around June 3 messages on the subject began to proliferate. The earliest mention of the issue appeared not on net.emacs, but on fa.info-vaxâ€”a newsgroup devoted to discussions of VAX computer systems (â€œfaâ€ stands for â€œfrom Arpanetâ€)â€”and it included a dialogue, between Ron Natalie and Marty Sasaki, labeled â€œGNU EMACS: How Public Domain?â€: â€œFOO, donâ€™t expect that GNU EMACS is really in the public domain. UNIPRESS seems rather annoyed that there are large portions of it that are marked copyright James Gosling.â€25 This message was reprinted on 4 June 1985 on net.emacs, with the addendum: â€œRMSâ€™s work is based on a version of Gosling code that existed before Unipress got it. Gosling had put that code into the public domain. Any [PAGE 194] work taking off from the early Gosling code is therefore also public domain.â€26
The addendum was then followed by an extensive reply from Zimmerman, whose CCA EMACS had been based on Warren Montgomeryâ€™s Bell Labs EMACS but rewritten to avoid reusing the code, which may account for why his understanding of the issue seems to have been both deep and troubling for him.
This is completely contrary to Goslingâ€™s public statements. Before he made his arrangements with Unipress, Goslingâ€™s policy was that he would send a free copy of his EMACS to anyone who asked, but he did not (publicly, at least) give anyone else permission to make copies. Once Unipress started selling Goslingâ€™s EMACS, Gosling stopped distributing free copies and still did not grant anyone else permission to make them; instead, he suggested that people buy EMACS from Unipress. All versions of Goslingâ€™s EMACS distributed by him carry his copyright notice, and therefore none of them are in the public domain. Removing copyright notices without the authorâ€™s permission is, of course, illegal. Now, a quick check of my GNU EMACS sources shows that sure enough, a number of files have Goslingâ€™s copyright notice in them. What this all means is that unless RMS got written permission from Gosling to distribute his code, all copies of GNU EMACS constitute violations of the copyright law. All those people making such copies, including those people who allow them to be copied off their machines, could each be liable for large sums of money. I think that RMS had better tell us if he has Goslingâ€™s written permission to make these copies. If so, why has he not stated this earlier (preferably in the distribution itself ) and thereby cleared up a potentially major point of confusion? If not, why has he gone ahead and made many, many people liable for criminal prosecution by recommending that they distribute this code without even warning them of their liability? (People who distribute this code would be liable even if they claim that they didnâ€™t see Goslingâ€™s notices; the fact that the notices are there is sufficient. â€œIgnorance of the law is no excuse.â€)
Now, I have nothing against free software; itâ€™s a free country and people can do what they want. Itâ€™s just that people who do distribute free software had better be sure that they have the legal right to do so, or be prepared to face the consequences. (Jun 9, 1985).27
Stallman replied the next day.
Nobody has any reason to be afraid to use or distribute GNU EMACS. It is well known that I do not believe any software is anyoneâ€™s property. However, for the GNU project, I decided it was necessary to obey the law. I have refused to look at code I did not have permission to distribute. About 5% of GNU EMACS is close to (though quite a bit changed from) an old version of Gosling EMACS. I am distributing it for Fen Labalme, who received permission from Gosling to distribute it. It is therefore legal for me to do so. To be scrupulously legal, I put statements at the front of the files concerned, describing this situation.
I donâ€™t see anything I should warn people aboutâ€”except that Zimmerman is going to try to browbeat them.28
Stallmanâ€™s original defense for using Goslingâ€™s code was that he had permission to do so. According to him, Fen Labalme had received written permissionâ€”whether to make use of or to redistribute is not clearâ€”the display code that was included in GNU EMACS 15.34. According to Stallman, versions of Labalmeâ€™s version of Goslingâ€™s version of EMACS were in use in various places (including at Labalmeâ€™s employer, Megatest), and Stallman and Labalme considered this a legally defensible position.29
Over the next two weeks, a slew of messages attempted to pick apart and understand the issues of copyright, ownership, distribution, and authorship. Gosling wrote to clarify that GOSMACS had never been in the public domain, but that â€œunfortunately, two moves have left my records in a shambles,â€ and he is therefore silent on the question of whether he granted permission.30 Goslingâ€™s claim could well be strategic: giving permission, had he done so, might have angered Unipress, which expected exclusive control over the version he had sold; by the same token, he may well have approved of Stallmanâ€™s re-creation, but not have wanted to affirm this in any legally actionable way. Meanwhile, Zimmerman relayed an anonymous message suggesting that some lawyers somewhere found the â€œthird hand redistributionâ€ argument was legally â€œall wet.â€31
Stallmanâ€™s biggest concern was not so much the legality of his own actions as the possibility that people would choose not to use the software because of legal threats (even if such threats were issued only as rumors by former employees of companies that distributed software they had written). Stallman wanted users not only [PAGE 196] to feel safe using his software but to adopt his view that software exists to be shared and improved and that anything that hinders this is a loss for everyone, which necessitates an EMACS commune.
Stallmanâ€™s legal grounds for using Goslingâ€™s code may or may not have been sound. Zimmerman did his best throughout to explain in detail what kind of permission Stallman and Labalme would have needed, drawing on his own experience with the CCA lawyers and AT&T Bell Labs, all the while berating Stallman for not creating the display code himself. Meanwhile, Unipress posted an official message that said, â€œUniPress wants to inform the community that portions of the GNU EMACS program are most definitely not public domain, and that use and/or distribution of the GNU EMACS program is not necessarily proper.â€32 The admittedly vague tone of the message left most people wondering what that meantâ€”and whether Unipress intended to sue anyone. Strategically speaking, the company may have wished to maintain good will among hackers and readers of net.emacs, an audience likely composed of many potential customers. Furthermore, if Gosling had given permission to Stallman, then Unipress would themselves have been on uncertain legal ground, unable to firmly and definitively threaten users of GNU EMACS with legal action. In either case, the question of whether or not permission was needed was not in questionâ€”only the question of whether it had been granted.33
However, a more complicated legal issue also arose as a result, one concerning the status of code contributed to Gosling by others. Fen Labalme wrote a message to net.emacs, which, although it did not clarify the legal status of Goslingâ€™s code (Labalme was also unable to find his â€œpermissionâ€ from Gosling), did raise a related issue: the fact that he and others had made significant contributions to GOSMACS, which Gosling had incorporated into his version, then sold to Unipress without their permission: â€œAs one of the â€˜othersâ€™ who helped to bring EMACS [GOSMACS] up to speed, I was distressed when Jim sold the editor to UniPress. This seemed to be a direct violation of the trust that I and others had placed in Jim as we sent him our improvements, modifications, and bug fixes. I am especially bothered by the general mercenary attitude surrounding EMACS which has taken over from the once proud â€˜hackerâ€™ ethicâ€”EMACS is a tool that can make all of our lives better. Letâ€™s help it to grow!â€34
Labalmeâ€™s implication, though he may not even have realized this himself, is that Gosling may have infringed on the rights of others in selling the code to Unipress, as a separate message from Joaquim Martillo makes clear: â€œThe differences between current version of Unipress EMACS and Gnu EMACS display.c (a 19 page module) is about 80%. For all the modules which Fen LeBalme [sic] gave RMS permission to use, the differences are similar. Unipress is not even using the disputed software anymore! Now, these modules contain code people like Chris Torek and others contributed when Goslingâ€™s emacs was in the public domain. I must wonder whether these people would have contributed had they known their freely-given code was going to become part of someoneâ€™s product.â€35
Indeed, the general irony of this complicated situation was certainly not as evident as it might have been given the emotional tone of the debates: Stallman was using code from Gosling based on permission Gosling had given to Labalme, but Labalme had written code for Gosling which Gosling had commercialized without telling Labalmeâ€”conceivably, but not likely, the same code. Furthermore, all of them were creating software that had been originally conceived in large part by Stallman (but based on ideas and work on TECO, an editor written twenty years before EMACS), who was now busy rewriting the very software Gosling had rewritten for UNIX. The â€œonce proud hacker ethicâ€ that Labalme mentions would thus amount not so much to an explicit belief in sharing so much as a fast-and-loose practice of making contributions and fixes without documenting them, giving oral permission to use and reuse, and â€œlosingâ€ records that may or may not have existedâ€”hardly a noble enterprise.
But by 27 June 1985, all of the legal discussion was rendered moot when Stallman announced that he would completely rewrite the display code in EMACS.
I have decided to replace the Gosling code in GNU EMACS, even though I still believe Fen and I have permission to distribute that code, in order to keep peopleâ€™s confidence in the GNU project.
I came to this decision when I found, this night, that I saw how to rewrite the parts that had seemed hard. I expect to have the job done by the weekend.36
On 5 July, Stallman sent out a message that said:
Celebrate our independence from Unipress!
EMACS version 16, 100% Gosling-free, is now being tested at several places. It appears to work solidly on Vaxes, but some other machines have not been tested yet.37
The fact that it only took one week to create the code is a testament to Stallmanâ€™s widely recognized skills in creating great softwareâ€”it doesnâ€™t appear to have indicated any (legal) threat or urgency. Indeed, even though Unipress seems also to have been concerned about their own reputation, and despite the implication made by Stallman that they had forced this issue to happen, they took a month to respond. At that point, the Unipress employee Mike Gallaher wrote to insist, somewhat after the fact, that Unipress had no intention of suing anyoneâ€”as long as they were using the Gosling-free EMACS version 16 and higher.
UniPress has no quarrel with the Gnu project. It bothers me that people seem to think we are trying to hinder it. In fact, we hardly did or said much at all, except to point out that the Gnumacs code had James Goslingâ€™s copyright in it. We have not done anything to keep anyone from using Gnumacs, nor do we intend to now that it is â€œGosling-freeâ€ (version 16.56).
You can consider this to be an official statement from UniPress: There is nothing in Gnumacs version 16.56 that could possibly cause UniPress to get upset. If you were afraid to use Gnumacs because you thought we would hassle you, donâ€™t be, on the basis of version 16.56.38
Both Stallman and Unipress received various attacks and defenses from observers of the controversy. Many people pointed out that Stallman should get credit for â€œinventingâ€ EMACS and that the issue of him infringing on his own invention was therefore ironic. Others proclaimed the innocence and moral character of Unipress, which, it was claimed, was providing more of a service (support for EMACS) than the program itself.
Some readers interpreted the fact that Stallman had rewritten the display code, whether under pressure from Unipress or not, as confirmation of the ideas expressed in â€œThe GNU Manifesto,â€ namely, that commercial software stifles innovation. According to this logic, precisely because Stallman was forced to rewrite the code, rather than build on something that he himself assumed he had permis[PAGE 199]sion to do, there was no innovation, only fear-induced caution.39 On the other hand, latent within this discussion is a deep sense of propriety about what people had created; many people, not only Stallman and Gosling and Zimmerman, had contributed to making EMACS what it was, and most had done so under the assumption, legally correct or not, that it would not be taken away from them or, worse, that others might profit by it.
Goslingâ€™s sale of EMACS is thus of a different order from his participation in the common stewardship of EMACS. The distinction between creating software and maintaining it is a commercial fiction driven in large part by the structure of intellectual property. It mirrors the experience of open systems. Maintaining software can mean improving it, and improving it can mean incorporating the original work and ideas of others. To do so by the rules of a changing intellectual-property structure forces different choices than to do so according to an informal hacker ethic or an experimental â€œcommune.â€ One programmerâ€™s minor improvement is another programmerâ€™s original contribution.
The Context of Copyright
The EMACS controversy occurred in a period just after some of the largest changes to U.S. intellectual-property law in seventy years. Two aspects of this context are worth emphasizing: (1) practices and knowledge about the law change slowly and do not immediately reflect the change in either the law or the strategies of actors; (2) U.S. law creates a structural form of uncertainty in which the interplay between legislation and case law is never entirely certain. In the former aspect, programmers who grew up in the 1970s saw a commercial practice entirely dominated by trade secret and patent protection, and very rarely by copyright; thus, the shift to widespread use of copyright law (facilitated by the 1976 and 1980 changes to the law) to protect software was a shift in thinking that only slowly dawned on many participants, even the most legally astute, since it was a general shift in strategy as well as a statutory change. In the latter aspect, the 1976 and 1980 changes to the copyright law contained a number of uncertainties that would take over a decade to be worked out in case law, issues such as the copyrightability of software, the definition of software, and the meaning [PAGE 200] of infringement in software copyright, to say nothing of the impact of the codification of fair use and the removal of the requirement to register (issues that arguably went unnoticed until the turn of the millennium). Both aspects set the stage for the EMACS controversy and Stallmanâ€™s creation of the GPL.
Legally speaking, the EMACS controversy was about copyright, permission, and the meanings of a public domain and the reuse of software (and, though never explicitly mentioned, fair use). Software patenting and trade-secret law are not directly concerned, but they nonetheless form a background to the controversy. Many of the participants expressed a legal and conventional orthodoxy that software was not patentable, that is, that algorithms, ideas, or fundamental equations fell outside the scope of patent, even though the 1981 case Diamond v. Diehr is generally seen as the first strong support by the courts for forcing the United States Patent and Trademark Office to grant patents on software.40 Software, this orthodoxy went, was better protected by trade-secret law (a state-by-state law, not a federal statute), which provided protection for any intellectual property that an owner reasonably tried to maintain as a secret. The trade-secret status of UNIX, for example, meant that all the educational licensees who were given the source code of UNIX had agreed to keep it secret, even though it was manifestly circulating the world over; one could therefore run afoul of trade-secret rules if one looked at the source code (e.g., signed a nondisclosure license or was shown the code by an employee) and then implemented something similar.
By contrast, copyright law was rarely deployed in matters of software production. The first copyright registration of software occurred in 1964, but the desirability of relying on copyright over trade secret was uncertain well into the 1970s.41 Some corporations, like IBM, routinely marked all source code with a copyright symbol. Others asserted it only on the binaries they distributed or in the license agreements. The case of software on the UNIX operating system and its derivatives is particularly haphazard, and the existence of copyright notices by the authors varies widely. An informal survey by Barry Gold singled out only James Gosling, Walter Tichy (author of rcs), and the RAND Corporation as having adequately labeled source code with copyright notices.42 Gosling was also the first to register EMACS as copyrighted software in 1983, [PAGE 201] while Stallman registered GNU EMACS just after version 15.34 was released in May 1985.43
The uncertainty of the change from reliance on trade secret to reliance on copyright is clear in some of the statements made by Stallman around the reuse of Goslingâ€™s code. Since neither Stallman nor Gosling sought to keep the program secret in any formâ€”either by licensing it or by requiring users to keep it secretâ€”there could be no claims of trade-secret status on either program. Nonetheless, there was frequent concern about whether one had seen any code (especially code from a UNIX operating system, which is covered by trade secret) and whether code that someone else had seen, rewritten, or distributed publicly was therefore â€œin the public domain.â€44 But, at the same time, Stallman was concerned that rewriting Goslingâ€™s display code would be too difficult: â€œAny display code would have a considerable resemblance to that display code, just by virtue of doing the same job. Without any clear idea of exactly how much difference there would have to be to reassure you users, I cannot tell whether the rewrite would accomplish that. The law is not any guidance here. . . . Writing display code that is significantly different is not easy.â€45
Stallmanâ€™s strategy for rewriting software, including his plan for the GNU operating system, also involved â€œnot looking atâ€ anyone elseâ€™s code, so as to ensure that no trade-secret violations would occur. Although it was clear that Goslingâ€™s code was not a trade secret, it was also not obvious that it was â€œin the public domain,â€ an assumption that might be made about other kinds of software protected by trade secret. Under trade-secret rules, Goslingâ€™s public distribution of GOSMACS appears to give the green light for its reuse, but under copyright law, a law of strict liability, any unauthorized use is a violation, regardless of how public the software may have been.46
The fact of trade-secret protection was nonetheless an important aspect of the EMACS controversy: the version of EMACS that Warren Montgomery had created at Bell Labs (and on which Zimmermanâ€™s CCA version would be based) was the subject of trade-secret protection by AT&T, by virtue of being distributed with UNIX and under a nondisclosure agreement. AT&T was at the time still a year away from divestiture and thus unable to engage in commercial exploitation of the software. When CCA sought to commercialize [PAGE 202] the version of UNIX Zimmerman had based on Montgomeryâ€™s, it was necessary to remove any AT&T code in order to avoid violating their trade-secret status. CCA in turn distributed their EMACS as either binary or as source (the former costing about $1,000, the latter as much as $7,000) and relied on copyright rather than trade-secret protection to prevent unauthorized uses of their software.47
The uncertainty over copyright was thus in part a reflection of a changing strategy in the computer-software industry, a kind of uneven development in which copyright slowly and haphazardly came to replace trade secret as the main form of intellectual-property protection. This switch had consequences for how noncommercial programmers, researchers, and amateurs might interpret their own work, as well as for the companies whose lawyers were struggling with the same issues. Of course, copyright and trade-secret protection are not mutually exclusive, but they structure the need for secrecy in different ways, and they make different claims on issues like similarity, reuse, and modification.
The 1976 changes to copyright law were therefore extremely significant in setting out a new set of boundaries and possibilities for intellectual-property arguments, arguments that created a different kind of uncertainty from that of a changing commercial strategy: a structural uncertainty created by the need for a case law to develop around the statutory changes implemented by Congress.
The Copyright Act of 1976 introduced a number of changes that had been some ten years in the making, largely organized around new technologies like photocopier machines, home audiotaping, and the new videocassette recorders. It codified fair-use rights, it removed the requirement to register, and it expanded the scope of copyrightable materials considerably. It did not, however, explicitly address software, an oversight that frustrated many in the computer industry, in particular the young software industry. Pursuant to this oversight, the National Commission on New Technological Uses of Copyright (CONTU) was charged with making suggestions for changes to the law with respect to software. It was therefore only in 1980 that Congress implemented these changes, adding software to title 17 of the U.S. copyright statute as something that could be considered copyrightable by law.48
The 1980 amendment to the copyright law answered one of three lingering questions about the copyrightability of software: the simple question of whether it was copyrightable material at all. Con[PAGE 203]gress answered yes. It did not, however, designate what constituted â€œsoftware.â€ During the 1980s, a series of court cases helped specify what counted as software, including source code, object code (binaries), screen display and output, look and feel, and microcode and firmware.49 The final question, which the courts are still faced with adjudicating, concerns how much similarity constitutes an infringement in each of these cases. The implications of the codification of fair use and the requirement to register continue to unfold even into the present.
The EMACS controversy confronts all three of these questions. Stallmanâ€™s initial creation of EMACS was accomplished under conditions in which it was unclear whether copyright would apply (i.e., before 1980). Stallman, of course, did not attempt to copyright the earliest versions of EMACS, but the 1976 amendments removed the requirement to register, thus rendering everything written after 1978 automatically copyrighted. Registration represented only an additional effort to assert ownership in cases of suspected infringement.
Throughout this period, the question of whether software was copyrightableâ€”or copyrightedâ€”was being answered differently in different cases: AT&T was relying on trade-secret status; Gosling, Unipress, and CCA negotiated over copyrighted material; and Stallman was experimenting with his â€œcommune.â€ Although the uncertainty was answered statutorily by the 1980 amendment, not everyone instantly grasped this new fact or changed practices based on it. There is ample evidence throughout the Usenet archive that the 1976 changes were poorly understood, especially by comparison with the legal sophistication of hackers in the 1990s and 2000s. Although the law changed in 1980, practices changed more slowly, and justifications crystallized in the context of experiments like that of GNU EMACS.
Further, a tension emerged between the meaning of source code and the meaning of software. On the one hand was the question of whether the source code or the binary code was copyrightable, and on the other was the question of defining the boundaries of software in a context wherein all software relies on other software in order to run at all. For instance, EMACS was originally built on top of TECO, which was referred to both as an editor and as a programming language; even seemingly obvious distinctions (e.g., application vs. programming language) were not necessarily always clear. [PAGE 204] If EMACS was an application written in TECO qua programming language, then it would seem that EMACS should have its own copyright, distinct from any other program written in TECO. But if EMACS was an extension or modification of TECO qua editor, then it would seem that EMACS was a derivative work and would require the explicit permission of the copyright holder.
Further, each version of EMACS, in order to be EMACS, needed a LISP interpreter in order to make the extensible interface similar across all versions. But not all versions used the same LISP interpreter. Goslingâ€™s used an interpreter called MOCKLISP (mlisp in the trademarked Unipress version), for instance. The question of whether the LISP interpreter was a core component of the software or an â€œenvironmentâ€ needed in order to extend the application was thus also uncertain and unspecified in the law. While both might be treated as software suitable for copyright protection, both might also be understood as necessary components out of which copyrightable software would be built.50
Whatâ€™s more, both the 1976 and 1980 amendments are silent on the copyright status of source code vs. binary code. While all the versions of EMACS were distributed in binary, Stallman and Gosling both included the source to allow users to modify it and extend it, but they differed on the proper form of redistribution. The threshold between modifying software for oneself and copyright infringement was not yet clear, and it hung on the meaning of redistribution. Changing the software for use on a single computer might be necessary to get it to run, but by the early days of the Arpanet, innocently placing that code in a public directory on one computer could look like mass distribution.51
Finally, the question of what constitutes infringement was at the heart of this controversy and was not resolved by law or by legal adjudication, but simply by rewriting the code to avoid the question. Stallmanâ€™s use of Goslingâ€™s code, his claim of third-hand permission, the presence or absence of written permission, the sale of GOSMACS to Unipress when it most likely contained code not written by Gosling but copyrighted in his nameâ€”all of these issues complicated the question of infringement to the point where Stallmanâ€™s only feasible option for continuing to create software was to avoid using anyone elseâ€™s code at all. Indeed, Stallmanâ€™s decision to use Goslingâ€™s code (which he claims to have changed in significant portions) might have come to nothing if he had unethi[PAGE 205]cally and illegally chosen not to include the copyright notice at all (under the theory that the code was original to Stallman, or an imitation, rather than a portion of Goslingâ€™s work). Indeed, Chris Torek received Goslingâ€™s permission to remove Goslingâ€™s name and copyright from the version of display.c he had heavily modified, but he chose not to omit them: â€œThe only reason I didnâ€™t do so is that I feel that he should certainly be credited as the inspiration (at the very least) for the code.â€52 Likewise, Stallman was most likely concerned to obey the law and to give credit where credit was due, and therefore left the copyright notice attachedâ€”a clear case of blurred meanings of authorship and ownership.
In short, the interplay between new statutes and their settlement in court or in practice was a structural uncertainty that set novel constraints on the meaning of copyright, and especially on the norms and forms of permission and reuse. GNU EMACS 15.34 was the safest optionâ€”a completely new version that performed the same tasks, but in a different manner, using different algorithms and code.
Even as it resolved the controversy, however, GNU EMACS posed new problems for Stallman: how would the EMACS commune survive if it wasnâ€™t clear whether one could legally use another personâ€™s code, even if freely contributed? Was Goslingâ€™s action in selling work by others to Unipress legitimate? Would Stallman be able to enforce its opposite, namely, prevent people from commercializing EMACS code they contributed to him? How would Stallman avoid the future possibility of his own volunteers and contributors later asserting that he had infringed on their copyright?
By 1986, Stallman was sending out a letter that recorded the formal transfer of copyright to the Free Software Foundation (which he had founded in late 1985), with equal rights to nonexclusive use of the software.53 While such a demand for the expropriation of copyright might seem contrary to the aims of the GNU project, in the context of the unfolding copyright law and the GOSMACS controversy it made perfect sense. Having been accused himself of not having proper permission to use someone elseâ€™s copyrighted material in his free version of GNU EMACS, Stallman took steps to forestall such an event in the future.
The interplay between technical and legal issues and â€œethicalâ€ concerns was reflected in the practical issues of fear, intimidation, and common-sense (mis)understandings of intellectual-property [PAGE 206] law. Zimmermanâ€™s veiled threats of legal liability were directed not only at Stallman but at anyone who was using the program Stallman had written; breaking the law was, for Zimmerman, an ethical lapse, not a problem of uncertainty and change. Whether or not such an interpretation of the law was correct, it did reveal the mechanisms whereby a low level of detailed knowledge about the lawâ€”and a law in flux, at that (not to mention the litigious reputation of the U.S. legal system worldwide)â€”often seemed to justify a sense that buying software was simply a less risky option than acquiring it for free. Businesses, not customers, it was assumed, would be liable for such infringements. By the same token, the sudden concern of software programmers (rather than lawyers) with the detailed mechanics of copyright law meant that a very large number of people found themselves asserting common-sense notions, only to be involved in a flame war over what the copyright law â€œactually says.â€
Such discussion has continued and grown exponentially over the last twenty years, to the point that Free Software hackers are now nearly as deeply educated about intellectual property law as they are about software code.54 Far from representing the triumph of the hacker ethic, the GNU General Public License represents the concrete, tangible outcome of a relatively wide-ranging cultural conversation hemmed in by changing laws, court decisions, practices both commercial and academic, and experiments with the limits and forms of new media and new technology.
The rest of the story is quickly told: Stallman resigned from the AI Lab at MIT and started the Free Software Foundation in 1985; he created a raft of new tools, but ultimately no full UNIX operating system, and issued General Public License 1.0 in 1989. In 1990 he was awarded a MacArthur â€œgenius grant.â€ During the 1990s, he was involved in various high-profile battles among a new generation of hackers; those controversies included the debate around Linus Torvaldsâ€™s creation of Linux (which Stallman insisted be referred to as GNU/Linux), the forking of EMACS into Xemacs, and Stallmanâ€™s own participation inâ€”and exclusion fromâ€”conferences and events devoted to Free Software.
Between 1986 and 1990, the Free Software Foundation and its software became extremely well known among geeks. Much of this had to do with the wealth of software that they produced and distributed via Usenet and Arpanet. And as the software circulated and was refined, so were the new legal constraints and the process of teaching users to understand what they could and could not do with the softwareâ€”and why it was not in the public domain.
Each time a new piece of software was released, it was accompanied by one or more text files which explained what its legal status was. At first, there was a file called DISTRIB, which contained an explanation of the rights the new owner had to modify and redistribute the software.55 DISTRIB referenced a file called COPYING, which contained the â€œGNU EMACS copying permission notice,â€ also known as the GNU EMACS GPL. The first of these licenses listed the copyright holder as Richard Stallman (in 1985), but by 1986 all licenses referred to the Free Software Foundation as the copyright holder.
As the Free Software Foundation released other pieces of software, the license was renamedâ€”GNU CC GPL, a GNU Bison GPL, a GNU GDB GPL, and so on, all of which were essentially the same termsâ€”in a file called COPYING, which was meant to be distributed along with the software. In 1988, after the software and the licenses had become considerably more widely available, Stallman made a few changes to the license that relaxed some of the terms and specified others.56 This new version would become the GNU GPL 1.0. By the time Free Software emerged into the public consciousness in the late 1990s, the GPL had reached version 2.0, and the Free Software Foundation had its own legal staff.
The creation of the GPL and the Free Software Foundation are often understood as expressions of the hacker ethic, or of Stallmanâ€™s ideological commitment to freedom. But the story of EMACS and the complex technical and legal details that structure it illustrate how the GPL is more than just a hack: it was a novel, privately ordered legal â€œcommune.â€ It was a space thoroughly independent of, but insinuated into the existing bedrock of rules and practices of the world of corporate and university software, and carved out of the slippery, changing substance of intellectual-property statutes. At a time when the giants of the software industry were fighting to create a different kind of opennessâ€”one that preserved and would even strengthen existing relations of intellectual propertyâ€”this [PAGE 208] hack was a radical alternative that emphasized the sovereignty not of a national or corporate status quo, but of self-fashioning individuals who sought to opt out of that national-corporate unity. The creation of the GNU GPL was not a return to a golden age of small-scale communities freed from the dominating structures of bureaucratic modernity, but the creation of something new out of those structures. It relied on and emphasized, not their destruction, but their stabilityâ€”at least until they are no longer necessary.
The significance of the GPL is due to its embedding within and emergence from the legal and technical infrastructure. Such a practice of situated reworking is what gives Free Softwareâ€”and perhaps all forms of engineering and creative practiceâ€”its warp and weft. Stallmanâ€™s decision to resign from the AI Lab and start the Free Software Foundation is a good example; it allowed Stallman no only to devote energy to Free Software but also to formally differentiate the organizations, to forestall at least the potential threat that MIT (which still provided him with office space, equipment, and network connection) might decide to claim ownership over his work. One might think that the hacker ethic and the image of self-determining free individuals would demand the total absence of organizations, but it requires instead their proliferation and modulation. Stallman himself was never so purely free: he relied on the largesse of MITâ€™s AI Lab, without which he would have had no office, no computer, no connection to the network, and indeed, for a while, no home.
The Free Software Foundation represents a recognition on his part that individual and communal independence would come at the price of a legally and bureaucratically recognizable entity, set apart from MIT and responsible only to itself. The Free Software Foundation took a classic form: a nonprofit organization with a hierarchy. But by the early 1990s, a new set of experiments would begin that questioned the look of such an entity. The stories of Linux and Apache reveal how these ventures both depended on the work of the Free Software Foundation and departed from the hierarchical tradition it represented, in order to innovate new similarly embedded sociotechnical forms of coordination.
The EMACS text editor is still widely used, in version 22.1 as of 2007, and ported to just about every conceivable operating system. The controversy with Unipress has faded into the distance, as newer and more intense controversies have faced Stallman and Free Soft[PAGE 209]ware, but the GPL has become the most widely used and most finely scrutinized of the legal licenses. More important, the EMACS controversy was by no means the only one to have erupted in the lives of software programmers; indeed, it has become virtually a rite of passage for young geeks to be involved in such debates, because it is the only way in which the technical details and the legal details that confront geeks can be explored in the requisite detail. Not all such arguments end in the complete rewriting of source code, and today many of them concern the attempt to convince or evangelize for the release of source code under a Free Software license. The EMACS controversy was in some ways a primal sceneâ€”a traumatic one, for sureâ€”that determined the outcome of many subsequent fights by giving form to the Free Software license and its uses.
Posted by Christopher Kelty on May 8, 2008