3 ms·
Okay, so we have A licensed as MIT and B licensed as GPL, your example. Let's specify that B is licensed under GPL3 so it's clear: Under MIT, Microsoft can tak
by kerkeslager 7y ago
Okay, so we have A licensed as MIT and B licensed as GPL, your example. Let's specify that B is licensed under GPL3 so it's clear:
Under MIT, Microsoft can take code from A and put it into the source code of Visual Studio, provided that they keep the copyright and license with the code they've copied. Visual Studio can then be licensed however they want.
Let's say that project A takes code from project B. Now because they have GPLed code, A has to be distributed with terms at least as open as the GPL3's terms, due to copyleft.[1]
This might not matter to the maintainers of project A, but it certainly matters to Microsoft, because now if they use code from project A, they also have to distribute it with terms at least as open as the GPL3's terms. So if they use code from project A in Visual Studio, they've effectively licensed Visual Studio under the GPL3.
The GPL3 is "infectious" in this way--once you use GPL3 code in your project, your project is effectively licensed under the GPL3.
[1] https://en.wikipedia.org/wiki/GNU_General_Public_License#Copyleft https://en.wikipedia.org/wiki/GNU_General_Public_License#Cop...
- phkahler 7y ago>> Now because they have GPLed code, A has to be distributed with terms at least as open as the GPL3's terms, Doesn't it have to be licensed as GPL3?
- kerkeslager 7y agoIt's been a while since I read the GPL3, so I just read it again. I'm no lawyer, but if I'm understanding correctly, yes, it does have to be licensed under the GPL3, but it doesn't have to be licensed only under the GPL3. With a license like MIT, the could apply a second license which would, for example, amend the MIT license to require you to pay for the software. However, the "No Further Restrictions" paragraph in the GPL I think puts a much stronger set of requirements: > You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. This is why I think Stallman often uses the language "licensed with terms at least as open as the GPL" instead of saying "licensed under the GPL"--yes, it has to be licensed under the GPL3 but that doesn't quite capture the whole story. Someone can apply another license (i.e. Apache 2, to explicitly grant patents) so their licensing might not be just the GPL3, but further licenses can only expand freedoms, not restrict them. I would encourage anyone who is interested in this sort of thing to read the license for themselves. Don't get intimidated and assume it's all in legalese: while I'm hesitant to think I understand it since the law is not my area of expertise, the GPL is written in what seems like fairly straightforward English.
- belorn 7y ago> Under MIT, Microsoft can take code from A and put it into the source code of Visual Studio In that case we have three licenses. We have the MIT licenses, the GPL license, and the license of Visual Studio owned by microsoft. If the MIT licensed project have a relation with Microsoft which they value higher than the code from the GPL project then the GPL code will be incompatible with the goals of the MIT project. The incompatibility depend on the relationship and can only be answered based on defining said relationship.