[erlang-questions] GNU GPL, MIT, BSD and compatibility
Fri Apr 11 15:52:52 CEST 2008
Alceste Scalas wrote:
> Il giorno ven, 11/04/2008 alle 13.07 +0200, Richard Carlsson ha scritto:
>> "These requirements apply to the modified work as a whole. If identifiable
>> sections of that work are not derived from the Program, and can be
>> reasonably considered independent and separate works in themselves, then
>> this License, and its terms, do not apply to those sections when you
>> distribute them as separate works. But when you distribute the same
>> sections as part of a whole which is a work based on the Program, the
>> distribution of the whole must be on the terms of this License, whose
>> permissions for other licensees extend to the entire whole, and thus to
>> each and every part regardless of who wrote it."
>> Note in particular: "the entire whole, and thus to each and every part".
>> This means that if such a part was previously only published under e.g.
>> an MIT license, it (the particular version used by the combined software)
>> must now also be published *also* under the GPL, and can from that point on
>> be used by anyone under the GPL even as an isolated component, *even if this
>> is not what you as the author of the MIT-licensed part would like*. As
>> far as I can tell, this is precisely what the original post means with
>> "anyone who wants to use it may have to release their code under the GPL",
>> and you claim that that is wrong.
> Yes, I am pretty sure that this is wrong. Maybe it is necessary to
> specify what "on the terms of the GNU GPL" means in the passage above.
> Let's say that I have a file bar.c, released by some third party under
> the (GPL-compatible) BSD license. I modify it and make it depend on
> libfoo, which is GNU GPL'ed, in order to create the application gplbar.
> What does it happen? Let's make two hypothesis:
> A. the bar.c license is overwritten/substituted by the GNU GPL for
> further redistributions, even when separated from "the whole"
> B. the (GPL-compatible) bar.c license remains the same, except
> (maybe) for the changes I made for linking libfoo. Anyway, the
> resulting application must now also respect the license of the
> new component (i.e. libfoo). And thus, "the whole" gplbar
> application must now be distributed on the terms of the GNU GPL.
> If someone later removes my changes, however, the bar.c code
> will not be bound to the GNU GPL anymore.
> If I understood correctly, you think that "A" is correct, while I think
> that "B" is correct.
"A" is correct. But the GPL is a red herring here. I can take any
MIT-licensed code and redistribute it with the additional license term
"to use this code, you must give me your first-born child", for example [*]
(enforcability aside). This is not a problem, primarily because someone
can still use the code distributed under the original license, and not
give me their first-born child. The fact that the original copyright
holder(s) chose an MIT or BSD-like license entails that they accepted
the possibility of redistribution under any more restrictive license.
More information about the erlang-questions