Why Caldera Released Unix: A Brief Historyby Ian F. Darwin
Our strangest dreams sometimes take on a reality of their own. In January, Caldera, the latest owners of the "official" Unix source code, decided to release some of the older versions (up to "V7" and "32V") under an open source license. While not as significant as it would have been, say, ten years ago, it is nice that everyone now has access to the code that first made Unix popular, and that led to the development of the 4BSD system that underlies FreeBSD, NetBSD, OpenBSD, and Apple's Darwin (which in turn underlies Mac OS X). Since I was active in the computer field through almost all the years of Unix's development, I'd like to comment briefly on the Caldera announcement in its full context.
"Free Unix source code" was a strange dream for many of us in the late 1970s and early 1980s, and even the subject of an April Fools joke in there someplace on USENET. But then there was Minix, and it seemed less like a strange dream. Around the same time, John Gilmore was working on a project he called "Radio Free Berkeley," to replace all the encumbered source code in BSD Unix so that it could be free. And many of us worked on small pieces of it; this is why and when I wrote the file command that is on your Linux or BSD system.
While this was happening, BSD was encountering major success in powering the growing Internet (small by today's standards, but nontrivial). There were many, many university and research VAXen running 4BSD, the first mainstream Unix release to ship with a TCP/IP implementation (around 1983). DEC's (since swallowed by Compaq) ULTRIX, Sun's SunOS 3.5 and 4, and Unixes from a variety of smaller, long-dot-gone companies powered the Internet. And they were BSD Unix.
Then came the 4.4-Lite release from the University of California at Berkeley, which was at first believed to be unencumbered. Some very clever people began marketing an operating system derived from it, called BSDI, but they made a couple of minor mistakes: One, they used the term Unix in their marketing, bringing them to the attention of the AT&T lawyers; and two, there were still a few lines of AT&T code in what they were shipping.
The result changed the free software world forever, and led directly to the rise of Linux.
AT&T's lawyers sued not only the upstart BSDI, but also the University of California. This lawsuit prevented any new BSD releases for a long time and eventually led the University to decide to get out of the BSD business altogether. And, after several years of bickering, AT&T abruptly settled their lawsuit, abandoning attempts to stop "free Unix" and even allowing the few remaining bitsies to be used in free Unixes. And so unto this day, some files in the free BSD Unix's /sys/kern directory contain this copyright alongside their BSD license:
* (c) Unix System Laboratories, Inc. * All or some portions of this file are derived from material licensed * to the University of California by American Telephone and Telegraph * Co. or Unix System Laboratories, Inc. and are reproduced herein with * the permission of Unix System Laboratories, Inc.
Unix System Laboratories is one of many names that AT&T's Unix Support Group took on over the years; the Unix trademark was assigned to different corporate bodies within AT&T so frequently that one wag apparently changed the troff footnote macro from "Unix is a registered trademark of AT&T" to something like "Unix is a registered footnote of Western Electric, no, AT&T, no, Unix Support Group, no, Unix System Laboratories, heck, I give up."
During this long hiatus, when what was by then FreeBSD could have been dominating the free software world, Linux came into the vacuum. We all knew we needed a free Unix clone with source code and, since BSD wasn't available, we took Linux. It wasn't really Unix, and it had "this funny GPL thing" attached to it, but it was close enough.
And because of that head start, Linux has overwhelmingly attracted the media's, and many hackers', attention, making it harder for the BSD systems (FreeBSD, NetBSD, and OpenBSD) to grow as popular as Linux. It's not that Linux is better, or worse, but that it got the popularity first. History shows that first, even if worst, tends to gain power and hold on to it. This is true for Microsoft's dominance of the commercial and home desktop; it's true for Unix/Linux's dominance as the engine for Internet servers; and it's true for Linux's dominance of the freeware OS niche. Of course, one exception is Netscape, which has seen its browser share eroded by Microsoft, but perhaps this has as much to do with the long delays in getting Netscape 6 out the door as it has to do with Microsoft's marketing muscle.
Meanwhile, other events transpired in the realm of Unix. AT&T management backed away from Unix and eventually sold the rights of the system itself to Novell. Novell split what it had bought: It donated the Unix trademark to X/Open and eventually sold the rights for the code to SCO. Mike Tilson of SCO arranged to release the ban on publication of "The Lions Book," John Lions' A Commentary on the Unix System, V6. The Lions Book had been circulating in photocopied form from a few originals that AT&T had made available under strict licensing terms to universities and other source code licensees, because it included a listing of a complete, though minimal, V6 kernel. SCO arranged with Peer-to-Peer Publishing to publish the "Lions Commentaries" as an historical record. Later, SCO was acquired by Caldera, a software company (also, by now, known as a Linux distributor) that had earlier partly open-sourced their OpenDOS 7.
Nothing stands still. Apple adapted BSD as the Unix core of its new operating system, Mac OS X. In the process, Apple has taken from Sun the mantle of the world's largest distributor of BSD Unix systems, and has made this BSD system, though rather hidden behind the Mac GUI, very popular.
Things do tend to come full circle. It was Caldera that, on January 23 of this year, disencumbered the entire source code of Unix, up to and including the Seventh Edition (1979) and its VAX port "32V" from which BSD had started the development that led to 4.0BSD. (32V is basically V7, minus some bits that were written in the PDP-11 assembly language, and the remainder was adapted to work on the VAX.) This seems to mean that BSD Unix is, at last, fully disencumbered, even the few parts that couldn't be used in the various BSD systems over the years due to residual AT&T copyrights.
Interestingly, Caldera released it under the original BSD copyright. There are many differences between the BSD license and the GPL (GNU Public License), but this is not the time to dispute them. Should Caldera have used the GPL? There is a long tradition of association between AT&T and its successors, and BSD, that makes the BSD license a slight favorite for this code. Linux has its GPL, and Unix has its BSD license. They both have some good clauses and some obnoxious clauses. (The same can probably be said for some of the advocates of each license.)
It's really too bad they took so blasted long to release it. Caldera has "owned" this for years and not done anything with it. Indeed, some of the public response has been critical, viewing this as an attempt by Caldera to garner publicity by chumming up to the open source community.
Why couldn't AT&T have freed up old-Unix all those years ago, instead of launching a lawsuit over a few lines of encumbered code? We might all be running something like 4.9BSD instead of Linux had they done so. Linus might not have needed to write the Linux kernel in the first place if he'd been able to run 386BSD or any of its later derivatives on his PC. Ahh, such an interesting question, but one without an answer.
The more interesting question is, What does it really mean? It's certainly interesting to have a copy of the V7 code that is the ancestor of modern Unixes. It's interesting to see that the V7 operating system kernel was only about 51,000 bytes. That's not a module loader like Solaris's; it's the entire operating system! And it's interesting to see that the machines of the day were so slow that the makefile for the Fortran compiler would automatically nohup and background the process of running lint on the compiler sources. But as for practical value, there is little here that has not been superseded by the tremendous growth of free software in the intervening years. It will be harvested by people looking for non-GPL'd programs of various sorts, for example, a non-GPL'd version of diff for use on BSD platforms. But anyone doing that will have to invest a lot of time and effort to catch up with twenty years of development. More interestingly, those of us that teach Unix will have a new code base that can be used in illustrating lectures. Given the availability of all of Unix up to V7, one can study its evolution; much of the later code is of fairly high quality. Thompson and Ritchie knew C inside out, and they were ahead of their time.
I guess the real answer is that overall, at this time, the code's release doesn't mean very much to the world in practical terms.
But it does feel good.
Ian F. Darwin has worked in the computer industry for three decades: with Unix since 1980, Java since 1995, and OpenBSD since 1998. He is the author of two O'Reilly books, Checking C Programs with lint and Java Cookbook, and co-author of Tomcat: The Definitive Guide with Jason Brittain.
Return to the Linux DevCenter.