[SIGCIS-Members] BSD (Berkeley Unix) history book

Jeremy C. Reed reed at reedmedia.net
Tue May 13 22:30:47 PDT 2014

I was encouraged last year to join this list to introduce my research 
and upcoming book about the history of the Berkeley Software 
Distributions. (My membership didn't kick in for a few months.)

I am authoring a detailed book covering the history of BSD / Berkeley 
Unix. One of its releases is known as the "Greatest Software Ever 
Written" -- selected by DARPA to be the standardized operating system 
platform for the DARPA research community, it became the widely 
distributed software release that included the TCP/IP Internet protocols 
and Internet server software to the world.

The book attempts to introduce the characters and events surrounding the 
BSD story. Some of my main goals were:

- Interview the ~74 original surviving contributors of the early BSDs 
(before 1981). (Sadly at least three early participants have already 

- Interview most of the contributors toward the 4.3BSD-Networking 
Release 2 and 4.4BSD-Lite2 distributions. (The replacement of 
proprietary software and key event in open source history.)

- Interview the founders and some key participants of CSRG, 386BSD, 
BSD/386, NetBSD, FreeBSD, OpenBSD, DragonFly, etc.

- Accurately and fairly share the stories for the key events in BSD 

- Cover the modern BSD histories.

I have already done over 85 interviews and the book draft is currently 
around 270 pages long with over 200 citations in the bibliography (and 
over a 100 additional that need to add to the bibtex file). The book 
has 26 chapters and is around 67,000 words. I have over 100,000 words of 
notes in my subversion tex files that are commented out.

(Quickly, for my related background: journalism degree from Western 
Washington Univ.; as a small book publisher, published over ten books; 
ran two BSD news/features websites; BSD sysadmin for only around 16 
years; active participant in the BSD community, lecturing at events and 
providing marketing and project management.)

I will quickly introduce some the methods used for researching my book:

- downloaded old BSDs release tarballs (including coding up support to 
extract now extinct archive formats) and purchased CSRG archives of BSD 
releases (including some experimental releases). The BSD releases 
included documentation with lots of acknowledgements, source code with 
lots of comments, some code revision history, binaries, real-world 
configurations, including some personal files from the key developers 
left in home directories that were tar'ed up with the releases. For the 
oldest releases, I skimmed through all the source code and all the 
documentation (manual pages, howtos, master theses, etc.). For newer 
larger releases, I programmatically searched for significant details. (I 
also skimmed through other old Unix-related archives for BSD-related 
histories.) CSRG sets also included administration emails, licensing 
details, letters to sponsors, etc.

- purchased the SCCS histories and used this to find the source code 
history for various code and documentation, etc. Note that some of the 
old sets had older code not found in the SCCS histories, plus some SCCS 
histories had gaps or were lost due to filename/directory moves. The BSD 
sets were used to fill in some holes and to find older code, including 
old SCCS or RCS metadata. For newer releases, I used CVS histories.

- took notes from BSD lectures and found all known BSD history articles

- built list of all contact names (including non-developers) for the 
earliest releases up to mid 1980, and then all contributors toward the 
later BSD releases, and then significant participants toward the modern 
day BSDs. I attempted contacting maybe hundreds of these participants 
via email or some social network sites. I heard back from over a 100. 
Generally before I contact the person, I search my now-massive digital 
collection of documents and then summarize what I know to help the 
participant recollect history from long ago. I did over 80 interviews by 
email, several by phone, and some in-person (at some conferences). All 
my interview notes are stored in separate per-person files. Often the 
participants name other people I should consider. Looking now, I see I 
have at least 454 names in my detailed list. I did interviews with 
inventors of many of the open source and Unix technologies in use today.

- organized a file system with categories of different files for notes, 
massive TODO list, list of people to contact, books to purchase, etc, 
and the collection of downloaded or scanned files categorized by decades 
(plus I kept track of where the data was obtained). (I also keep a file 
of typos, errata, or other bugs I found in lectures, books, old articles 
or documentation, such as name misspellings, wrong years, etc.)

- based on history specific articles and history books plus feedback 
from key participants, I defined the key stories that must be told and 
the key participants that must be introduced in the book. (But I have 
over a hundred side stories that have consumed my time and the book!)

- setup a subversion repo to track my book writing in LaTeX. Used 
comments to integrate notes in from all the histories I found, 
timelines (94 events), and integrated interviews.

- used old Usenet / newsgroups archives to supplement stories. (Google 
Groups has been useful with its date-based searches.) I also found 
various archives available for downloads. In addition, even some 
newsgroup postings and old email archives were included in some of the 
historical BSD releases and CSRG archives.

- found copies of old magazine articles and found archives old magazines 
at libraries. In addition, some contacts scanned documents or shipped 
documents to me.  I also transcribed or took notes from several 
interviews (done by others).

- found many old master theses, university (multiple schools) technical 
reports, BBN technical reports, legal documents, old (signed) software
licenses, etc. that had much history details.

- purchased every book that I learned about that contained BSD history 
and took detailed notes. (For what it is worth, to give you a size 
example of the most expansive BSD history in print: Salus's excellent 
Quarter Century book has two chapters totaling around 18 pages; and 
McKusick's most-interesting Open Sources chapter is around 7,300 words. 
Some of my chapters for short periods of time and for only single 
releases are longer.)

I have been working on it for over five years. I try not to cover the 
side stories too much; for example I cannot cover in great detail the 
history of Unix, history of BBN's related work, history of open source 
licensing, nor DEC, PDP-11 or VAX history. (I have noticed that other 
participants on this group have written some of this related work and at 
least one document is a source in my bibliography -- Thanks Dave W.!)

The amount of stories is amazing, such as connection between
co-inventor of Unix and Berkeley, Berkeley Pascal, Virtual Memory
Extensions for Unix "vmunix", VMS vs. Unix performance, DARPA
research and founding of CSRG, TCP/IP and Internet services, support
for multiple hardware platforms from one source tree, birth of
Berkeley licensing and replacing proprietary software, the continuation
of 2BSD (PDP-11), the Internet Worm, 386BSD and patchkits, birth
of NetBSD and FreeBSD, AT&T/CSRG/BSDI/Novell legal proceedings,
OpenBSD fork, and much more.

Plus lots of interesting side stories: adventure and trek; INGRES
database; SPICE2; birth of DNS; Email services (beyond and before
SMTP); commercial Unix licensing and then open source licensing;
first multi-processor support; revision control systems, BBN and
Unix and ARPANET work; founding of Sun (and other BSD-based Unixes);
and the intersection of BSD, Lucasfilm, Pixar, CMU Mach, NeXT, BSD
again, Rhapsody/Darwin/MacOSX, etc. Lots of the stories are outside
of University of California at Berkeley.

Four other potential book ideas from my work include: history of
open source licensing (as a side project I contacted the developers
of the code containing the first "open source" style licenses
known), history of X (Andrew window system, Verex, V window system,
W window system, and then MIT wouldn't use Stanford's code so birth
of "X", etc.), technical history of SUN and Sun Microsystems, and
history of MacOSX (starting over a decade earlier, see my "intersection"

I have missed several self-imposed deadlines for publishing the book. I 
have learned that every direction I take seems to bring in more 
never-ending stories (for example my recent research and interviews
introduced the history of Ultrix), so I have broke it down into a
few key things I need to cover and then ignore the many side stories
and TODOs not fully researched to save them for a "second edition"
of the book. My current work is to complete some integrations of
my interviews and finish tying in the stories; pay for proofreading
and editing for writing style; finish bibtex entries; send chapters
to my many waiting reviewers; integrate their feedback; complete
indexing; pay for cover artwork; and pay for another round of
proofreading. I will reset my goal: get the book to my printer by
end of August.

If anyone has advice or suggestions for research methods for similar 
technical computer or software history books, it may be interesting to 
continue a discussion about it.

I'd like to encourage any of you with an interest in the history of open 
source licensing, Unix, Berkeley Pascal, or BSD to contact me.

Thanks for reading!

  Jeremy C. Reed

echo 'EhZ[h ^jjf0%%h[[Zc[Z_W$d[j%Xeeai%ZW[ced#]dk#f[d]k_d%' | \
  tr            '#-~'            '\-.-{'
(This is a different book.)

p.s For fun ...

miscellaneous notes and todos:
t1:bsd-history$ wc * | grep " total$" 
   30781  140722 2035160 total

latex files:
t1:bsd-history$ wc svn-bsd-history/*tex | grep " total$" 
   33088  223360 1425282 total
t1:bsd-history$ egrep 'CITE:|\\cite{' svn-bsd-history/*tex | wc -l
t1:bsd-history$ grep '\\bibitem' generated/book.bbl  | wc -l

most of my interviews:
t1:bsd-history$ wc interviews/{done,todo}/*-interview* | grep " total$"
   15948  131526  750691 total

my collection of related Usenet postings, technical reports, SCCS 
histories, old BSDs, etc:
t1:bsd-history$ du -sm archives
5306    archives
t1:bsd-history$ find -x archives -type f | wc -l

More information about the Members mailing list