From 430b982fd0979c7b04c454dbdee5592bb2a7cba0 Mon Sep 17 00:00:00 2001 From: Diomidis Spinellis Date: Thu, 1 Jan 1970 00:00:00 +0000 Subject: [PATCH 1/1] Empty repository at start of Unix Epoch --- ALU-USA-statement.pdf | Bin 0 -> 38868 bytes Caldera-license.pdf | Bin 0 -> 12298 bytes LICENSE | 298 +++++++++++++++++++++++++++++++++++++ README.md | 334 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 632 insertions(+) create mode 100644 ALU-USA-statement.pdf create mode 100644 Caldera-license.pdf create mode 100644 LICENSE create mode 100644 README.md diff --git a/ALU-USA-statement.pdf b/ALU-USA-statement.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4bee71b22b279e71675133476a5f00d60134e3c9 GIT binary patch literal 38868 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

15cM}-c4bKG!mYpgGYii z{AhJ<=tV%&PSVZ2)3)OzMl>HS*%@NltyHXXG5u^*JOAu0O2h^AV01b*)Es@6RJ!ES zxBWQ(5EN?7}yBWFl@(+_?jdW!u$onVJ87vo!xAW;b)bWS9K&E=ReX@#eye z1gd~2C_25VTr*qxVz}hHtuySZ`K!sT1=pK05vtAtp9c-d5R>icpq)BhCZ3pTX^7d< z=WAz-lxbRd+j_Aqlm-qfC+?kN_PQ2j`AO_thlZlr_0Lz=yNr17$KTnja{5^3t!Sl8 zs`ca>3)~)@I~iw38GEG9mRk6MLyjSQ!7%(x+pBiAxeanY`o;;TQsZ3uSozyJIVy5x zIb|<}jIxT&sjwA+CvWtAWUanooYa;>dqQMj@OaIALEgC&n*G<*%{UNoH%{ZNH0se} z@bd)%s>?0j-Ytvw3VRaxNuHYCC&>b9deedA1S>QD z3DhwKD!#O=PjQv!WR9p%K#LrFZ$C=9-00x8?XqT3AZJpt{x^u6lT9Q#=?&GBWTuI!1ONzwrZS)Z1qi>k#NtTU zKS20jx5R`K&O<;5_zyST`TNKaUv;XYk{u}RHiyaO`ABw?`@~DJ+516xiV~U>i|ClV z&9SMd_K~(tRMIn;Cad_KX~2X^`SymESip%Sjj0qL4iZ@tg!+b>;;CCaI2QJt5Rrwr zM3|c}c|e6yO53S%tZw`8qMpsi(H`oeH;@+e>fW zj!rqnCrw%IJTRAWhqFceIX>;?6;t?Pjn|t;>);Je1%r6`=-cb1($wIqQLC4d?yEkB z^{R_s(s`bzdeQoMM=|$;k*HfN{oF&vKIbIo)AhtK-wG;M?~3vX@8En4)47+31;noI z{jvsQfB5~kg`5E&$WKSV-m#rmsJ`vuqP8zHNozrDyU@WW+9j-j9b+iuEkZK01$x{q zE?2ryC?ArNYg67aLA%M`_4IsIFOdjwjiya=9k`2PHtTrVs`tdx;`J!*YV@nJ#5X%P zy4kAgcg~VIM#{2=oSj`wdg}XeqGp6~(TGBQ@>78^EB~>NBljK~b|reauX|*sbLmyB z(rJ6&+}dIa?_d{IJ+jK3Vr@>gtC$rc6;1L=sP)RmsWtLeG{}SA!^WOc&0T#aoP)T+ z7DBS0QG2e4t}258h&S``|Dg|G-cmceOgfX{=6%qRn5nc|NC6P@phiPR1U#NU9qM> z$@6=(G{Iy{L@((t6#okte(hOB3DFF{-2MM`&q}yuKLiE~T}^dTC~ebn#SJ?>4b=@P zG9l!n#VBLwbkIb|bniowMin<$f1_|Uj*=jVpm zJo`O-s6~&3L6zM}#<_$wt5$^+6(<1`Um+#^-0?*u<66wI`cZW-FokZ=TiyVcVxDA)^--^mV<&WZ?As+ z6ga*gxWBhMp0K~)iY@)Q z)N?LzuJ1beRCcuIwuCs<`z^Y~Vj@3w_FzfN8Wut4r52Bv+DOFB^1IC2RH@}TJ<`hl zc!Z(A(6F+vl7vWk=%)PNF(;wjHdTQl`&uS-`_dxMy7oXLEu-r4I#f6D0DOr2KG_vR>z z$Hp?99v^7m*sYM5OQ;l;rsOI}2uDmleo0SU^uC zF%$=-qH|kzKD#l)#GrjbaQAN%Z^^GNjW&Q9$=O(0DS{Smrz+3Rdbq6+=W^J%%3u$nh~*R1ON#1`C+#4?(xVerY7;WF!nBc&o8OXiZ$Fo~0nuxl0AhC7-Nqp1tjAle7F zm@!e@nKFJ!ZrwW``6nD64r+=Rtm=(sOJ8Tvk5G{8xD;j2bj#0H|NATm{5|_@z1#;? z%T1~Go44H_rluU*B5Qw*e>4|uoF)ZHUEc2Up0Su0Tq&}8KrfF&rGA7lz)TC!1LF$? zOEP2AFFT6V-#^fgMrho0rX&**y)Vx|uEEf0)((}4vO0yz{|2WtZ z^QgORj^p{&*P6pQZgU~IAMeY>*eUvnDJ$OQ?xY?5TKEwDHFs1>@4PM%t3jCc3l>iA zuzAoaSsVMj(KeLFQhffj%gVC$5WfJEp+`U8cB-2sT(a#_5?lPTRMGHv&A?8}hM5I< ztf%Gvi*oa5IfX4evmde>73U*W-Cn%i`X!}w^0_Bl17l=qQpuxxj4v%3 zHZ5dcaFUzfeUFr=xw4>fLwGj>rUD}F>|(5%`9>BwrAdshms*B*SyY>pM>Rz|M}fZP zQ%gKAO8Qnxvz&QbLAd+?C5cgl~38u8O8I;x}S4{n}d>-+LQT{ z&Kf>G2a}`2M&yfB(yu*^ZX|SI$!@ZhPazHy_Awj?TZ7 zQz8|!<&5fa%qpCC$t92>KD?BX${BCK$*Ne`N82fGloji1yp~9}lz}EO(06&dd18;V zBZv13hw0^SS+1Wdl-QQ9*S>EHXfq3Sd{!aR7kC_&SUqhK?dkm-*fX~ z3nvxC(UOe5qm-pD-aU@L0y3~zT2yy*r=*+Ye(kbtykbEoP!%dD(39i1z;#u0$L02W zxuWN7uc|w;r}au1)WxbEYbUzapox&k?lIx1u9+pWipDbwrW_qkRUBBdBUYg<&S%9O zYG?C%=Dj*cYG2sH9-P@DW;Go5PPiDml)iMDQkCppz5D=kc8z1(O&&54qxCr{apa|E z-k>vYjw@9?UaGijCzYs;6R2)dtnKO7*9((jjx-NehKTiyJmifO9GNt#9(19rpc*}< z1BY_F`yLQ!;6{90-s9Z|<=kPL!eD_Dww(~pt*=K7l~=sR`Hs|!lc`%zEb~z|dw1{Fypqn;@rnDWpkMHQXx87P${#TxB~X^3g>I~ z&=uD91>UVaJ+4eeR=4YtlLKQlJj6@9{Nu=!q^!CQr>Hub57MMj5?2_M+!dF%(-H#p zN}JdP%N{VkoU?9zTl;9aTBueJJH>fRxXpbioMUiu)l*75PoPOfazwxy)fg)Oh&e+B za)xtcLmJ2I!(CBbI!5bSTiB$67d^w4aox4{70qIOT|Vmml_l-FlN{S&JPME1ym?NKgXgh)qy zO+tVWupJRG0D}M2(116F#ryqd9MsR_-h;+~&_cAg9T48hD`)44vqj;-ia_8O)&+=* z1&av-;YRjAJQonIg2wrH@e!gJF(^WW7q2E3Aos%A2_QC=YNnV1#I0NymhZ%@Uz{UCg4D|XJY5jdP1 zH{h@SXL$RMP+YL+KN0Fc+>baAKMhFZXM{Qwii80t +Date: Tue Jun 20 05:00:00 1972 -0500 + + Research V1 development + Work on file u5.s + + Co-Authored-By: Dennis Ritchie + Synthesized-from: v1/sys +[...] +commit 4030f8318890a026e065bc8926cebefb71e9d353 +Author: Ken Thompson +Date: Thu Aug 30 19:30:25 1973 -0500 + + Research V3 development + Work on file sys/ken/slp.c + + Synthesized-from: v3 +[...] +commit c4999ec655319a01e84d9460d84df824006f9e2d +Author: Dennis Ritchie +Date: Thu Aug 30 19:33:01 1973 -0500 + + Research V3 development + Work on file sys/dmr/kl.c + + Synthesized-from: v3 +[...] +commit 355c543c6840fa5f37d8daf2e2eaa735ea6daa4a +Author: Brian W. Kernighan +Date: Tue May 13 19:43:47 1975 -0500 + + Research V6 development + Work on file usr/source/rat/r.g + + Synthesized-from: v6 +[...] +commit 0ce027f7fb2cf19b7e92d74d3f09eb02e8fea50e +Author: S. R. Bourne +Date: Fri Jan 12 02:17:45 1979 -0500 + + Research V7 development + Work on file usr/src/cmd/sh/blok.c + + Synthesized-from: v7 +[...] +Author: Eric Schmidt +Date: Sat Jan 5 22:49:18 1980 -0800 + + BSD 3 development + + Work on file usr/src/cmd/net/sub.c +``` +### View changes to a specific file +Run +```sh +git checkout Research-Release +git log --follow --simplify-merges usr/src/cmd/c/c00.c +``` +to see dates on which the C compiler was modified. +### Annotate lines in a specific file by their version +Run +``` +git blame -C -C usr/sys/sys/pipe.c +``` +to see how the Unix pipe functionality evolved over the years. +``` +3cc1108b usr/sys/ken/pipe.c (Ken Thompson 1974-11-26 18:13:21 -0500 53) rf->f_flag = FREAD|FPIPE; +3cc1108b usr/sys/ken/pipe.c (Ken Thompson 1974-11-26 18:13:21 -0500 54) rf->f_inode = ip; +3cc1108b usr/sys/ken/pipe.c (Ken Thompson 1974-11-26 18:13:21 -0500 55) ip->i_count = 2; +[...] +1f183be2 usr/sys/sys/pipe.c (Ken Thompson 1979-01-10 15:19:35 -0500 122) register struct inode *ip; +1f183be2 usr/sys/sys/pipe.c (Ken Thompson 1979-01-10 15:19:35 -0500 123) +1f183be2 usr/sys/sys/pipe.c (Ken Thompson 1979-01-10 15:19:35 -0500 124) ip = fp->f_inode; +1f183be2 usr/sys/sys/pipe.c (Ken Thompson 1979-01-10 15:19:35 -0500 125) c = u.u_count; +1f183be2 usr/sys/sys/pipe.c (Ken Thompson 1979-01-10 15:19:35 -0500 126) +1f183be2 usr/sys/sys/pipe.c (Ken Thompson 1979-01-10 15:19:35 -0500 127) loop: +1f183be2 usr/sys/sys/pipe.c (Ken Thompson 1979-01-10 15:19:35 -0500 128) +1f183be2 usr/sys/sys/pipe.c (Ken Thompson 1979-01-10 15:19:35 -0500 129) /* +9a9f6b22 usr/src/sys/sys/pipe.c (Bill Joy 1980-01-05 05:51:18 -0800 130) * If error or all done, return. +9a9f6b22 usr/src/sys/sys/pipe.c (Bill Joy 1980-01-05 05:51:18 -0800 131) */ +9a9f6b22 usr/src/sys/sys/pipe.c (Bill Joy 1980-01-05 05:51:18 -0800 132) +9a9f6b22 usr/src/sys/sys/pipe.c (Bill Joy 1980-01-05 05:51:18 -0800 133) if (u.u_error) +9a9f6b22 usr/src/sys/sys/pipe.c (Bill Joy 1980-01-05 05:51:18 -0800 134) return; +6d632e85 usr/sys/ken/pipe.c (Ken Thompson 1975-07-17 10:33:37 -0500 135) plock(ip); +6d632e85 usr/sys/ken/pipe.c (Ken Thompson 1975-07-17 10:33:37 -0500 136) if(c == 0) { +6d632e85 usr/sys/ken/pipe.c (Ken Thompson 1975-07-17 10:33:37 -0500 137) prele(ip); +6d632e85 usr/sys/ken/pipe.c (Ken Thompson 1975-07-17 10:33:37 -0500 138) u.u_count = 0; +6d632e85 usr/sys/ken/pipe.c (Ken Thompson 1975-07-17 10:33:37 -0500 139) return; +6d632e85 usr/sys/ken/pipe.c (Ken Thompson 1975-07-17 10:33:37 -0500 140) } +``` +## How you can help +You can help if you were there at the time, or if you can locate a +source that contains information that is currently missing. +* If your current GitHub account is not linked to your past contributions, + (you can search them through + [this page](http://www.spinellis.gr/cgi-bin/namegrep.pl)), + associate your past email with your current account through your + [GitHub account settings](https://github.com/settings/emails). + (Contact me for instructions on how to add email addresses to which you no + longer have access.) +* Look for errors and omissions in the + [files that map file paths to authors](https://github.com/dspinellis/unix-history-make/blob/master/src/author-path). +* Look for parts of the system that have not yet been attributed + [in these files](https://github.com/dspinellis/unix-history-make/blob/master/src/unmatched) + and propose suitable attributions. + Keep in mind that attributions for parts that were developed in one place + and modified elsewhere (e.g. developed at Bell Labs and modified at Berkeley) + should be for the person who did the modification, not the original author. +* Look for authors whose identifier starts with ```x-``` in the + author id to name map files for + [Bell Labs](https://github.com/dspinellis/unix-history-make/blob/master/src/bell.au), + and + [Berkeley](https://github.com/dspinellis/unix-history-make/blob/master/src/berkeley.au), + and provide or confirm their actual login identifier. + (The one used is a guess.) +* Contribute a path regular expression to contributor map file + (see [v7.map](https://github.com/dspinellis/unix-history-make/blob/master/src/author-path/v7)) for + [4.2BSD](http://www.tuhs.org/Archive/4BSD/Distributions/4.2BSD/), + [4.3BSD](http://www.tuhs.org/Archive/4BSD/Distributions/4.3BSD/), + [4.3BSD-Reno](http://www.tuhs.org/Archive/4BSD/Distributions/4.3BSD-Reno/), + [4.3BSD-Tahoe](http://www.tuhs.org/Archive/4BSD/Distributions/4.3BSD-Tahoe/), + [4.3BSD-Alpha](http://www.tuhs.org/Archive/4BSD/Distributions/4.3BSD-Alpha/), and + [Net2](http://www.tuhs.org/Archive/4BSD/Distributions/Net2/). +* Import further branches, such as 2BSD, NetBSD, OpenBSD, and _Plan 9 from Bell Labs_. + +## Re-creating the historical repository from scratch +The -make repository is provided to share and document the creation process, rather than as a bullet-proof way to get consistent and repeatable results. For instance, importing the snapshots on a system that is case-insensitive (NTFS, HFS Plus with default settings) will result in a few files getting lost. + +### Prerequisites +* Git +* Perl +* The Perl modules `VCS::SCCS` and `Git::FastExport` +(Install with `sudo cpanm VCS::SCCS Git::FastExport`.) +* If compiling patch under GNU/Linux and library `libbsd` +(e.g. the `libbsd-dev` package). +* Sudo (and authorization to use it to mount ISO images) + +### Repository creation +The -repo repository can be created with the following commands. +```sh +make +./import.sh +``` + +## Adding a single source +If you want to add a new source without running the full import process, +you can do the following. + +* Prepare the source's maps and data +* `cd` to the repo directory +* Checkout the repo at the point where the new source will branch out +* Run a Perl command such as the following. + +``` +perl ../import-dir.pl [-v] -m Research-V7 -c ../author-path/Bell-32V \ +-n ../bell.au -r Research-V7 -i ../ignore/Bell-32V \ +$ARCHIVE/32v Bell 32V -0500 | gfi +``` + +## Further reading +- Diomidis Spinellis. A repository of Unix history and evolution. *Empirical Software Engineering*, 2017. doi:10.1007/s10664-016-9445-5. +[HTML](http://www.dmst.aueb.gr/dds/pubs/jrnl/2016-EMPSE-unix-history/html/unix-history.html), [PDF](http://www.dmst.aueb.gr/dds/pubs/jrnl/2016-EMPSE-unix-history/html/unix-history.pdf) +- Diomidis Spinellis. A repository with 44 years of Unix evolution. In *MSR '15: Proceedings of the 12th Working Conference on Mining Software Repositories*, pages 13-16. IEEE, 2015. Best Data Showcase Award. [PDF](http://www.dmst.aueb.gr/dds/pubs/conf/2015-MSR-Unix-History/html/Spi15c.pdf), [HTML](http://www.dmst.aueb.gr/dds/pubs/conf/2015-MSR-Unix-History/html/Spi15c.html), [poster](http://www.dmst.aueb.gr/dds/pubs/conf/2015-MSR-Unix-History/html/poster.pdf). +- Warren Toomey, First Edition Unix: Its Creation and Restoration, in *IEEE Annals of the History of Computing*, vol. 32, no. 3, pp. 74-82, July-Sept. 2010. doi:10.1109/MAHC.2009.55. [PDF](http://www.tuhs.org/Archive/Documentation/Papers/1eUnix_creation_restoration.pdf) +- Warren Toomey, The Restoration of Early UNIX Artifacts, in *USENIX ATC '09: 2009 USENIX Annual Technical Conference*. 2009. [PDF](https://www.usenix.org/legacy/events/usenix09/tech/full_papers/toomey/toomey.pdf) +- Diomidis Spinellis, Panagiotis Louridas, and Maria Kechagia. An exploratory study on the evolution of C programming in the Unix operating system. In Qing Wang and Guenther Ruhe, editors, *ESEM '15: 9th International Symposium on Empirical Software Engineering and Measurement*, pages 54–57. IEEE, October 2015. [HTML](http://www.dmst.aueb.gr/dds/pubs/conf/2015-ESEM-CodeStyle/html/SLK15.html), [PDF](http://www.dmst.aueb.gr/dds/pubs/conf/2015-ESEM-CodeStyle/html/SLK15.pdf) +- Diomidis Spinellis, Panos Louridas, and Maria Kechagia. The evolution of C programming practices: A study of the Unix operating system 1973–2015. In Willem Visser and Laurie Williams, editors, *ICSE '16: Proceedings of the 38th International Conference on Software Engineering*, May 2016. Association for Computing Machinery. doi:10.1145/2884781.2884799. [PDF](http://www.dmst.aueb.gr/dds/pubs/conf/2016-ICSE-ProgEvol/html/SLK16.pdf), [HTML](http://www.dmst.aueb.gr/dds/pubs/conf/2016-ICSE-ProgEvol/html/SLK16.html) +- Wikipedia: The Free Encyclopedia + - [History of Unix](https://en.wikipedia.org/wiki/History_of_Unix) + - [List of Unix systems](https://en.wikipedia.org/wiki/List_of_Unix_systems) + - [List of Unix commands](https://en.wikipedia.org/wiki/List_of_Unix_commands) + - [List of Unix daemons](https://en.wikipedia.org/wiki/List_of_Unix_daemons) + - [Research Unix](https://en.wikipedia.org/wiki/Research_Unix) + - [Berkeley Software Distribution](http://en.wikipedia.org/wiki/BSD_Unix) + - [Unix philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) +- TUHS: The Unix Heritage Society + - [The Unix Tree](http://minnie.tuhs.org/cgi-bin/utree.pl) +- Historical documents and data + - [PDP-7 Unix restoration project](https://github.com/DoctorWkt/pdp7-unix) + - [First Edition Unix printout - 1972](http://bitsavers.trailing-edge.com/pdf/bellLabs/unix/PreliminaryUnixImplementationDocument_Jun72.pdf) + - [Unix 32/V Report - 1978](http://cm.bell-labs.com/cm/cs/who/dmr/otherports/32vscan.pdf) + - [Berkeley CSRG Archive CD-ROMs](https://www.mckusick.com/csrg/index.html) +- Studies + - [M. Douglas McIlroy. A Research UNIX Reader: Annotated Excerpts from the Programmer's Manual, 1971-1986](https://archive.org/details/a_research_unix_reader) + - [Michael S. Mahoney. Unix at the Bell Labs - People](http://www.princeton.edu/~hos/Mahoney/unixpeople.htm) + +## Acknowledgements +* The following people helped with Bell Labs login identifiers. + * Brian W. Kernighan + * Doug McIlroy + * Arnold D. Robbins +* The following people helped with *BSD login identifiers. + * Clem Cole + * Era Eriksson + * Mary Ann Horton + * Warner Losh + * Kirk McKusick + * Jeremy C. Reed + * Ingo Schwarze + * Anatole Shaw +* The BSD SCCS import code is based on work by + * [H. Merijn Brand](http://search.cpan.org/~hmbrand/VCS-SCCS-0.20/SCCS.pm) + * [Jonathan Gray](https://github.com/jonathangray/csrg-git-patches/) + +## Build identification +* Software URL: https://github.com/dspinellis/unix-history-make +* Software SHA: 2548f4c5a28844490f036cc103a41432b06d9e58 +* Build timestamp: 2018-11-29 15:37:02 UTC -- 2.20.1