10.5 The Evolution of BSD

Free For All. Go to the Table of Contents. Vist the Gifcom.

The BSD license evolved along a strange legal path that was more like the meandering of a drunken cow than the laser-like devotion of Stallman.

Many professors and students cut their teeth experimenting with UNIX on DEC Vaxes that communicated with old teletypes and dumb terminals. AT&T gave Berkeley the source code to UNIX, and this allowed the students and professors to add their instructions and features to the software. Much of their insight into operating system design and many of their bug fixes made their way back to AT&T, where they were incorporated in the next versions of UNIX. No one really thought twice about the source code being available because the shrink-wrapped software market was still in its infancy. The personal computer market wasn't even born until the latter half of the 1970s, and it took some time for people to believe that source code was something for a company to withhold and protect. In fact, many of the programs still weren't being written in higher-level languages. The programmers would write instructions directly for the computer, and while these often would include some instructions for humans, there was little difference between what the humans wrote and the machine read.

After Bill Joy and others at Berkeley started coming up with several good pieces of software, other universities started asking for copies. At the time, Joy remembers, it was considered a bit shabby for computer science researchers to actually write software and share it with others. The academic departments were filled with many professors who received their formal training in mathematics, and they held the attitude that rigorous formal proofs and analysis were the ideal form of research. Joy and several other students began rebelling by arguing that creating working operating systems was essential experimental research. The physics departments supported experimentalists and theorists.
So Joy began to "publish" his code by sending out copies to other researchers who wanted it. Although many professors and students at Berkeley added bits and pieces to the software running on the DEC Vaxes, Joy was the one who bundled it all together and gave it the name. Kirk McKusick says in his history of Berkeley UNIX, ".. . interest in the error recovery work in the Pascal compiler brought in requests for copies of the system. Early in 1977, Joy put together the 'Berkeley Software Distribution.' This first distribution included the Pascal system, and, in an obscure subdirectory of the Pascal source, the editor vi. Over the next year, Joy, acting in the capacity of the distribution secretary, sent out about 30 free copies of the system."

Today, Joy tells the story with a bit of bemused distraction. He explains that he just copied over a license from the University of Toronto and"whited out""University ofToronto" and replaced it with "University of California." He simply wanted to get the source code out the door. In the beginning, the Berkeley Software Distribution included a few utilities, but by 1979 the code became tightly integrated with AT&T's basic UNIX code. Berkeley gave away the collection of software in BSD, but only AT&T license holders could use it. Many universities were attracted to the package, in part because the Pascal system was easy for its students to use. The personal computer world, however, was focusing on a simpler language known as Basic. Bill Gates would make Microsoft Basic one of his first products.

Joy says that he wrote a letter to AT&T inquiring about the legal status of the source code from AT&T that was rolled together with the BSD code. After a year, he says, "They wrote back saying, 'We take no position' on the matter." Kirk McKusick, who later ran the BSD project through the years of the AT&T lawsuit, explained dryly, "Later they wrote a different letter."

Joy was just one of a large number of people who worked heavily on the BSD project from 1977 through the early 1980s. The work was low-level and grungy by today's standards. The students and professors scrambled just to move UNIX to the new machines they bought. Often, large parts of the guts of the operating system needed to be modified or upgraded to deal with a new type of disk drive or file system. As they did this more and more often, they began to develop more and more higher-level abstractions to ease the task. One of the earliest examples was Joy's screen editor known as vi, a simple package that could be used to edit text files and reprogram the system. The "battle" between Joy's vi and Stallman's Emacs is another example of the schism between MIT and Berkeley. This was just one of the new tools included in version 2 of BSD, a collection that was shipped to 75 different people and institutions.
By the end of the 1970s, Bell Labs and Berkeley began to split as AT&T started to commercialize UNIX and Berkeley stuck to its job of education. Berkeley professor Bob Fabry was able to interest the Pentagon's Defense Advanced Research Projects Agency (DARPA) into signing up to support more development at Berkeley. Fabry sold the agency on a software package that would be usable on many of the new machines being installed in research labs throughout the country. It would be more easily portable so that research would not need to stop every time a new computer arrived. The work on this project became versions 3 and 4 of BSD.

During this time, the relationship between AT&T and the universities was cordial. AT&T owned the commercial market for UNIX and Berkeley supplied many of the versions used in universities. While the universities got BSD for free, they still needed to negotiate a license with AT&T, and companies paid a fortune. This wasn't too much of a problem because universities are often terribly myopic. If they share their work with other universities and professors, they usually consider their sharing done. There may be folks out there without university appointments, but those folks are usually viewed as cranks who can be safely ignored. Occasionally, those cranks write their own OS that grows up to be Linux. The BSD version of freedom was still a far cry from Stallman's, but then Stallman hadn't articulated it yet. His manifesto was still a few years off.

The intellectual tension between Stallman and Berkeley grew during the 1980s. While Stallman began what many thought was a quixotic journey to build a completely free OS, Berkeley students and professors continued to layer their improvements to UNIX on top of AT&T's code. The AT&T code was good, it was available, and many of the folks at Berkeley had either directly or indirectly helped influence it. They were generally happy keeping AT&T code at the core despite the fact that all of the BSD users needed to negotiate with AT&T. This process grew more and more expensive as AT&T tried to make more and more money off of UNIX.

Of course, Stallman didn't like the freedom of the BSD-style license. To him, it meant that companies could run off with the hard work and shared source code of another, make a pile of money, and give nothing back. The companies and individuals who were getting the BSD network release were getting the cumulative hard work of many students and professors at Berkeley (and other places) who donated their time and effort to building a decent OS. The least these companies owed the students were the bug fixes, the extensions, and the enhancements they created when they were playing with the source code and gluing it into their products.

Stallman had a point. Many of these companies "shared" by selling the software back to these students and the taxpayers who had paid for their work. While it is impossible to go back and audit the motives of everyone who used the code, there have been many who've used BSDstyle code for their personal gain.
Bill Joy, for instance, went to work at Sun Microsystems in 1982 and brought with him all the knowledge he had gained in developing BSD. Sun was always a very BSD-centered shop, and many of the people who bought Sun workstations ran BSD. At that time, AT&T still controlled much of the kernel and many of the small extra programs that made UNIX a usable system.

But there are counter arguments as well. Joy certainly contributed a lot to the different versions of BSD. If anyone deserves to go off and get rich at a company like Sun, it's he.

Also, the BSD source code was freely available to all comers, and all companies started with the same advantages. The software business is often considered to be one of the most free marketplaces around because of the low barriers to entry. This means that companies should only be able to charge for the value they add to the BSD code. Sure, all of the Internet was influenced by the TCP/IP code, but now Microsoft, Apple, IBM, Be, and everyone else compete on the quality of their interface.