A repository of Unix history and evolution

The history and evolution of the Unix operating system is made available as a revision management repository, covering the period from its inception in 1972 as a five thousand line kernel, to 2016 as a widely-used 27 million line system. The 1.1gb repository contains 496 thousand commits and 2,523 branch merges. The repository employs the commonly used Git version control system for its storage, and is hosted on the popular GitHub archive. It has been created by synthesizing with custom software 24 snapshots of systems developed at Bell Labs, the University of California at Berkeley, and the 386bsd team, two legacy repositories, and the modern repository of the open source Freebsd system. In total, 973 individual contributors are identified, the early ones through primary research. The data set can be used for empirical research in software engineering, information systems, and software archaeology.

[1]  Diomidis Spinellis,et al.  A Repository with 44 Years of Unix Evolution , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[2]  Nobuo Takahashi,et al.  UNIX License Makes Linux the Last Major Piece of the Puzzle , 2013 .

[3]  Narain H. Gehani Bell Labs: Life in the Crown Jewel , 2003 .

[4]  M. E. Lesk,et al.  UNIX time-sharing system: Language development tools , 1978, The Bell System Technical Journal.

[5]  William Frederick Jolitz,et al.  Porting UNIX to the 386: a practical approach , 1990 .

[6]  M. Lesk,et al.  A Dial-Up Network of UNIX , 1999 .

[7]  B. W. Kernighan,et al.  The UNIX system: Program design in the UNIX environment , 1984, AT&T Bell Laboratories Technical Journal.

[8]  Dennis Ritchie,et al.  The development of the C language , 1993, HOPL-II.

[9]  Bjarne Stroustrup,et al.  The Design and Evolution of C , 1994 .

[10]  T. A. Dolotta,et al.  UNIX time-sharing system: The programmer's workbench , 1978, The Bell System Technical Journal.

[11]  John R. Mashey,et al.  Documentation tools and techniques , 1976, ICSE '76.

[12]  George Neville-Neil,et al.  The Design and Implementation of the FreeBSD Operating System , 2014 .

[13]  B. A. Tague,et al.  UNIX time-sharing system: Foreword , 1978, The Bell System Technical Journal.

[14]  Peter W. Resnick,et al.  Internet Message Format , 2001, RFC.

[15]  Warren Toomey The Restoration of Early UNIX Artifacts , 2009, USENIX Annual Technical Conference.

[16]  Peter H. Salus,et al.  A quarter century of UNIX , 1994 .

[17]  S. C. Johnson,et al.  UNIX time-sharing system: Portability of c programs and the UNIX system , 1978, The Bell System Technical Journal.

[18]  BabaogluÖzalp,et al.  Converting a swap-based system to do paging in an architecture lacking page-referenced bits , 1981 .

[19]  Bjarne Stroustrup,et al.  The C++ programming language (3. ed.) , 1997 .

[20]  Warren Toomey,et al.  First Edition Unix: Its Creation and Restoration , 2010, IEEE Annals of the History of Computing.

[21]  Murray Hill,et al.  Lint, a C Program Checker , 1978 .

[22]  Larry Wall,et al.  Programming Perl , 1991 .

[23]  Özalp Babaoglu,et al.  Converting a swap-based system to do paging in an architecture lacking page-referenced bits , 1981, SOSP.

[24]  Walter F. Tichy,et al.  Implementation and evaluation of a revision control system , 1982 .

[25]  Alfred V. Aho,et al.  Awk — a pattern scanning and processing language , 1979, Softw. Pract. Exp..

[26]  Dennis M. Ritchie The UNIX system: The evolution of the UNIX time-sharing system , 1984, AT&T Bell Lab. Tech. J..

[27]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[28]  Brian W. Kernighan,et al.  A system for typesetting mathematics , 1975, Commun. ACM.

[29]  S. R. Bourne An Introduction to the UNIX Shell , 2008 .

[30]  Joanne L. Martin,et al.  A Retrospective , 1988 .

[31]  D. M. Ritchie,et al.  UNIX time-sharing system: A retrospective , 1978, The Bell System Technical Journal.

[32]  Robert M. Siegmann Review of "Bell labs: Life in the Crown Jewel" by Narain Gehani, Silicon Press , 2003, UBIQ.

[33]  Don Libes,et al.  Life with UNIX : UNIXを愛するすべての人に , 1990 .

[34]  T. A. Dolotta,et al.  The programmer's workbench , 1986 .

[35]  M. E. Lesk,et al.  TB1—a program to format tables , 1990 .

[36]  A retrospective. , 2007, Ostomy/wound management.

[37]  Moni Naor,et al.  Job Scheduling Strategies for Parallel Processing , 2017, Lecture Notes in Computer Science.

[38]  M. E. Lesk,et al.  UNIX time-sharing system: The C programming language , 1978, The Bell System Technical Journal.

[39]  Bjarne Stroustrup Data abstraction in c , 1984 .

[40]  L. Rosler,et al.  The UNIX system: The evolution of C — Past and future , 1984, AT&T Bell Laboratories Technical Journal.

[41]  Brian W. Kernighan,et al.  A typesetter independent troff , 1981 .

[42]  S. R. Bourne Unix time-sharing system: the unix shell , 1978, The Bell System Technical Journal.

[43]  M. E. Lesk,et al.  UNIX time-sharing system: Document preparation , 1978, The Bell System Technical Journal.

[44]  Al Stevens,et al.  C programming , 1990 .

[45]  S. R. Bourne,et al.  The UNIX shell , 1986 .

[46]  Brian W. Kernighan,et al.  The m4 macro processor , 1977 .

[47]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.

[48]  Michael Gertz,et al.  Mining email social networks , 2006, MSR '06.

[49]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[50]  E. Schmidt,et al.  Lex—a lexical analyzer generator , 1990 .

[51]  Diomidis Spinellis,et al.  An Exploratory Study on the Evolution of C Programming in the Unix Operating System , 2015, 2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

[52]  M. E. Lesk,et al.  IMPLEMENTATION OF A DIAL-UP NETWORK OF UNIX SYSTEMS. , 1980 .

[53]  John S. Quarterman,et al.  Notable computer networks , 1991 .

[54]  Eric S. Raymond,et al.  The Art of Unix Programming , 2003 .

[55]  Stuart I. Feldman,et al.  Make — a program for maintaining computer programs , 1979, Softw. Pract. Exp..

[56]  Diomidis Spinellis,et al.  The Evolution of C Programming Practices: A Study of the Unix Operating System 1973-2015 , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[57]  J. F. Ossanna NROFF⁄TROFF User’s Manual , 2008 .

[58]  Andy B. Yoo,et al.  Approved for Public Release; Further Dissemination Unlimited X-ray Pulse Compression Using Strained Crystals X-ray Pulse Compression Using Strained Crystals , 2002 .

[59]  K. Lipartito Bell Labs: Life in the crown jewel , 2004 .

[60]  Harald C. Gall,et al.  Software Development Analytics (Dagstuhl Seminar 14261) , 2014, Dagstuhl Reports.

[61]  A. Retrospective,et al.  The UNIX Time-sharing System , 1977 .

[62]  Harald C. Gall,et al.  Software Development Analytics , 2014 .

[63]  W. Richard Stevens,et al.  Unix network programming , 1990, CCRV.

[64]  John Lions,et al.  Lions' Commentary on UNIX 6th Edition, with Source Code , 1976, Computer classics revisited.

[65]  Lee E. McMahon Sed—a non-interactive text editor , 1990 .

[66]  Michael Lesk,et al.  Language development tools , 1986 .