On Mon, 2021-11-22 at 22:41 -0500, Neal Gompa wrote:
> I'd personally rather we didn't even make the *appearance* of a
> recommendation that SPDX-License-Identifiers are suitable replacements
> for standard license headers. Especially with licenses that declare
> *how* you're supposed to leverage a license for your software, this
> can be highly problematic.
> My personal feeling is that everyone who uses SPDX-License-Identifier
> as a replacement for proper license headers is doing a disservice to
> themselves, the community at large, and everyone who uses and and
> consumes that code. When code travels (e.g. Linux drm/ -> FreeBSD),
> it's super-easy for compliance and understanding to be missed because
> you've gutted the important information from the code itself. This
> also makes it difficult for the spirit and intent of licenses to be
> conveyed because you're reducing them to something that they're not:
> some checkbox somewhere. Moreover, you've effectively eliminated how
> people learn about the licenses the code uses.
If this was attempted some number of years ago, I'm not sure it would have been
appropriate but things evolve. Through the efforts of SPDX and others, I think
it is now very clear what these identifiers mean and how they can be used. It
makes the situation so much clearer to have a definitive short statement rather
than multiple copies of license text which are often subtly different from each
other or where people have avoided any license text at all as it was too
I say this as someone who helped adding the original license fields to
openembedded, trawling through tons of source code where it was often unclear
and ambiguous what license things were under. I'd strongly disagree it is a
disservice and stand by the decision to tidy up code headers in various
projects, some of which I've helped with. Yes you do need to be careful in
changing things but the resulting readability and usability improvements are
very much worthwhile.
I'll point out that the variations are an enormous pain in the ass for FreeBSD
and create more uncertainty and compliance issues not less. If I don't reproduce
every single license in the tree, verbatim, is that a material breach of the license?
Is the 'voices in Bill Paul's head' evidence of insanity of Bill Paul this making his
grant of license improper because insane people can't enter into legal
agreements? All of this is with the standard 'boiler plate' language.
I've also studied Unix history and noticed something interesting. In all CSRG's code
inside of SCCS, they had something like %License% for all the files, to be replaced
on release automatically. Even CSRG didn't want to slavishly copy the license text
around, but used that hack to impose uniformity without burdening the CSRG staff. :)