Arun Isaac <arunis...@systemreboot.net> writes:

> I'm packaging linkchecker.
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27468
>
> Different files of linkchecker have different license headers. The
> license field of the package is as follows:
>
> (license (list l:gpl2+
>                l:bsd-2 ; linkcheck/better_exchook2.py
>                l:bsd-3 ; linkcheck/colorama.py
>                l:psfl  ; linkcheck/gzip2.py
>                l:expat ; linkcheck/mem.py
>                l:isc   ; third_party/dnspython
>                l:asl2.0))
>
> gpl2+ is a stricter license than the other licenses, and covers the
> "program as a whole". So, do we really need to mention the other
> licenses, especially those licenses which cover only one source file? Is
> it a good idea to hide the multiple licenses from the user, and just
> mention gpl2+ as the license of the whole package?

OK, maybe this is a little bit late... But I would like to share my
opinions. I think there are actually two cases: 1. combining (L)GPL with
(L)GPL and 2. combining (L)GPL with non-(L)GPL.

For case 1, yes, the whole work can be re-licensed under the "stricter"
license, providing that we have the "or later" clause. So GPLv2+ with
LGPLv3+ can be re-licensed to GPLv3+, but GPLv2 with LGPLv3+ cannot be
re-licensed to GPLv3+, since the GPLv2 license does not have the
"or later" clause. For details, see the GPL compatibility matrix[0].

For case 2, well, the idea is the same. Unless the non-(L)GPL license
has an explicit clause allowing it to (recursively) re-license to
(L)GPL. For instance, CC-BY-SA-4.0 can be re-license to GPLv3, but BSD-2
cannot be re-license to GPLv3+.

Based on the above general argument, I think we should list all the
licenses instead of just GPLv2+ since it would be inaccurate to say that
the whole program is under just GPLv2+.

Also, in this particular case, since ASL2.0 is incompatible with GPLv2,
we actually need to take advantage of the "or later" clause, and
"upgrades" it to "GPLv3+". Listing the license as GPLv2+ would confuse
the user that GPLv2 covers the program, but in fact it is "effectively"
GPLv3.

Of course, I am not a lawyer. I only get the info from reading the
web. So I could be saying nonsense...

[0]: https://www.gnu.org/licenses/gpl-faq.en.html#AllCompatibility

Attachment: signature.asc
Description: PGP signature

Reply via email to