UNIX, BSD, GNU and the Free Software Foundation

In 1971, Richard Stallman joined the Artificial Intelligence (AI) Laboratory at the Massachusetts Institute of Technology (MIT). He was a system developer working on a mainframe computer, which was very different from the microcomputers the members of the Homebrew Computer Club were interested in.

In the first years of his career, he was never confronted with closed source software, but by the eighties, manufacturers stopped distributing source code to prevent software to be used on their competitors’ machines. They introduced restrictive licenses and made copyright enforceable, even for compiled code.

Apple vs. Franklin: The Franklin Computer Corporation introduced the Franklin Ace 1000, a clone of the Apple II by Apple Computer, Inc. In 1982, Apple determined that substantial portions of the Franklin Read-Only Memory (ROM) and operating system had been copied directly from Apple’s versions. They filed suit on May 12, 1982 in Pennsylvania. Franklin argued that because Apple’s software existed only in machine-readable form, and not in printed form, and because some of the software didn’t contain copyright notices, it could be freely copied. The district court ruled in favor of Franklin, but Apple appealed the ruling to the US Court of Appeals for the Third Circuit which determined that both a program existing only in a written form unreadable to humans (e.g. compiled code) and one embedded on a ROM were protected by copyright. Hence Apple could force Franklin to withdraw its clones. IBM used Apple vs. Franklin successfully to sue many IBM PC clone makers.

Some bad experiences with closed source software, sparkled Richard Stallman’s conviction that the existence of proprietary software was an injustice.

Meanwhile on the West Coast, the university of California in Berkeley had obtained a source license from AT&T to modify and improve the UNIX operating system.

UNIX: UNIX was created at AT&T’s Bell Labs starting in 1969. It was first released in 1971. Due to an anti-trust decree dating from 1956, AT&T was forbidden from entering any business other than common carrier communications services. This meant that UNIX couldn’t be sold as a product, and Bell Labs distributed it for the cost of media and shipping. In 1973, UNIX Version 5 was licensed to educational institutions for the first time; in 1975, Version 6 was first licensed to companies, which led to the emergence of many different UNIX flavors.

In the early eighties, the parent organization of Bell Labs, the Bell System, broke up. AT&T became a separate company and Bell Labs was freed from the ramifications of the anti-trust decree. Bell Labs began selling UNIX as a proprietary product.

Berkeley called their modified operating system Berkeley UNIX, or the Berkeley Software Distribution (BSD). The BSD project was founded in 1976 by Bill Joy, and Berkeley gave anyone who wanted to use BSD a license to do so, but since BSD contained code from AT&T UNIX, all recipients also had to get a license from AT&T. This wasn’t a big issue at first, but then Bell Labs made UNIX proprietary. That caused licensing problems for many BSD users. It would take the BSD project until 1993 to write the final replacements of software owned by Bell Labs. The resulting operating system was called FreeBSD.

On the East Coast, the colleagues of Richard Stallman at the MIT AI Lab had also started to build their own operating system in search of an alternative for UNIX. This work consisted of replacing many separate programs (e.g. to move or copy files, to send mail, to compile and debug code, and so on) one by one. In September 1983, this effort was publicly announced by Richard Stallman as the “GNU” project.


GNU: The name GNU is a so-called recursive acronym: it stands for GNU’s Not UNIX. Where GNU stands for GNU’s Not UNIX. And so on. The logo of the project is the GNU mascot, depicting the animal of the same name.

Stallman quit his job in February 1984 to work full-time on the project as an unpaid “visiting scientist.” He didn’t want the operating system to be proprietary like UNIX was, and he explained his free software philosophy in the GNU Manifesto, published in March 1985.

Once GNU is written, everyone will be able to obtain good system software free, just like air.

This means much more than just saving everyone the price of a Unix license. It means that much wasteful duplication of system programming effort will be avoided. This effort can go instead into advancing the state of the art.

Complete system sources will be available to everyone. As a result, a user who needs changes in the system will always be free to make them himself, or hire any available programmer or company to make them for him. Users will no longer be at the mercy of one programmer or company which owns the sources and is in sole position to make changes.

Schools will be able to provide a much more educational environment by encouraging all students to study and improve the system code. Harvard's computer lab used to have the policy that no program could be installed on the system if its sources were not on public display, and upheld it by actually refusing to install certain programs. I was very much inspired by this.

Finally, the overhead of considering who owns the system software and what one is or is not entitled to do with it will be lifted.

(Extract from the GNU Manifesto)

In October 1985, Stallman founded the Free Software Foundation (FSF) in support of the free software movement, which promotes the universal freedom to study, distribute, create, and modify computer software. This philosophy led to a series of licenses that were specific to each program, rendering them incompatible, despite being the same license. To solve this problem of compatibility, Stallman wrote the first version of GNU General Public License (GPL), released in February 1989.

The GPL prevented what were then the two main ways that software distributors restricted the freedoms that define free software.

The GPL is not a public domain license. Content that is brought into the public domain can become proprietary. For instance: a company could take public domain source code, change and improve it, and distribute it as proprietary, closed source software. This is impossible with software that is licensed as GPL software, because the GPL is a copyleft license.

Small letter c turned 180 degrees, surrounded by a single line forming a circle.

Copyleft: Copyleft is a play with the word copyright. The symbol used for copyleft is like the © symbol, but the C is rotated so that the opening is to the left instead of to the right.

  • Copyright law allows an author to prohibit others from reproducing, adapting, or distributing copies of the author's work.

  • Copyleft gives every person who receives a copy of a work permission to reproduce, adapt or distribute the work as long as any resulting copies or adaptations are also bound by the same copyleft licensing scheme.

With the GPL, Stallman wanted to give software developers as well as software users the unalienable right to make changes, redistribute copies, and publish improvements. The free in free software is more about freedom, than about being free of charge. Stallman often says that free software shouldn’t necessarily be free as in free beer, but that it should always be free as in free speech. In the GNU Manifesto, he lists several examples on how to make money with free software:

All of this was written in the mid-eighties. Today, there are many other ways open source is monetized –some of which Richard Stallman totally disapproves–, but that's a subject for a totally different article..

Software tax: Stallman also proposed to introduce a software tax, to be charged when a user buys a computer. The government would then give that money to an agency to create free software. If a computer buyer contributes to free software development himself, he can take a credit against the tax. This proposal reveals a very idealistic view on the way governments spend their money.

In 1989, three GNU developers, John Gilmore, Michael Tiemann, and David Henkel-Wallace, founded the company Cygnus Solutions, originally Cygnus Support. Just like GNU, Cygnus was a recursive acronym: “Cygnus Your GNU Support.” The goal of the company was to provide support for free software. Developing, maintaining and supporting a compiler and a debugger was a huge cost for companies such as SUN, CGI, and DEC. The Cygnus founders hoped that those companies would want to cut those costs by switching to free compilers and debuggers, and by making a deal with Cygnus to maintain and support those free compilers and debuggers. That didn’t happen, but the company was successful anyway when they discovered the embedded systems market. Cygnus made its first money porting code to work on new chips for Intel, AMD, and companies like 3Com and Adobe, doing what Richard Stallman had foreseen in the GNU Manifesto. This experience gave them a major advantage over competitors in the field. Cygnus also contributed code to the GNU project.

By the early nineties, the GNU developers had put together the whole operating system aside from the kernel. The kernel is the part at the center of the operating system. Many people around the world used the set of tools developed in the GNU project, but there was no free kernel. The GNU developers had started building a kernel, the GNU Hurd. Their design for the kernel was ideal from an academic point of view, but it was too advanced and too complex, making it very hard to debug. The GNU Hurd started working reliably in 2001, but by that time, Linux was already conquering the world.


Buy Bruno's book