Page MenuHomeFreeBSD

cam: Update scsi_all.h to reflect 30 years of evolution
ClosedPublic

Authored by imp on Feb 14 2025, 10:25 PM.
Tags
None
Referenced Files
Unknown Object (File)
Apr 3 2025, 12:05 AM
Unknown Object (File)
Mar 23 2025, 12:02 AM
Unknown Object (File)
Mar 8 2025, 6:35 PM
Unknown Object (File)
Mar 7 2025, 7:34 AM
Unknown Object (File)
Feb 27 2025, 1:31 AM
Unknown Object (File)
Feb 27 2025, 1:03 AM
Unknown Object (File)
Feb 18 2025, 11:57 PM
Subscribers

Details

Summary

scsi_all.h started out life as a work by Julian Elischer to add SCSI
support to CMU Mach 2.5. It was 373 lines. Julian ported this to 386BSD,
included in the 386BSD patch kit and incorported into FreeBSD at its
creation. Justin used this file when writing CAM, and imported it with
the initial CAM import, but only 30% (100 lines) of the original
remained. Justin moved from bitfields to bytes in structures, dropped
the complex unions, and renamed many structures to have their length
appended. Only about 30 structure names and about 40 #defines remained
from the original. The define names were taken directly from the SCSI
standard with spaces replaced by '_', so had no creativity. Apart from
the license comment, there were no comments retained (all the comments
in the CAM import were written by Justin and Ken). Even at that time,
Justin and Ken could have put their copyrights and names and moved to an
acknowledgement of Julian.

In the almost 30 years since that original import, this file has grown
to 4500 lines. Kenneth Merry, Alexander Motin and Justin Gibbs write
85% of the file's lines, if mechanical commits are omitted. Other
contributors contributed less than %5 each of the file.

Replace the original license (which lacked a copyright even and has been
criticized as ambiguous) with FreeBSD's standard 2-clause license. Add
copyrights for Justin, Ken and Alexander, with the date ranges they
contributed to the file. Add a note about the origin of the file to
acknowledge Julian's original work upon which all this was built, though
it's become a ship of Theseus in the mean time, built and rebuild many
times.

On an absolute scale, there's less than 1% of the current file with
lines from the original, and those are named after the names in the SCSI
standards and likely wouldn't qualify for copyright protection.

Sponsored by: Netflix

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

imp requested review of this revision.Feb 14 2025, 10:25 PM

Fine with me...but are we not actually putting the text of the license in the file anymore?

In D49016#1117592, @ken wrote:

Fine with me...but are we not actually putting the text of the license in the file anymore?

No. That's been a shift in the last couple of years now that SPDX identifiers are sufficiently stable. This avoids the dozens of variations in the text of the license which is a bigger problem.

I tried to email Julian before adding people to this review (I'd forgotten about the automatic rule for cam), but didn't hear back from him.

Add mav, justin and Julian to the review and start to work my network of mutual friends to see if I can get his eyeballs on this.

This revision is now accepted and ready to land.Feb 19 2025, 9:41 PM