Chapter 12. GNU, the GPL and Cygnus

In September 1983, there was an "announcement." Then, in 1984, Richard Stallman issued The GNU Manifesto. In my opinion, it marks the true beginning of the GNU Project.

For several years, the Manifesto was updated repeatedly in minor ways, but it remained the primary document through which rms would "ask for participation and support."

Stallman and his small group of programmers had been working on rms' stated goal of free versions of all the UNIX applications and tools. By mid-1984, there were

an Emacs text editor with Lisp for writing editor commands, a source-level debugger, a yacc-compatible parser generator, a linker, and around 35 utilities. A shell (command interpreter) is nearly completed. A new portable optimizing C compiler has compiled itself and may be released this year. An initial kernel exists but many more features are needed to emulate UNIX. ... We will use TeX as our text formatter, but an nroff is being worked on. ...
It was pretty impressive.

I'm not going to quote much more of the Manifesto, but there is one part, "Why I must write GNU," that has been my "favorite" for twenty years.

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. I cannot in good conscience sign a nondisclosure agreement or a software license agreement. For years I worked within the Artificial Intelligence Lab to resist such tendencies and other inhospitalities, but eventually they had gone too far. I could not remain in an institution where such things are done for me against my will.

So that I can continue to use computers without dishonor, 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. I have resigned from the AI lab to deny MIT any legal excuse to prevent me from giving GNU away.

Take this seriously. Just over twenty years ago, rms was talking about a political and social movement. He was talking about "solidarity" and "conscience." This was a Manifesto in the same sense that that of Marx and Engels was in 1848. Stallman was more interested in "freedom than in having a better program" [[Interview with Michael Gross, "early 1999"; in The More Things Change (Harper Collins, 2000)]]. Hey! Not a bad outlook! I really like (say) the most recent Tom Clancy, so I lend it to a friend. This week's cartoon in The Economist strikes me, so I clip it and send it to a pal. But, if it's software? Fugeddaboutit!

Stallman also produced the GPL -- the GNU Public License, now the GNU General Public License. The GPL grew out of a real need for for legal documentation.

James Gosling, then a graduate student at Carnegie Mellon, wrote a C-based version of Emacs which used a simplified Lisp, MOCKLISP. In order to construct GNU Emacs on Lisp, rms freely borrowed Gosling's innovations. (Stallman had been told by other CMU developers that Gosling had assured their work on GOSMACS and the Lisp interpreter would remain available. But Gosling put GOSMACS under copyright and sold the rights to UniPress. UniPress, in turn, threatened to sue rms.)

As Sam Williams put it,

Once again, Stallman faced the prospect of building from the ground up.

In the course of reverse-engineering Gosling's interpreter, Stallman would create a fully functional Lisp interpreter, rendering the need for Gosling's original interpreter moot. Nevertheless, the notion of developers selling off software rights -- indeed, the very notion of developers having software rights to sell in the first place -- rankled Stallman.

[[Sam Williams, Free as in Freedom (O'Reilly, 2002), pp. 104f.]] GNU Emacs was released in 1985, but rms had come to realize just how important it would be for GNU software to have a "legal foundation" to stand upon. The first version of the GPL was the direct result. Richard had realized that one needed to actually bestow an absolute right on users. He had spoken with Mark Fischer, a Boston IP lawyer, and to Jerry Cohen, another lawyer, but wrote his own license. Only a few years later, GPL version 2 was released. This was in 1991. Just about 15 years later, we still use that version, though version 3 is in the offing.

If you're curious, look at the copyright notice in the README file of trn [= threaded read news], written by Larry Wall, prior to the creation of Perl. It says:

Copyright (c) 1985, Larry Wall

You may copy the trn kit in whole or in part as long as you don't try to make money off it, or pretend that you wrote it.


In 1991 there was no Web.
In 1991 there was no Linux.
In 1991 KDE, Gnome, Apache, Netscape, hadn't even been thought of.
In 1991 we were still waiting for the Hurd.

But John Gilmore, employee number 5 at Sun Microsystems, was aware of the importance of GNU and of the GPL. Gilmore was part of the Usenet community. He was more than just a reader of net news. In November 1986, Gilmore suggested that rms "remove 'EMACS' from the license and replace it with 'SOFTWARE' or something." Version 1.0 of the GPL was officially released in 1989, a year after the release of the GNU debugger, which carried the 1985 draft (emended innumerable times).

Another individual taken by the GNU philosophy was Michael Tiemann. In an essay published in 1999, Tiemann looked back at the Manifesto: "It read like a socialist polemic, but I saw something different: I saw a business plan in disguise." [[In Open Sources (O'Reilly, 1999), p. 139.]] He dropped out of the Ph.D. program at Stanford to pursue that plan.

Tiemann wrote the GNU C++ compiler and the first native-code C++ compiler and debugger. He is now Vice President for Open Source Affairs at RedHat.

In 1989, Gilmore, Tiemann and David Henkel-Wallace co-founded Cygnus Solutions, the first "open source" business. (I put "open source" in quotation marks to differentiate it from free source. Stallman notes that "open source" stresses the technical side of the software, excellence through code sharing, whereas "free software" emphasizes the moral and ethical, technical excellence being a desirable byproduct.) Gilmore ceased working at Cygnus in 1995 and stepped down from its Board in 1997.

Cygnus was founded on the theory that "There is great value in having good people working on software whose precedents will set the standards of tomorrow. We believed at the beginning That people would understand this value proposition, and would value the opportunity to pay us to create high-quality, open-source programs that would become the de facto standard of the software world." [[Tiemann in Open Sources]]

Cygnus began by selling the GNU compiler and debugger as shrink-wrapped software. Gilmore sent out email telling folks that he'd be the debugger maintainer and integrator. Gilmore and Gumby [D.V. Henkel-Wallace] hacked and Tiemann sold contracts.

Cygnus became a success: it demonstrated that money could be made through service, packaging and distributing source that was otherwise free.

All the vision of Stallman and the hard work of Gilmore, Gumby and Tiemann bore fruit in Cygnus' GNUPro Developers Kit, which contained:

  • GCC
  • G++
  • GDB
  • GAS [GNU Assembler]
  • LD [GNU Linker]
  • Cygwin [UNIX Environment for Windows]
  • Insight [GUI for GDB]
  • Source-Navigator

By the early 1990s, the world was beginning to change.