On Thu, Sep 8, 2022 at 4:26 PM Warner Losh <imp(a)bsdimp.com> wrote:
On Thu, Sep 8, 2022 at 4:16 PM Larry McVoy <lm(a)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 should have added it was one of the 23 files in 4.4lite that was
acknowledged
as having some AT&T code that AT&T agreed to release...
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