Package: debian-policy Followup-For: Bug #649530 Hi all, I just noticed that SPDX have released a new version of their spec that agrees with what I was trying to propose originally here:
See [1] "Deprecated License" and [2] Appendix IV: SPDX License Expressions: | Simple License Expressions | | An SPDX License List Short Form Identifier with a unary"+" operator suffix to represent the current | version of the license or any later version. For example: GPL-2.0+ May we restart discussing updating debian's copyright-format to be consistent with this? To recap, in case people have forgotten: Currently the format 1.0 specifies (and lintian warns) if I have GPL-3 and GPL-3+ licensed files in my package, but I only have a GPL-3 License stanza (and not another "GPL-3+" stanza). My argument was that this is pointless redundancy, counterarguments complained that "+" was not well-defined, but then one could re-counter that "and" and "or" was also not well-defined. Anyway it looks like SPDX now agrees with me, and probably got fed up of this redundancy themselves. Concretely, what would need to be changed in copyright-format 1.1 would be similar to what SPDX have done, i.e.: a) define + an operator, similar to "or" and "and" that already exist b) drop the GPL-2+ et al "short names" c) define a "with <LicenseException" operator d) add a License-Exception paragraph Luckily SPDX have already done all the hard work of defining this stuff precisely, and you can read about it yourself in Appendix IV. A technical note is that our "short names" correspond to their "SPDX License List Short Form Identifier". Additionally, they distinguish between a "Simple" vs "Composite" license expression but I don't think we need to do that. We *could*, but it just adds complexity and I don't see the point here. X [1] https://spdx.org/licenses/ [2] https://spdx.org/sites/spdx/files/SPDX-2.0.pdf -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (990, 'testing'), (500, 'stable'), (300, 'unstable'), (200, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.5.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)