Skip to contentSkip to conversation

SPDX License text updates

RFC Tom Rini 3 participants 4 messages Jan 22, 2018

lore
Share & tools
lore

Tom Rini

author
#0 lore raw

Hey all,

In another thread Felix Brack brought up that as of version 3.0 of SPDX, there's a number of deprecated tags (see https://spdx.org/licenses/) and that we're using at least one of them.

Specifically, "GPL-2.0+" should be "GPL-2.0-or-later".

Now, we have a few options here:
- Deprecated isn't removed. SPDX specifically says the old links shall remain valid, etc, etc. We could continue to use "GPL-2.0+", etc and not have to change (literally) 8000 files. This will also keep us in line with what the Linux kernel currently does. I also have no idea, nor have I looked to see if that's going to change.
- Allow both old and new. Both are valid, the newer form allows for easier tooling and more precise management of options that I'm not sure apply to our use cases.
- Switch to the new tags. A few hour I imagine of playing around with sed and then manual fixups and I can probably convert all the existing cases to the new syntax (we have some DTS files for example with (GPL-2.0+ OR MIT) which would become (GPL-2.0-or-later OR MIT). But then we need some tooling to make checkpatch.pl at least noisy about unconverted and to get everyone into the habit of changing and so forth.

At this point in time I'm leaning towards the first, and as is often the case, watching what the kernel does. Thoughts / comments? Thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180122/8db2b457/attachment.sig>
#1 lore raw

Dear Tom,

Quoted 6 lines · In message <20180122170607.GL32220@bill-the-cat> you wrote:

In another thread Felix Brack brought up that as of version 3.0 of SPDX, there's a number of deprecated tags (see https://spdx.org/licenses/) and that we're using at least one of them.

Specifically, "GPL-2.0+" should be "GPL-2.0-or-later".

OK...

Quoted 9 lines

Now, we have a few options here:
- Deprecated isn't removed. SPDX specifically says the old links shall remain valid, etc, etc. We could continue to use "GPL-2.0+", etc and not have to change (literally) 8000 files. This will also keep us in line with what the Linux kernel currently does. I also have no idea, nor have I looked to see if that's going to change.
- Allow both old and new. Both are valid, the newer form allows for easier tooling and more precise management of options that I'm not sure apply to our use cases.

Both sound not really attractive to me.

Quoted 2 lines

- Switch to the new tags. A few hour I imagine of playing around with sed and then manual fixups and I can probably convert all the existing

Umm... where do you expect problems? Running for example

	fgrep -hR GPL-2.0+ * | sort -u | less

gives a realtively short list which looks harmless to me.

Quoted 2 lines

cases to the new syntax (we have some DTS files for example with (GPL-2.0+ OR MIT) which would become (GPL-2.0-or-later OR MIT). But

Yes, and why do you think this would be a problem?

We have a few other places that don't match current SPDX spcification, like all these

	GPL-2.0+        BSD-2-Clause
	GPL-2.0+        BSD-3-Clause
	GPL-2.0+ or X11
	GPL-2.0+        X11
	|____GPL-2.0+

but these cases are few and easy to spot. I currentlse see neither the need for "few hour of playing around with sed" nor the need for manual fxes - a plain string substitution should work just fine, and we could even clean up the other inconsistencies whil we are at it.

I vote for 3 plus additional cleanup.

Best regards,

Wolfgang Denk

Signature · 6 lines
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The scientists of today think deeply instead of clearly. One must  be
sane  to think clearly, but one can think deeply and be quite insane.
                                                       - Nikola Tesla
author
#2 lore raw
Quoted 24 lines · Wolfgang Denk

Dear Tom,

Quoted 6 lines · In message <20180122170607.GL32220@bill-the-cat> you wrote:

In another thread Felix Brack brought up that as of version 3.0 of SPDX, there's a number of deprecated tags (see https://spdx.org/licenses/) and that we're using at least one of them.

Specifically, "GPL-2.0+" should be "GPL-2.0-or-later".

OK...

Quoted 9 lines

Now, we have a few options here:
- Deprecated isn't removed. SPDX specifically says the old links shall remain valid, etc, etc. We could continue to use "GPL-2.0+", etc and not have to change (literally) 8000 files. This will also keep us in line with what the Linux kernel currently does. I also have no idea, nor have I looked to see if that's going to change.
- Allow both old and new. Both are valid, the newer form allows for easier tooling and more precise management of options that I'm not sure apply to our use cases.

Both sound not really attractive to me.

Quoted 8 lines
Quoted 2 lines

- Switch to the new tags. A few hour I imagine of playing around with sed and then manual fixups and I can probably convert all the existing

Umm... where do you expect problems? Running for example

	fgrep -hR GPL-2.0+ * | sort -u | less

gives a realtively short list which looks harmless to me.

Note we also need go convert "GPL-2.0" (and LGPL-...), but yes, that's only going to add a tiny bit more work.

Quoted 14 lines
Quoted 2 lines

cases to the new syntax (we have some DTS files for example with (GPL-2.0+ OR MIT) which would become (GPL-2.0-or-later OR MIT). But

Yes, and why do you think this would be a problem?

We have a few other places that don't match current SPDX spcification, like all these

	GPL-2.0+        BSD-2-Clause
	GPL-2.0+        BSD-3-Clause
	GPL-2.0+ or X11
	GPL-2.0+        X11
	|____GPL-2.0+
Quoted 4 lines

but these cases are few and easy to spot. I currentlse see neither the need for "few hour of playing around with sed" nor the need for manual fxes - a plain string substitution should work just fine, and we could even clean up the other inconsistencies whil we are at it.

This is the second time today I've not spoken clearly enough, sorry. Yes, the sed side of correcting "GPL-2.0+", "GPL-2.0" and the LGPL instances as well to take a minute, and perhaps another hour, hopefully no more than 2 to correct the multi-license things to follow the license expression format and update Licenses/README. I don't think that the above effort is a problem.

What I do see as at least a minor burden moving forward is catching new files with an SPDX tag of the old variety. Whacking checkpatch.pl to catch that will make sure I don't miss them (since I am running checkpatch.pl every time now). I see
https://patchwork.kernel.org/patch/10053699/ exists, and it's easy enough to extend that to catch old-style GPL-2.0/GPL2.0+/LGPL-2.0+/.. and warn about that.

Quoted 1 line

I vote for 3 plus additional cleanup.

Noted, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180122/1c9ae162/attachment.sig>
#3 lore raw
In reply to Tom Rini
Quoted 25 lines · On Mon, 22 Jan 2018 12:06:07 -0500 Tom Rini <[email protected]> wrote:

Hey all,

In another thread Felix Brack brought up that as of version 3.0 of SPDX, there's a number of deprecated tags (see
https://spdx.org/licenses/) and that we're using at least one of them.

Specifically, "GPL-2.0+" should be "GPL-2.0-or-later".

Now, we have a few options here:
- Deprecated isn't removed. SPDX specifically says the old links shall remain valid, etc, etc. We could continue to use "GPL-2.0+", etc and not have to change (literally) 8000 files. This will also keep us in line with what the Linux kernel currently does. I also have no idea, nor have I looked to see if that's going to change.
- Allow both old and new. Both are valid, the newer form allows for easier tooling and more precise management of options that I'm not sure apply to our use cases.
- Switch to the new tags. A few hour I imagine of playing around with sed and then manual fixups and I can probably convert all the
existing cases to the new syntax (we have some DTS files for example with (GPL-2.0+ OR MIT) which would become (GPL-2.0-or-later OR MIT). But then we need some tooling to make checkpatch.pl at least noisy about unconverted and to get everyone into the habit of changing and so forth.

Quoted 2 lines

At this point in time I'm leaning towards the first, and as is often the case, watching what the kernel does.

+1

Quoted 3 lines

Thoughts / comments?
Thanks!

Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de -------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180122/12fc8c71/attachment.sig>