On Sun, Oct 05, 2014 at 11:36:33AM +0200, Ingo Schwarze wrote: > Hi, > > talking about setting the record straight... > > System Administrator wrote on Sat, Oct 04, 2014 at 11:57:56PM -0400: > > > 2. Open*BSD* as the name implies, had no "decades old" Unix code and > > by now has had much of the _original_ BSD code replaced as well. > > The ancestors of OpenBSD are, in direct line only: > > * Version 1 AT&T UNIX (Nov. 1971) > * Version 2 AT&T UNIX (June 1972) based on v1 > * Version 3 AT&T UNIX (Feb. 1973) based on v2 > * Version 4 AT&T UNIX (Nov. 1973) based on v3 > * Version 5 AT&T UNIX (June 1974) based on v4 > * Version 6 AT&T UNIX (May 1975) based on v5 > * PWB/UNIX 1.0 (July 1977) based on v6 > * 1BSD (Mar. 1978) based on v6 > * Version 7 AT&T UNIX (Jan. 1979) based on v6 and PWB > * 2BSD (May 1979) based on v6 > * Version 32v AT&T UNIX (May 1979) based on v7 > * 3BSD (Feb. 1980) based on 32v and 2BSD > * 4.0BSD (Nov. 1980) based on 3BSD > * 4.1BSD (June 1981) based on 4.0BSD > * 4.1aBSD (May 1982) based on 4.1BSD > * 4.1cBSD (Dec. 1982) based on 4.1aBSD > * 4.2BSD (Sep. 1983) based on 4.1cBSD > * 4.3BSD (July 1986) based on 4.2BSD > * 4.3BSD-Tahoe (June 1988) based on 4.3BSD > * BSD Net/1 (Mar. 1989) based on 4.3BSD-Tahoe > * 4.3BSD-Reno (June 1990) based on Tahoe and Net/1 > * BSD Net/2 (Aug. 1991) based on 4.3BSD-Reno > * 386BSD 0.0 (Mar. 1992) based on Net/2 > * 386BSD 0.1 (July 1992) based on 386BSD 0.0 > * NetBSD 0.8 (Apr. 1993) based on 386BSD 0.1 > * 4.4BSD (June 1993) based on Reno and Net/2 > * NetBSD 0.9 (Aug. 1993) based on NetBSD 0.8 > * 4.4BSD-Lite1 (Apr. 1994) based on 4.4BSD > * NetBSD 1.0 (Oct. 1994) based on NetBSD 0.9 and 4.4BSD-Lite1 > * 4.4BSD-Lite2 (June 1995) based on 4.4BSD-Lite1 > * OpenBSD 1.2 (July 1996) based on NetBSD 1.0 > * OpenBSD 2.0 (Oct. 1996) based on OpenBSD 1.2 and 4.4BSD-Lite2 > > It is true that much of the original BSD code has been replaced. > But looking closely, you will still find decades old code from > almost all BSD releases. Compare, for example, > > > http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/expand/expand.c?annotate=HEAD > > to > > http://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/s6/expand.c > > in particular the main loop. Yes, much of the code has been amended, > but some parts remain unchanged since more than 36 years ago. > According to the Berne Convention, that file still contains text > covered by Bill Joy's Copyright, even though - following U.S. > Copyright law - the Copyright Notice only mentions The Regents. > That is just one of no doubt many examples. > > It is even possible that OpenBSD still contains traces of decades > old AT&T UNIX code. Good candidates for looking are the following 23 > files, see http://www.groklaw.net/article.php?story=20041126130302760 : > > sys/kern/init_main.c > sys/kern/kern_clock.c > sys/kern/kern_exec.c > sys/kern/kern_exit.c > sys/kern/kern_physio.c > sys/kern/kern_sig.c > sys/kern/kern_synch.c > sys/kern/subr_rmap.c > sys/kern/sys_generic.c > sys/kern/sys_process.c > sys/kern/tty.c > sys/kern/tty_subr.c > sys/kern/vfs_bio.c > sys/kern/vfs_syscalls.c > sys/sys/buf.h > sys/sys/proc.h > sys/sys/tty.h > sys/ufs/dinode.h > sys/ufs/inode.h > sys/ufs/ufs_bmap.c > sys/ufs/ufs_disksubr.c > sys/ufs/ufs_inode.c > sys/ufs/ufs_vnops.cl > > I checked init_main.c, and it still says: > > * (c) UNIX System Laboratories, Inc. > * All or some portions of this file are derived from material licensed > * to the University of California by American Telephone and Telegraph > * Co. or Unix System Laboratories, Inc. and are reproduced herein with > * the permission of UNIX System Laboratories, Inc. > > I'm too lazy now to check whether any of that code *actually* still > remains or if it has *incidentally* all been replaced since. In > any case, i'm not aware that there ever was any *intentional* effort > to replace AT&T UNIX code in these files. So your claim that none > remains seems somewhat bold to me. Then again, if any remains, it > is certainly not a large amount. > > History is fun (litigation not so much). > > Yours, > Ingo
And please keep in mind that the statement "old code = bad code" is not true. Old code can be bad or good, just like new code. -Otto