Arun Isaac 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