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
verbose/painful.
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.
Cheers,
Richard