[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Question about multiple licenses
From: |
Alex Vong |
Subject: |
Re: Question about multiple licenses |
Date: |
Mon, 28 Aug 2017 18:45:20 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Arun Isaac <address@hidden> 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
signature.asc
Description: PGP signature