On 01/22/2016 11:57 AM, Warren Young wrote: > On Jan 22, 2016, at 9:54 AM, Corinna Vinschen wrote: >> >> On Jan 21 15:55, Warren Young wrote: >>> On Jan 21, 2016, at 3:49 AM, Corinna Vinschen wrote: >>>> >>>> does anything speak against switching Setup's license to GPLv3+? >>>> If nobody complains, I'll bump to v3+ in a week or so. >>> >>> Can you actually do that, legally? I thought the copyright >>> assignments only applied to the DLL, not to setup.exe, so all >>> setup.exe contributors retained their copyright. >> >> I'm not trying to do that single-handedly and without reason. I'm >> asking here to reach out to the current active developers. A switch >> from GPLv2+ to GPLv3+ works without having to reach out to *all* >> copyright holder. > > I don’t think I agree with that. Why not? GPLv2+ lets ANYONE with possession of a copy of the source code re-release THEIR copy under GPLv3+. Yes, such a relicensing would mean that if YOU were one of the original contributors, and strongly want your future contributions to remain GPLv2+, then you would no longer be able to contribute. But your existing contributions are still GPLv2+ (anyone can go to the point in time before the relicensing to grab a copy of your code still under GPLv2+). And the fact that the cygwin community (and current active contributors in particular) is in possession of a copy of your original work, and chooses to relicense that copy to GPLv3+, is not in violation of your original license. > > Let’s say I write a standalone program and license it under GPLv2+ and give you a copy. You can’t then relicense it under GPLv3 or GPLv3+ just because I said “or later” in the license. Yes, I can. You gave me the permission to do so, by stating "or later". > *I* can relicense it, but only because I hold the original copyright. Yes, you can. If it were GPLv2-only, then ONLY you can relicense to GPLv3 or GPLv3+. But it's not GPLv2-only. > > All “or later” gives you the right to do is treat the code *as if* I had originally licensed it as v3, and then only if you want to. This lets you link v2+ code to v3. (But not v2-only code to v3! More below.) The combined work is necessarily v3 if I invoke the "or later" clause by linking your v2+ work with my v3 work. But you are correct that your v2-only work cannot be linked to my v3 work. > > I think you’d still have to get permission from all people who still have code in the current setup.exe sources. Or rather, if a relicensing requires explicit permission, it must be granted by the respective copyright holders (not necessarily the original contributor, if the original contributor assigned copyright to someone else). But I think the "or later" clause means that we don't need explicit permission. ... >>> What actual problem are you trying to solve with the change? >> >> A certain mail to the cygwin ML might require some action. The action >> is most thorougly (and quickly) done by pulling in some code from the >> Cygwin DLL. But Cygwin is under v3+, so it's incompatible with the >> current v2+ in Setup. That's why I'd like to bump version. I don't think I have any personal setup.exe contributions? Oh wait, perhaps I do (a long time ago, I helped fix use of bash for postinstall scripts). I'm personally okay with such a move. > > As I understand it (and IANAL) the GPL v2/v3 incompatibility only occurs with GPLv2-only licenses. See the chart here, from the FSF: > > https://en.wikipedia.org/wiki/GNU_General_Public_License#Compatibility_and_multi-licensing > > I suspect it is not kosher to intermix v2+ and v3+ code in the same file, but putting the v3+ code copied from the DLL into a separate file and calling out to it from the v2 code as if it were a library may be okay. That may be overly paranoid, but it is also easy enough to do. I'm also fine if we keep original code with v2+ labels, add new v3+ code in separate files, link it all together, and slap GPLv3+ on the final resulting executable. That is the only license with which we can ship the final product (due to v3 code being present, we have to exercise the "or later" clause of all linked-in v2 code), whether or not the individual source files still state v2+. > > I could be wrong, in which case this is another argument against GPLv3. The thing is viral even to past versions of itself. > > FWIW, I’m no zealot. I’ve got GPL’d and LGPL’d code out in the world. I’m just pointing out that restrictive licenses (“free,” hah!) bring along a bag of problems. GPLv3 adds a bunch more restrictions. > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org