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

Reply via email to