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.