This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Changing Setup's license to GPLv3+


On 01/22/2016 11:57 AM, Warren Young wrote:
> On Jan 22, 2016, at 9:54 AM, Corinna Vinschen <corinna-cygwin@cygwin.com> wrote:
>>
>> On Jan 21 15:55, Warren Young wrote:
>>> On Jan 21, 2016, at 3:49 AM, Corinna Vinschen <corinna-cygwin@cygwin.com> 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

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]