Cover +/-or-later/-only
Current version of SPDX license list is 3.2 (2018-07-10).
In 3.0 a huge change was made in which license (short) names for the whole GNU family of licenses was changed, e.g.:
- GPL-2.0 ↦ GPL-2.0-only
- GPL-3.0+ ↦ GPL-3.0-or-later
In order to stay up-to-date it would make sense to update the REUSE spec as well.
Unfortunately, this cannot be a simple search-and-replace, as within the specs we also state how the files including the license text should be named (e.g. LICENSES/GPL-3.0.txt in the current REUSE spec).
I see a few possibilities:
- Stick strictly to the SPDX License List 3.x and treat e.g.
LICENSE/GPL-3.0-only.txtandLICENSE/GPL-3.0-or-later.txtas two distinct texts (even though the text of both is identical and only differs in the FSF’s officially proposed header in the source code) and keep theValid-License-Identifiertags distinct in both as well. - Make as little changes to REUSE as possible and keep e.g.
LICENSE/GPL-3.0.txtfor both and include in it both the SPDX IDs:
Valid-License-Identifier: GPL-3.0-only
Valid-License-Identifier: GPL-3.0-or-later
License-Text:
[…]
- Same as № 2, but rename the file to
LICENSES/GPL-3.0-only - Same as № 2, but rename the file to
LICENSES/GPL-3.0-or-later - Same as № 2, but rename the file to
LICENSES/LicenseRef-GPL-3.0(probably the worst option).
Personally, for simplicity’s sake, I am most in favour of № 1, and then explaining how to handle having both code that is under GPL-3.0-only and code that is under GPL-3.0-or-later in the same repo/package in the FAQ.
+1 @silverhook
That is my preferred solution at the moment as well, because the tooling I'm currently using doesn't, as far as I can tell, handle the old "+" syntax very well. But tools should exist to accommodate people, not the other way around, so if there's a compelling reason to force the tooling to deal with the old "+" syntax, then I can look into that.
https://github.com/fsfe/reuse-tool/issues/18
The + syntax has not gone away. It is only that (to accommodate for FSF’s position) the GPL family is using -only/-or-later instead. All the other licenses that have an “or later” option/clause, continue to use the + syntax.
Ehh, I suppose you're right. Still need to deal with that, then. But the way I see it, the spec already (implicitly) recommends № 1 by referring to the actual license list. The FAQ still needs updating to be up-to-date with #27.
I see this the same way as you do, @carmenbianca. This seems to be kinda solved in Spec, but would need to be explained in the FAQ.
Is this still relevant? Shall we tweak the FAQ to explain the whole -or-later/-only/+ thingy, or has that become already clear enough?
I think the whole + vs -or-later and -only and which license texts to include will remain confusing for quite some time still.
Might make sense to bundle it up with the LGPL-3.0 question as well – i.e. which license text(s) to put into the LICENSES folder, using that license.