Unix gets 50 -- 50 links and pointers =========================================== As you might know, the Unix operating system turns 50 in these days. According to the history and the legend, Ken Thompson hacked the first versions of the filesystem, the kernel, the editor (ed) and the shell in about four weeks during summer 1969, while his wife was on vacation to the West Coast. The system was already running on a PDP-7 at the beginning of September 1969, so more or less exactly 50 years ago. There have been several events to celebrate this special anniversary, and other are planned for the next few months around the world. I am passionate about the Unix system, but I am not a historian and I happen to be a bit younger than needed, so I can't add more to the historical recollections about the origins and development of Unix. But I wanted to celebrate the event nonetheless, so I decided to compile a list of 50 references (links, resources, documents, books) that I think provide the best overview on the Unix history, development, philosophy, impact, and legacy. For each resource I provide a short description and a personal note. The list is in no particular order (the only exception being the very first entry), and there is a lot of interesting stuff so please just don't stop after the first few references. The plan is to adapt and mirror most of those resource on my gopher server as well, in due course. Errors and inaccuracies are entirely my fault. A toast to the next 50 years of Unix! -+-+-+- - https://www.bell-labs.com/usr/dmr/www/ The homepage of Dennis Ritche at Bell Labs. Dennis (known by his Unix username 'dmr') was the co-inventor of Unix, together with Ken Thompson, and the inventor of the C programming language. The webpage contains a lot of information about the history and development of Unix and of the C language. Dennis Ritchie passed away on October 2011, in the same week when Steve Jobs died. But, outside the Unix world, he did not receive the same level of acclaim and recognition as Jobs, despite his contributions to computer science have been immeasureably more important and long-lasting. Despite his humble and reserved nature, Dennis would have certainly been very happy to see his creature reaching its golden anniversary. Thanks Dennis. We all owe you AN AWFUL LOT. This list is dedicated to your memory. - https://www.levenez.com/unix/ A timeline of the Unix history, to be printed and hung in your living room (I actually used to have it in my living room for several years). - https://www.netjeff.com/humor/item.cgi?file=Foryouunixhackersoutthere The Unix poem, a typical example of Unix humour. - https://www.tuhs.org/ TUHS: The Unix Heritage Society (also known as The Eunuchs Hysterical Society). It's a group of Unix practitioners, developers, fans, historians, working to preserve the Unix legacy and history. The website contains a wealth of resources about Unix and its history. The mailing list is quite active and includes among its members many Unix gurus, including Ken Thompson, Steve Johnson, Doug McIlroy, and many others. - https://www.princeton.edu/~hos/frs122/unixhist/finalhis.htm Unix: an oral history. This website contains the transcripts of interviews to some of the protagonists of the Unix saga. It was put together by Gordon Brown in 1989, on the 20th anniversary of Unix. Full of insights and great adecdotes. - http://pdp11.org/ The PDP-11 Preservation Society Tangentially relevant to the history of Unix, if not else because the PDP-11 was the platform where Unix flourished and through which it reached the computer science departments of hundreds of universities around the world. The website is a collection of information on the PDP-11 family of mini computers. - https://en.wikipedia.org/wiki/The_Unix_Programming_Environment The Unix Programming Environment, B. Kernighan and R. Pike, Prentice Hall (1984). If you ever have to read only one book on Unix, please make sure this is the one you pick. The book is an extraordinary synthesis of the Unix philosophy, and every single page is worth one million times its weight in gold, even 25 years after its original publication. An absolute gem. - https://www.pearson.com/us/higher-education/program/Bach-Design-of-the-UNIX-Operating-System/PGM81513.html The design of the Unix operating system, M. J. Bach, Prentice Hall (1986). This has been the reference book on the internals of the Unix kernel for three decades. A simple yet deep explanation of the algorithms used to implement the file system, to manage processes, to provide access to resources, and to communicate to the userland. A masterpiece. - https://arstechnica.com/gadgets/2019/08/unix-at-50-it-starts-with-a-mainframe-a-gator-and-three-dedicated-researchers/ An article on the 50th anniversary of Unix by arstechnica. - https://en.wikipedia.org/wiki/The_C_Programming_Language The C programming language, B. Kernighan and D. Ritchie, (1978). If you think THE book on the C programming language has nothing to do with Unix, then think again. This book describes the language used to implement the Unix system (well, to re-implement it, since the first few versions were written in assembly), and had an immense impact on computing, effectively being the only C language reference for a decade. Still a great introductory book to C more than 40 years later. - http://manpages.bsd.lv/history.html History of Unix man pages. A timeline of the tools used to write and maintain the manpage in Unix and unix-like systems, - http://troff.org The history of troff. troff has been the tool used to write all the official Unix documentation (and in particular the man-pages) as well as most of the books on Unix until the early '90s. The webpage contains a lot of resources on troff, its history, and its implementations. - https://mirrors.pdp-11.ru/ A mirror containing various resources on Unix and other operating systems. - http://www.mckusick.com/ Kirk McKusick's webpage on BSD Unix. The webpage of one of the most prolific contributors to BSD Unix. Particularly interesting is the link to the CSRG Archive CD-ROMs, which include most of the versions of BSD released by the Computer Science Research Group at Berkeley. The CD-ROMs are also available on www.archive.org. - https://www.goodreads.com/book/show/605971.A_Quarter_Century_of_Unix A quarter century of Unix, P. H. Salus, Addison-Wesley (1994). A very interesting book on the history of Unix by Peter Salus, one of the most knowledgeable Unix historians. The book contains a lot of anecdotes, and reconstructs the beginnings as well as the early development of Unix. - https://www.goodreads.com/book/show/5273962-the-daemon-the-gnu-and-the-penguin The Daemon, the GNU, and the Penguin, P. J. Salus and J. C. Reed, Reed Media Services (2008). Another nice book from Peter Salus, about the history of BSD, Linux, and the GNU project. A digital (HTML) version of the book is available as well. - http://a.papnet.eu/ A webpage containing plenty of resources about ancient Unix and its derivative, and the evolution of the C programing language. - https://cat-v.org A website full of resources on Unix, programming, phylosophy, and much more. It includes sections on Unix, Plan9, Inferno, as well as a collection of documents about Bell Labs and all the strange and creative stuff that came out of there. - https://unix50.org/ A website made available by SDF to celebrate the 50th anniversary of Unix. You can run several historical version of Unix from your browser. Hope it stays online beyond 2019. - http://fortunes.cat-v.org/ A collection of "fortunes files" from different Unix and Unix-related systems. The command fortune(6) appeared in Unix V7 and officially entered the Unix culture by being used (and abused) in many different ways. fortune(6) prints a random quote or message from a simple text database. It was customary in many universities to have fortune(6) executed at login, so that each newly logged user would start their day with a laugh or a serious thought. Whether the sysadmin ever succeeded in their intentions is a totally different story... - http://doc.cat-v.org/unix/unix-before-berkeley/ A history of UNIX before Berkley: UNIX evolution 1975-1984. I. F. Darwin, G. Collyer (1984). This is a very nice paper about the development of the Unix kernel and the Unix userland up to Unix V8 (the latter was never commercialised or distributed outside Bell Labs, but tapes and boot images do exist). - http://9front.org 9Front is one of the surviving forks of "Plan9 from Bell Labs", a descendant of Unix V10 that was supposed to cure some of the design mistakes of Unix and to bring the concept that "everything is a file" to its most extreme consequences. Plan9 was considered by many "more Unix than Unix itself", but Bell Labs eventually decided to discontinue its development and the operating system remained essentially relegated to a small niche. 9Front is still actively developed by a handful of dedicated hackers. The last release at the time of writing is "SKIN OF EVIL", made available in Spring 2019. - https://pubs.opengroup.org/onlinepubs/9699919799 The Single Unix Specification. This website includes the definition of the POSIX standard as released by The Open Group. The reference that establishes what is POSIX-compliant and what is not, FWIW. You will probably be surprised in discovering that most of the Unix tools we use today include at least a few (and in some cases a lot of) non-POSIX extensions... - https://www.coulouris.net/cs_history/em_story/ The early days of Unix in the UK, as recalled by George Colouris who was at Queen Mary College (London) in the early '70s. The page also contains the history of how the vi editor originated from "em" ("ed for mortals"), an enhanced version of ed(1) written by Colouris at Queen Mary College, which he brought to Berkeley and showed to Bill Joy. Would you have imagined that Europe had such a role in the creeation of one of the iconic tools of the Unix environment? - https://github.com/dspinellis/unix-history-repo Unix history repo. A git repository that makes available all the existing versions of Research UNIX in a single place. It allows to compare different versions of Unix and Unix-like kernels to discover descendancy and/or divergences. - http://bitsavers.org/ Bitsavers. A website containing tons of historic software and documentation, including hundreds of images and tapes of historical Unix and unix-like systems. - http://simh.trailing-edge.com/ SimH, a simulator of historical computing systems from DEC, Data General, IBM, Interdata, Hewlett-Packard, Honeywell, and many other makers. Indispensable to run historical Unix versions. - http://www.stargatemuseum.org/ Stargate Museum. A website maintained by Mary Ann Horton (the most relevant among the Usenet pioneers) about the history of Unix, UUCP, email, and other great stuff. Particularly interesting are the historical maps of Usenet, recently collected at http://www.stargatemuseum.org/maps/ - http://www.minix3.org/ The website of the Minix operating system. Minix was developed in the mid '80s by Andrew Tanenbaum as an educational operating system. Its version 2.0 was effectively POSIX-compliant. Linux Torvalds started working on Linux to develop "a better Minix than Minix". - https://groups.google.com/forum/#!msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ The original message by Linus Torvalds on comp.os.minix, announcing that he was working on a clone of Minix. Linux started there. - https://nic.funet.fi/pub/ One of the oldest software and documentation archive on the Internet still surviving. This is where Linux was first released to the public. It still contains plenty of information, documentation, and old software. - http://pcc.ludd.ltu.se/ The website of pcc, the portable C compiler, originally written by Stephen Johnson at Bell Labs and released with Unix V7 aside with Ritchie's C compiler. pcc was the default C compiler on all the AT&T-derived Unix systems after V7 and up to System V. The compiler is still developed today and runs on several modern Unix platforms, including Linux and the BSD. - http://www.oldlinux.org/Linux.old/distributions/ A mirror of very old and early Linux distributions. - https://386bsd.org/ The website of 386BSD, the first open source BSD Unix operating system, made available by Bill and Lynne Jolitz in 1992. The system was also known as Jolix. FreeBSD and NetBSD were originally forked from that codebase. - https://www.fuzix.org The fuzix project. An amazing project by Alan Cox (yes, the same Alan Cox of the "-ac" Linux kernel branch) to revive old small Unix implementations for Z80 and other 8bit and 16bit platforms from the '80s. The project is currently under heavy development. FUZIX already works on more than a dozen architectures and includes a full-featured Unix environment in less than 32K or RAM. This is exactly the kind of trick you would expect from a genius like Alan Cox. - http://heirloom.sourceforge.net/ The Heirloom Project aims at providing traditional Unix tools and programs for modern Unix systems. You will find there the Heirloom Toolchest (all the standard Unix userland), The Heirloom Bourne Shell, The Heirloom Documentation Tools (troff, nroff, etc.), The Heirloom Development Tools (lex, yacc, m4, SCCS), as well as The Traditional Vi. Most of the software from the Heirloom project will run unaltered on modern Linux and BSD systems. - https://dilbert.com/strip/1995-06-24 A very famous comic strip in the Dilbert series. Here's a nickel kid. Get yourself a better computer. - https://www.bell-labs.com/usr/dmr/www/calderalicense2000.html In the early 2000s Caldera (somehow related to SCO Group and other evil operations, but please don't ask the details) acquired the copyright on Unix from Novell. After a lot of discussions with ancient Unix enthusiasts and fans, Caldera decided to release as open source all the historical versions of Unix developed at Bell Labs (collectively known as "Research Unix" and conveniently named "Ancient Unix" by Caldera). The result is the Licence for Historical Research Unix Systems available at the link above, which allows anybody to look at the code of historical Unix systems and to run those systems for any purpose without the need to buy a license. - http://www.tavi.co.uk/unixhistory/quasijarus.html A page containing information on how to setup and run a BSD4.3 (quasijarus) on an emulated VAX. Quasijarus was one of the latest releases of the Berkley System Distribution before the CSRG was dismantled in the early '90s. - https://sourceforge.net/projects/bsd42/files/Install%20tapes/ A collection of historical BSD images, with some information on how to run them on an emulator. - https://www.in-ulm.de/~mascheck/bourne/ A history of the Bourne Shell and its descendants. The Bourne Shell was the default Unix shell since Unix V7, and is the ancestor of the Korn Shell and, indirectly, of bash (the Bourne Again SHell). - https://www.in-ulm.de/~mascheck/various/ancient/ Another webpage containing historical Unix images and tapes. - https://www.youtube.com/watch?v=EY6q5dv_B-o Brian Kernighan interviews Ken Thompson (2019). The recording of an interview to Ken Thompson on the origin of Unix. The interviewer is another legend on Unix, Brian Kernighan (the "K" of "K&R"). - https://www.goodreads.com/book/show/515603.Software_Tools Software Tools. B. W. Kernighan and P.J. Plauger, Addison-Wesley (1976). This book is very much related to the Unix history and development. Kernighan and Plauger explain their theory about constructing "software tools", i.e., simple programs, each doing exactly one thing, and interconnected to each other to perform more complicated tasks. In practice, the book explained how to re-create a Unix-like userland on any computer, using a C-flavoured dialect of FORTRAN called "Ratfor", that they invented. The book was extremely popular in the '70s and in the '80s, and helped spreading the Unix philosophy far beyond the places where Unix was actually developed and run. A modern implementation of Ratfor is available and runs on Linux. - http://www.catb.org/esr/writings/taoup/html/ The Art of Unix Programming, E. S. Raymond (2003). This is a classic book on Unix philosophy, also available in digital format for free. The book discusses the unifying principles of Unix programming and development through a series of concrete examples. - http://www.tuhs.org/Archive/Documentation/Books/Life_with_Unix.pdf Life with unix. D. Libes and S. Ressler, Prentice Hall (1989). A classic book describing the Unix ecosystem at the end of the '80s. A great historical document, containing several chapters that are still of good value today. - https://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th_Edition,_with_Source_Code Lions' commentary on UNIX 6th Edition with Source Code, J. Lions, University of New South Wales (1976). This book was written by John Lions to teach the Unix operating system at the University of New South Wales, and is indeed a commentary on the source code of the Unix kernel. When Unix V7 was released, the book effectively became illegal overnight (the academic/research license for Unix V7 did not permit any more to teach the operating system in classrooms). Nevertheless, the book was passed down to dozens of generations of computer science students across the world in the form of photocopied notes. It is believed to be the most photocopied book in the history of computer science. The book was finally re-published a few years ago, but certified third or fourth generation photocopies of the original are still quite valuable specimens. - http://www.tuhs.org/Archive/Documentation/Papers/unix_cacm74.pdf The Unix Timesharing System, D. Ritche and K. Thompson, Communications of the ACM, 17(7), 1974. This is the famous article presented by Dennis Ritchie at the ACM conference in 1973 and published in the Communications of the ACM in 1974. - https://archive.org/details/a_research_unix_reader A Research Unix Reader, M. D. McIlroy, 1987. A great retrospective on the history of the Unix system and its development by Doug McIlroy. The paper recalls the names and the contributions of a lot of people who worked on Unix development at Bell Labs. - https://archive.org/details/4.3BSD_UNIX The design and implementation of the BSD 4.3 UNIX Operating System. S. Leffler, K. McKusick, M. Karels & J. Quartermann, Addison-Wesley, 1991. The reference book on the implementation of the most popular of the BSD releases, written by the developers who contributed to it. It is still considered one of the best introductions to the development of a real-world operating system.