Saving UNIX from /dev/null

Warren Toomey
Email: wkt@cs.adfa.edu.au

Printed January 19, 1999

Abstract:

UNIX1 has been, and continues to be, a very influential operating system. Future computing historians will want to look back at the development of UNIX to trace its effects on the computing industry.


This paper reviews the efforts being undertaken to preserve old versions of UNIX (both source and binaries), to gather the information required to maintain systems running these versions of UNIX, and the progress that has been achieved in providing legal access to old UNIX source by individuals.

Introduction

In computer terms, ancient history is anything which occurred more than twenty years ago. This puts the creation of UNIX, way back in 1969, definitely into that category.


\begin{pic}{1969rt.ps}{1969rt}{Dennis \& Ken on the PDP-7}
\end{pic}

The history of UNIX is now reasonably documented in books like `A Quarter Century of UNIX'[1], `Life with UNIX'[2] and `Netizens'[3]. Most of you have heard the story of UNIX's creation: Ken Thompson, Spacewar and the ``little-used PDP-7 lying in a corner''. But although the story of UNIX has been captured to some extent, there has been little effort to try and preserve the artifacts in the history of UNIX: its source code, documentation, system binaries, and the reports and papers written about it.

There are several reasons why people have an interest in old UNIX. Personally, I missed out on discovering UNIX by a year at University: the Maths department PDP-11 (running V7) had just been decommissioned. I had to wait 4 years for the purchase of a Pyramid 90x before I finally discovered the wonders of UNIX. Since then, I've always wanted to know what Version 7 UNIX was like.

Other people are interested in old UNIX because they own hardware that can run these old things. During the 70s, the 16-bit PDP-11 mini was the dominant UNIX hardware platform, to be replaced by the 32-bit Vax in the early 80s. Both platform families were made in large quantities, and they often pop up on the second-hand market. Many of these platforms have been saved from the dumpster by vintage computer enthusiasts.

Finally, there are a few people interested in maintaining and improving the UNIXes that run on older machines. Steven Schultz took over the maintenance of 2BSD (for the PDP-11) in the 80s, and is still developing it. The current version, 2.11BSD, has most of the functionality of 4.4BSD, except for a much smaller process address space. If you use any current BSD system, then you would find yourself at home on 2.11BSD.

The PDP UNIX
Preservation Society

The PDP UNIX Preservation Society (PUPS) is a loose affiliation of people involved in the preservation, maintenance and development of UNIX. Originally set up just for the PDP-11 versions of UNIX, it has since been extended to cover all old versions of UNIX (both research and commercial flavours), and has been renamed as the UNIX Heritage Society. The Society is still mostly referred to as PUPS, though.

The UNIX Heritage Society has a web page which describes the goals and activities of the Society, and has links off to other related web pages, including the old PDP Preservation pages. Here you will find information about old UNIXes, the PDP-11, and what items we have been able to preserve so far.

PUPS also has a mailing list with over 100 people and growing. The amount of email on the list is usually a trickle, changing to a spurt if we get a controversial topic to discuss. The list is mainly used to announce additions to the archive of software, to ask about the history of UNIX, and to ask about the maintenance of old hardware and the installation of UNIX onto this hardware. In this way, the mailing list members help each other out with information and advice which would be next to impossible to find.

The PUPS Archive

A central part of the Society is the PUPS Archive: this is a repository of source, applications, information and other miscellaneous files which are related to UNIX and its history. The archive is kept as a set of files on disk: where information has been transcribed from tapes, we attempt to document and maintain the record structure of the tapes, and transcribe any printed labels from the tapes to text files. Many tapes were written in archive formats that are no longer used. These are copied and converted into standard `tar' format, preserving file attributes in the process.

The archive started off as a dozen or so tapes from UNSW, none of which had complete UNIX distributions. As the mailing list grew, and more people became aware of our preservation efforts, many other tapes and files have been added to the archive. Fortunately, there are many pack rats out there in the UNIX community. Thanks must go to Dennis Ritchie, Kirk McKusick, Henry Spencer, Keith Bostic, Steven Schultz, Ken Wellsch and others who have made significant contributions to the archive.

At present, the PUPS Archive contains:

Bell Labs UNIX:
5th Edition, 6th Edition, 7th Edition, V7 patches.
USDL/USL:
PWB/UNIX, Mini-UNIX, 32V, System III for the PDP-11, System V for the PDP-11.
CSRG:
1BSD, all the 2BSDs, 3BSD, all the 4BSDs including 4.4, Net/1 and Net/2.
DEC:
V7M, Ultrix-11 3.0 and 3.1.
Homegrown UNIX:
AUSAM, other modified versions.
Software:
Several old USENIX tapes supplied by Henry Spencer; the Software Tools from Debbie Scherrer.
Bug Fixes:
An archive of the Usenet newsgroup net.v7bugs from Henry Spencer; other archives of bug fixes for 2BSD and 4BSD.
Tools:
Several tools for dealing with tape archive formats and filesystem formats from early versions of UNIX.
Emulators:
Several emulators for early UNIX hardware platforms.

The earliest files in the archive were from the 5th Edition, and are dated 27th November 1974. 4th Edition has apparently gone to /dev/null. But in January, Dennis Ritchie donated the source of a 3rd Edition kernel to the archive. He says:

So far as I can determine, this is the earliest version of Unix that currently exists in machine-readable form. There are earlier paper listings of the assembly-language version for the PDP-11, and somewhat more fragmentary listings of the PDP-7 version; as of writing, they are on paper only. [T]he files were last touched on 22 Jan, 1973.

Unfortunately for future historians, nearly all of the details of incremental changes between UNIX versions has been lost. The exception is 4BSD. The crew at the CSRG at Berkeley began using SCCS to control the revisions on their source code from 1980, and so the development of 4BSD from this date onwards can be traced.

The hardware emulators in the archive are also very important, for although some people own old computers, most people in the Society do not. The emulators allow them to experience the environments provided by early UNIX despite the lack of suitable hardware. There are several PDP-11 emulators currently in the archive. As yet, there is no Vax emulator, but at least one PUPS member is planning on constructing such an emulator.

Providing Access to UNIX
Source

You still require a UNIX source license in order to access the source code of a UNIX system. This includes all versions of UNIX from Bell Labs, AT&T, USL, SCO, and all flavours of Unix that are tainted with UNIX source code, e.g Net/2 and 4.4BSD. The source code to Unix systems that are untainted, e.g Linux and the free BSDs, do not require a UNIX source license.

When PUPS was first started, you could not buy a source license for the historical versions of UNIX that we were interested in preserving. The only way of legally possessing UNIX source was to be an employee of an institution covered by an existing source license, or to buy a new UNIX source license costing tens of thousands of dollars.


\begin{pic}{lionssm.ps}{lionssm}{The Lions Commentary on V6 UNIX}
\end{pic}

Just before the 25th anniversary of UNIX in 1995, John Lions and Peter Salus began to lobby Novell (who owned the UNIX source) to allow Lions' commentary on the 6th Edition to be properly published. It wasn't until the UNIX source was sold to SCO that Salus (with Dennis Ritchie's help) persuaded SCO to release the Lions' commentary. This was finally published in July 1996 by Peer to Peer Communications and includes most of the kernel source to 6th Edition. The copyright prevents you from converting the source to machine-readable format.

Many of the people interested in early UNIX versions were severely restricted in what they could do, because they were not covered by an institution's source license. In early 1996, Steven Schultz and I began to lobby SCO for a solution. Initially, we hoped to get SCO to make early UNIX source freely available, but this was not to be. SCO believed that this would dilute the copyright on, and the trade secrets within, the current versions of UNIX produced by SCO. Therefore, a new type of source license was the only option.

We were lucky to contact Dion Johnson at SCO, who appreciated our wish for easy access to the old UNIX source, and our desire to abide by the conditions of a negotiated source license. In mid-1996 we conducted a Usenet survey to find out what conditions and costs in a license would be acceptable to most people. This was followed up by an on-line petition to SCO in July 1997, to make cheap licenses available. Over 300 people signed the petition.

Within SCO, Dion Johnson did the hard work of keeping the pressure on the legal eagles to create a source license for early UNIXes. Finally, in March 1998, SCO released their ``Ancient UNIX'' license. This costs US$100 and provides an individual, non-commercial-use, source license for:

Having 32V included on the license was critical, because a source license for 32V is required if you wish to obtain any of the tainted Berkeley Software Releases from CSRG.

Details on how to obtain an ``Ancient UNIX'' license from SCO can be found on the PUPS web page. Since the release of this license by SCO, over 120 people have bought licenses. SCO does not distribute any software with the licenses; instead, PUPS endeavors to distribute the software covered by the SCO license to licensees if they want it.

Distributing the PUPS
Archive

PUPS distributes the PUPS Archive to UNIX source license holders (both the new ``Ancient UNIX'' license and the traditional licenses from Western Electric or AT&T) in two main ways.

UNIX source license holders can request access to the password-protected on-line version of the PUPS Archive. This is granted if I receive a paper copy of the source license which covers the individual; SCO helps by sending me copies of new ``Ancient UNIX'' licenses by international courier. The on-line PUPS Archive is the canonical, up-to-date version of the archive. Currently, 65 people have on-line access to the archive.

PUPS also distributes copies of the PUPS Archive on CD-ROM or magnetic tape. Again, the person must prove that they are covered by a UNIX source license. PUPS has eighteen people around the world who can duplicate CDs or tapes, and post them to licensees. This distribution is done on a cost-recovery basis, and so the extra cost on top of the SCO license is minimal. It hard to say exactly, but we have distributed at least two dozen CDs in this fashion.

Related to the PUPS Archive distribution is the four CD set that Kirk McKusick sells. This contains all of the BSD software releases from the CSRG from 1BSD up to 4.4BSD-Lite2. We count all of this material as part of the PUPS Archive (naturally!), but it isn't included on-line or distributed by CD, so as to not compete with Kirk's CD set.

Old Artwork

The UNIX Heritage Society is interested in collecting anything that is related to old UNIXes, and this includes UNIX-related artwork. Kirk McKusick is tracking the history of the BSD daemon ``beastie'', for which he owns the copyright, on his home page.

It may surprise you to know that the term `daemon' was already associated with UNIX before the first BSD was distributed in 1978; it was used to describe the ``line printer daemon'' in 6th Edition UNIX in 1976. One of the earliest pieces of UNIX artwork, done in 1976 by artist Phil Foglio, shows several daemons holding forks on a PDP-11 festooned with pipes and a bucket labelled NULL.

Unfortunately, the original artwork has since been mislaid. Phil Foglio originally drew the artwork for Mike O'Brien, who then lent it to Armando Stettner at DEC for use in an advert in the 1980s. Neither Armando nor Jon Hall at DEC have been able to track what happened to it after that.


\begin{pic}{foglio.ps}{foglio}{Phil Foglio's 1976 artwork}
\end{pic}

Many other photos, drawings, diagrams and works of UNIX art are probably still lying in people's drawers or shoeboxes. PUPS would certainly be glad to add digital copies of these to the PUPS Archive, with due credit given to the owners of the original images.

Old Documentation

Although most of the UNIX source code from before 5th Edition has disappeared, we are fortunate that paper copies of all the research editions still exist. Dennis Ritchie, whose home page already contains many interesting historical items, has scanned in the paper manuals from 1st Edition UNIX and put them on his web page. Two other PUPS members, Norman Wilson and Robert D. Keys, have been OCR'ing the manuals from 1st Edition up to 5th Edition, so that they can be given to Dennis and added to the PUPS Archive.

Newsletters

In the 1970s, AT&T was not allowed to sell software due to an anti-trust restriction. UNIX source was licensed and distributed on an `as-is, no support, no bugfixes' basis. Various Unix users groups were formed to fill this void: Usenix, EUUG, AUUG etc. The newsletters that they published hold a great deal of valuable information about the early days of UNIX. One problem here is that these user groups still exist, and they still have the copyright on all their publications.

Dave Horsfall, a long-time member of AUUG, has told me that he has ``every issue of AUUGN lying around here somewhere. Somewhere''. If possible, I am going to try and co-ordinate with him to get the old editions of AUUGN scanned in, and then donate the scanned versions to AUUG. We will also ask AUUG to grant PUPS permission to add some of the most interesting AUUGN articles to the PUPS Archive.

The UNIX Family Tree

One other project, which interests me personally, is the construction of a UNIX family tree. Access to the PUPS Archive here is vital, as it allows me to get accurate information about the release dates and genealogy for each of the flavours of UNIX that have been released.

What is currently lacking in the current tree is information about commercial versions of UNIX such as AIX, Xenix, Ultrix, Solaris and the like. I would appreciate being contacted by people who might be able to provide me with relevant information.

Another effort at mapping the UNIX genealogy is being conducted by Eric Levenez in France.

Conclusion

To many people, preserving early versions of UNIX might seem to be a strange pastime. However, those who collect or restore old books, cars, antiques or other collectibles might understand what motivates the effort to save UNIX from /dev/null.

Since the creation of the PDP UNIX Preservation Society in 1995, we have acquired an impressive archive of material from the early days of UNIX, including many early versions. We now have a loose network of over 100 people who can help each other out with questions about old UNIXes and old hardware. One of our most important achievements is to have successfully lobbied SCO to release cheap source licenses for many of these early versions of UNIX.

Preservation of the UNIX legacy will be an ongoing effort. We have made a good start at capturing what exists today. As we move into the new century, the emphasis of PUPS will probably move to preserving systems from the 1980s (and 1990s!).

PUPS will always be interested in the history and artifacts of UNIX. If you have anything which you think might belong in the PUPS Archive, or you know someone who might have something to add, then please contact us so that we can save it before it is irrevocably lost.

And, perhaps, you just might like to see what else we have as well...

Bibliography

1
P. Salus.
A Quarter Century of UNIX.
Addison-Wesley, 1994.
ISBN 0-201-54777-5.

2
D. Libes and S. Ressler.
Life with UNIX.
Prentice-Hall, 1991.
ISBN 0-13-536657-7.

3
M. Hauben and R. Hauben.
Netizens: On the History and Impact of Usenet and the Internet, chapter 9.
IEEE Computer Society, 1997.
0-8186-7706-6.

4
W. Toomey.
PUPS Homepage.
URL http://minnie.cs.adfa.edu.au/PUPS/.

5
W. Toomey.
TUHS Homepage.
URL http://minnie.cs.adfa.edu.au/TUHS/.

6
W. Toomey.
PUPS Mailing list.
URL http://minnie.cs.adfa.edu.au/PUPS/maillist.html.

7
Available PDP-11 Emulators.
URL ftp://minnie.cs.adfa.edu.au/pub/PDP-11/Sims/.

8
J. Lions.
Lions' Commentary on UNIX 6th Edition, with Source Code.
Peer-to-Peer Communications, 1996.
ISBN 1-57398-013-7. URL http://www.peer-to-peer.com/catalog/opsrc/lions.html.

9
K. McKusick.
Kirk McKusick's Homepage.
URL http://www.mckusick.com.

10
D. Ritchie.
Dennis Ritchie's Homepage.
URL http://cm.bell-labs.com/who/dmr/index.html.

11
W. Toomey.
UNIX Family Tree.
URL http://minnie.cs.adfa.edu.au/Unix_History/index.html.



Footnotes

...UNIX1
UNIX is a trademark of X/Open, I think: the ownership keeps changing. UNIX is apparently still an adjective; heaven knows why.

Warren Toomey
1999-01-19