In 2014, the Computer History Museum released the Xerox Alto file server archive, constituting about 15,000 files from the Xerox Alto personal computer including the Alto operating system; BCPL, Mesa, and (portions of the) Smalltalk programming environments; applications such as Bravo, Draw, and the Laurel email client; fonts and printing software (PARC had the first laser printers); and server software (including the IFS file server and the Grapevine distributed mail and name server). I told the story behind that archive here.
Today CHM released the Xerox PARC Interim File System (IFS) archive:
The archive contains nearly 150,000 unique files—around four gigabytes of information—and covers an astonishing landscape: programming languages; graphics; printing and typography; mathematics; networking; databases; file systems; electronic mail; servers; voice; artificial intelligence; hardware design; integrated circuit design tools and simulators; and additions to the Alto archive.
A blog post by David Brock introduces the archive. Access to the archive itself is available here.
I began working on this project in 2018 under an NDA with PARC: reading the old media prepared years earlier by Al Kossow, updating the conversion software I’d written for the earlier Alto project, and winnowing down a list of 300,000 files to the 150,000 files that I submitted to PARC management for approval. David Brock’s post ends with an Acknowledgments section noting all the people at CHM and PARC who contributed.
In 2023 computers are all around us: our phones, tablets, laptops, and desktops, and lurking inside our television sets, appliances, automobiles, to say nothing of our workplaces and the internet. It wasn’t always that way: I was born in 1949, just as the first stored-program digital computers were going into operation. Those computers were big, filling a room, and difficult to use. Initially a user would sign up for a block of time to test and run a program that had been written and punched into paper tape or 80-column cards.cThe fact that an expensive computer sat idle while the user was thinking or mounting tapes seemed wasteful, so people designed batch operating systems that would run programs one after the other, with a trained operator mounting tapes just before they were needed. The users submitted their card decks and waited in their offices until their programs had run and the listings had been printed. While this was more efficient, there was a demand for computers that operated in “real time”, interacting with people and other equipment. MIT’s Whirlwind, TX-0, and TX-2 and Wes Clark’s LINC are examples.
The ability to interact directly with a computer via a terminal (especially when a display was available) was compelling, and computers were becoming much faster, which led to the idea of timesharing: making the computer divide its attention among a set of users, each with a terminal. Ideally the computer would have enough memory and speed so each user would get good service. Early timesharing projects included CTSS at MIT, DTSS at Dartmouth, and Project Genie at Berkeley. By 1966, Berkeley (that is, the University of California at Berkeley) decided to replace its IBM batch system with a larger computer that would provide interactive (time-shared) service as well as batch computing. None of the large commercial computers came with a timesharing system, so Berkeley decided they would build their own. The story of that project—from conception, through funding, design, implementation, (brief) usage, to termination—is told here:
Paul McJones and Dave Redell. History of the CAL Timesharing System. IEEE Annals of the History of Computing, Vol. 45, No. 3 (July-September 2023). IEEE Xplore (Open access)
How did I come to write that paper? In the winter of 1968-1969 I was invited to join the timesharing project. At that time I had about 2 years of programming experience gained in classes and on-the-job experience during high school and college (Berkeley). That wasn’t much, but it included one good-sized project—a Snobol4 implementation with Charles Simonyi—so the team welcomed me to the project. For the next three years I helped build the CAL Timesharing System, performed some maintenance on the Snobol4 system, and finished my bachelor’s degree. In December 1971, CAL TSS development was canceled, and I graduated and moved on to the CRMS APL project elsewhere on campus.
Those three years were hectic but immensely enjoyable. The team was small, with under a dozen people, housed first in an old apartment on Channing Way and then in the brand-new Evans Hall. Lifelong friendships were formed. People often worked into the night, when the computer was available, and then trooped over to a nearby hamburger joint for a late meal. Exciting things were going on around us. There were protests, the Vietnam War, and the first moon landings. Rock music seemed fresh and exciting. I had met my future wife in 1968, and we were married in 1970.
As CAL TSS came to an end, we all agreed the experience could never be equalled. But we didn’t realize people in the future would be interested in studying our system, so we weren’t careful about preserving the magnetic tapes. However many of us kept manuals, design documents, and listings, plus a few tapes. In 1980 and again in 1991 we had reunions and I offered to store everything until it became clear what to do for the long run. Around 2003 I started scanning the materials and organizing a web site. In 2022 the Computer History Museum agreed to accept the physical artifacts, and this year they agreed to host the web site:
It’s been almost a year since I posted to this blog, but I haven’t been completely inactive. This week, as part of its Software Gems: The Computer History Museum Historical Source Code Series, the Computer History Museum released a set of files archived in the 1970s and early 1980s from the Xerox Alto file servers at Xerox PARC. The files include source code, executables, documents, fonts, and other files.
This release has been a long time in the making. The files were originally archived to 9-track magnetic tape, but around 1991 they were transferred to 8mm tape cartridges. Around 2003, before he joined the Computer History Museum, Al Kossow, working under a Nondisclosure Agreement with PARC, transferred the 8mm tapes to DVDs, and sifted through the entire archive looking for files specifically related to the Alto — the archive had included files from many other projects over several decades. After many years of discussion, and the involvement of a number of people inside and outside of PARC, an agreement with CHM was finally signed in February 2011, and a CD with the Alto files that Al had located was given to CHM.
In August of 2013, I asked Len Shustek what had become of the files, and he suggested I write a blog post about them. So I talked to Al (now CHM software curator), who gave me a copy of the files. It turns out they were images of the tape records written by a Cedar Mesa program called the Archivist. Luckily, when the 9-track tapes were transferred to 8mm tapes, a file called rosetta.tar containing the Archivist source code plus some documentation was included on each tape. Once I obtained a copy of rosetta.tar I was able to write a program that “dearchived” the tape records, recreating a set of file directories. To make the files easier to view over the web, I added code to create a static web site allowing the files to be browsed, including translations from Bravo format to HTML and Press format to PDF. (Bravo was the first WYSIWYG word processor, and Press was a device-independent print-file format.)
There are 14680 files in all, of which 8598 are distinct. They include the Alto operating system; BCPL, Mesa, and (portions of the) Smalltalk programming environments; applications such as Bravo, Draw, and the Laurel email client; fonts and printing software (PARC had the first laser printers); and server software (including the IFS file server and the Grapevine distributed mail and name server).
Although not many people ever used an Alto, it had a huge influence on the hardware and software we use today, so I am very pleased that this software is now available for study.
The blog post Len invited me to write is here. The archive itself is here, but I recommend starting with this walk-through of the archive describing what is there and who wrote the various programs. More detail about the archive (provenance, naming conventions, file types, etc.) is available here.
Several years ago I began an archival collection for the Algol family of programming languages: Algol 58 (originally known as the International Algorithmic Language), Algol 60, and Algol 68. I began looking for implementations of Algol 58 and Algol 60. Since then I’ve also found information (including, in some cases, source code), for many Algol 68 implementations.
I’d like to announce the return of a very useful Algol 68 resource: a scanned copy of Informal Introduction to Algol 68, posted by permission of coauthor Charles H. Lindsey and copyright holder IFIP. This is the revised 1980 reprint of the second (“completely revised”) edition of 1977. For convenience, I’ve also posted separate files containing the large fold-out Table of Contents and the appendix of Syntax Charts.
This book, together with Marcel van der Veer’s modern Algol 68 Genie implementation and the extensive documentation accompanying it (including a hypertext version of the Revised Report) provide an excellent way to study Algol 68.
In addition to the above-mentioned, a number of other people have contributed to the overall Algol archive project. I’d like to single out Neville Dempsey for his dedication to spreading knowledge of and appreciation for Algol 68.
Update 2024/05/8: Updated link for Neville Dempsey.
In today’s wired world, people will start experimenting with an interesting new programming language shortly after it appears on a hosting service. But things took longer in the early days of Lisp. McCarthy’s famous paper[1] on Lisp was presented at a conference in May 1959 and published in CACM in April 1960, by which time a system with an interpreter and compiler was running on MIT’s IBM 704; the paper notes “A programmer’s manual[2] is being prepared.” Gradually copies of Lisp were requested by other IBM installations (the system was ported to the 709 and then the 7090). Modifications were often required to adapt it to a particular hardware configuration or operating environment and it was several years before Lisp was adapted to other kinds of computers. Without the internet or “social networking”, the propagation of ideas depended even more heavily on people. The physicist Harold V. McIntosh was one of the first to spread Lisp beyond MIT.
In July 2010 I wrote about the collection of Lisp and artificial intelligence documents that Herbert Stoyan donated to the Computer History Museum. Today I’m glad to be able to announce that the finding aid is online at CHM and the Online Archive of California. Additionally, more detailed descriptions about the items in the collection has been added to CHM’s online catalog, which can be searched here. (For example, try searching for MACLISP.) I’ve added scanned copies of many items from the collection to the History of LISP web site (which is also hosted by the CHM). I’m open to suggestions for scanning additional items from this collection. Also, if you have historical Lisp items that are not in the Stoyan collection, please consider donating them to CHM.
Last winter Herbert Stoyan very generously donated to the Computer History Museum the extensive collection of Lisp and AI materials he assembled in the course of his extensive study of Lisp and its history: manuals, technical reports, papers, books, listings, magnetic media, and even two Scheme chips.
Stoyan has been involved with Lisp for four decades. In the early 1970s he implemented Lisp using only Berkeley and Bobrow as a reference, and this system became the basis for all artificial intelligence work in his native East Germany. In the late 1970s he became interested in the history of Lisp, and published the book LISP – Anwendungsgebiete, Grundbegriffe, Geschichte (Akademie-Verlag, Berlin, 1980) about Lisp and its history. In 1981 he emigrated to West Germany and began a career as a university professor; by 1990 he became Professor of Artificial Intelligence of the Friedrich-Alexander-Universität Erlangen-Nürnberg. He also wrote the two-volume Programmiermethoden der Künstlichen Intelligenz (Springer, 1988) about artificial intelligence programming. (For more details, see his speaker biography from the 2007 International Lisp Conference.)
In addition to his first book, Stoyan has published a number of papers on the early history of Lisp, including:
The Herbert Stoyan Collection on LISP Programming (Lot X5687.2010) is quite large (105 linear feet, 160 boxes), and the Museum is currently in the throws of construction for the major new exhibit Revolution: The First 2000 Years of Computing. But through the combined efforts of staff and volunteers, the collection will be organized and made accessible, with portions scanned and available online. To get a taste of the depth and breadth of the collection, see Stoyan’s LISP Bibliography and searchable LISP-Museum. [Update 2015/01/10: the searchable version is no longer available.]
The arrival of this collection at CHM fulfills a dream that began for me in 2005 as I began work on History of LISP and first contacted Herbert Stoyan to timidly suggest he might contribute scans of selected items from his collection to CHM. His response — that he would be retiring in 3 years and needed to think about a permanent home for his collection — encouraged me to think that CHM might be the recipient. To get here from there, many people played important roles. At the risk of forgetting someone, I would like to thank Alex Bochannek, Grady Booch, Elizabeth Borchardt, Richard Gabriel, William Harnack, John Hollar, Paul Jabloner, Al Kossow, Karen Kroslowitz, Sara Lott, Bernard Peuto, Len Shustek, Dag Spicer, Herbert Stoyan, Kirsten Tashev, and JonL White. In addition, CHM volunteers John Dobyns and Randall Neff have labored to survey, pack, and catalog portions of the collection. (Additional volunteers would be welcome!) [Update 2015/01/10: Cataloging of the collection was completed in 2011.]
Update 2015/01/10: Stale links to Stoyan’s web sites replaced with Internet Archive Wayback Machine versions. Added link to finding aid for the Stoyan collection.
Observant audience members at Bjarne Stroustrup’s HOPL-IIIC++ talk this past weekend may have noticed on the last slide a mention of the C++ Historical Sources Archive at the Computer History Museum. This is a project Bjarne and I have been working on in the background for a year or two. Bjarne convinced the appropriate authorities at AT&T to approve releasing the Cfront source code, and then dug up listings, documentation, and/or machine-readable source for Cfront releases E, 2.0, and 3.0. Willem Wakker kindly supplied a copy of release 1.0. We have also tracked down some early libraries including libg++, COOL, LEDA, Array_Alg, STL, InterViews, ET++, and more. We would be very interested also in early applications written in C++ (especially pre-1990).
By the way, what was previously called the Software Collection Committee at the Computer History Museum has a new name (the Software Preservation Group), a new domain name (www.softwarepreservation.org) and a new chairman (Al Kossow, the Museum’s Software Curator and the creator of www.bitsavers.org).
Update 2024/05/08: Updated URLs for HOPL III and Bjarne’s talk.
Many people know of Al Kossow through his work on bitsavers.org, which I mentioned in a previous post. I’m very pleased to mention here Al’s recent appointment as the Robert N. Miner Software Curator at the Computer History Museum. Al is off to a great start on a variety of efforts including reading old magnetic media, etc. He asked me to post this item about an important recent development:
In the spring of this year, the Computer History Museum was contacted by someone who had several SDS 900 series machines, and told us that he had the entire SDS software library from Honeywell in the early 80’s.
The donation arrived at CHM on Friday, and I’ve spent the past few days going through it. It does, in fact contain ALMOST the entire collection as it existed at Honeywell in March, 1982. Unfortunately, the 940 timesharing system software was already gone from the library by 1982. Two 940 archive tapes, a set of user programs and the off-line diagnostics have survived.
There is a very large collection of user’s manuals, program writeups, paper and magnetic tape. This is the largest software collection that has survived largely in one piece from a 60’s computer manufacturer that I’ve ever seen.
Scans of most of the program library listings are on line now at bitsavers under pdf/sds/9xx/programLibrary. I’m in the process of post-processing several dozen programming and other user’s manuals.
There are about 100 7-track tapes which will have to wait until I have a reliable way to read them. The smaller program library programs were written to 9-track tape in 1982, and those have been successfully read and a machine-readable index of their contents have been started.
Do you know anyone who may have worked for computer companies in the 60’s or 70’s that was a pack rat? The companies themselves have either disappeared or discarded this stuff literally decades ago!
This discovery has reinforced my opinion that there may still be large archives of 60’s and 70’s software in the hands of individuals, and that the most important thing to do is to get the word out that CHM is committed to the preservation of these archives, and has the facilities to recover these latent archives and keep them for posterity.
So if you are one of these people or you know one of them, please contact Al.
Update 2016/1/2: Updated several URLs.
Update 2024/05/08: Updated URL for Al Kossow at CHM.
Based on the progress I’ve made with FORTRAN, I decided to start another effort at the Computer History Museum to track down source code and documents for the original M.I.T. LISP I/1.5 project. I have made some progress, and am assembling a LISP web site at the Museum to organize and present the materials I’ve collected so far, including:
LISP 1.5: Assembly listing for IBM 709/7090 standalone system, and also CTSS port. Information about various other ports and reimplementations including Univac M-460, Q-32, Univac 1108.
PDP-1 Lisp: links to the documentation, source code and simulators
MacLisp (PDP-6, PDP-10): links to documentatation and source code
BBN-LISP: the manual for the original PDP-1 version and the Tenex version (coming soon: preliminary specifications for the 940 version)
and many more.
As always, your comments are welcome. What am I missing? What facts have I gotten wrong? Please help fill in the gaps.
[Edited 10 May 2014: community.computerhistory.org/scc => www.softwarepreservation.org.]
My efforts to track down source code and documents from the original IBM 704 FORTRAN project have been one of the pilot projects of the Software Collection Committee at the Computer History Museum. I’m starting to assemble a web site at the Museum to organize and present the materials I’ve collected so far. I’d appreciate your comments regarding both the form and the content.
[Edited 10 May 2014: community.computerhistory.org/scc => softwarepreservation.org. Note the Software Collection Committee was renamed the Software Preservation Group.]
Although the majority of items at Al Kossow’s bitsavers.org are scanned copies of manuals, he also has software in source and/or executable form for a variety of machines (scroll down to “The Software Archive”) . Some of the oldest include MIT’s TX-0 and DEC’s PDP-1.
His manual collection also includes scanned copies of source code listings for some historic machines, including MIT’s Whirlwind and The University of Illionois’ ILLIAC I (scanned from hardcopies belonging to Wayne Lichtenberger).
Al notes that David Green is writing a simulator for the version of the ILLIAC built at the University of Sydney. Update [when?]: TX-0, PDP-1, and ILLIAC I URLs following changes at bitsavers.org.
Update 2024/05/07: David Green’s URL via Internet Archive Wayback Machine.