On Thu, Sep 8, 2022 at 4:16 PM Larry McVoy <lm@mcvoy.com> wrote:
On Thu, Sep 08, 2022 at 05:50:37PM -0400, Clem Cole wrote:
> > BSD is a different beast, as they were literally replacing the AT&T source
> > code before their eyes, so there isn't much argument that can be made for
> > 4.4BSD being a "clean-room" implementation of UNIX.
>
> It was not a clean-room as Arthur defined it.   It was rewritten over time,
> which replaced AT&T's implementation.  Which is all that was ever claimed.

And it's a false claim.  Go look at the Bell Labs bmap() and the BSD
bmap(), the last time I looked they were bit for bit identical.

Yea, this was part of the de minimis copying that was acknowledged...
It was mostly rewritten with most of AT&T's code gone. It's 110 lines of code,
out of ~18,000 lines of kernel code. And the structure in 4.4BSD is somewhat
different with balloc() being completely different than the rest of V7's subr.c.
 
I looked there because I split bmap() into bmap_read() and bmap_write()
because the read path is trivial and the write path is quite a bit more
difficult (this was all for the work srk imagined, and I did, to get
rid of the rotational delays).  So I was pretty familiar with that
code path and as of about 20 years ago, well past 4.4BSD, bmap() was
unchanged from either v7 or 32v.

But it likely didn't matter, since 32v likely lost its copyright protection due
to AT&T distributing too many copies without the required copyright markings.
At least that was the preliminary ruling that caused the suit to be settled...
AT&T didn't want it finalized, though the cat was somewhat out of the bag
at this point...
 
The weird thing is it isn't that hard to write something that would
walk the code and find other examples.  Nobody seemed to care.

Yea, most of the rest of the code around it was rewritten, but not that.

Warner