5 ms·
There is no such thing as a GPL compatible license. The GPL is only compatible with GPL. When a license is "compatible", it allows you to relicense that code a
by georgyo 5y ago
There is no such thing as a GPL compatible license. The GPL is only compatible with GPL.
When a license is "compatible", it allows you to relicense that code as GPL, sometimes with additional conditions.
This means that if you link it GPL code into a MPL code base, the GPL requires that entire code base to now be GPL. And as such all other code linked against it also must become GPL.
This can lead to accidentally violations.
- marcosdumay 5y agoWell, the bundle is GPL, the particular code is still MPL, so that you can still take that portion away from the bundle and do anything that the MPL allows.
- deleted 5y ago[deleted]
- goodpoint 5y ago> There is no such thing as a GPL compatible license On the contrary, you can use MIT, BSD, MPL, LGPL code in a GPL codebase without any issue. You can dynamically link LGPL in any codebase. You can statically link GPL in another GPL codebase. This is all working as intended.
- georgyo 5y agoI don't think you are correct here: https://www.gnu.org/licenses/gpl-faq.en.html#WhatDoesCompatMean https://www.gnu.org/licenses/gpl-faq.en.html#WhatDoesCompatM... > All GNU GPL versions permit such combinations privately IE, the copyright holder can permit anything they want, as they own the copyright > they also permit distribution of such combinations provided the combination is released under the same GNU GPL version. The other license is compatible with the GPL if it permits this too. IE the license grants the ability to add the GPL license that code. --- Taking this to the MPL example: https://www.mozilla.org/en-US/MPL/2.0/ https://www.mozilla.org/en-US/MPL/2.0/ > 1.12. “Secondary License” > means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. > 3.3. Distribution of a Larger Work > ... If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). --- The MPL 2.0 is compatible with GPL because it explicitly grants the right to release MPL code as GPL. All the copyright holders of MPL 2.0 code have authorized this secondary licensing because the license they released it as says so. This means that in cases where compatibility matters, then the MPL2.0 code base has all the additional restrictions that the GPL has. And the GPL is _all_ code, which means it spreads out from there. If you are using GPL-2.1, MPL-2.0, and APACHE-2.0 code in the same code base, there is a violation.
- goodpoint 5y agoFirst you wrote: > There is no such thing as a GPL compatible license ...and later on: > MPL 2.0 is compatible with GPL
- georgyo 5y agoIf you want air quotes around compatible, I can add them. However the entire point remains. It is GPL compatible because the GPL licenses can explicitly be added to it. Adding the license requires all of the restrictions that licence brings.
- goodpoint 5y agoIs your entire point that GPL implements copyleft?
- georgyo 5y agoMy original comment and point has not changed. The GPL is only compatible with the GPL. The only way for a license to be compatible with the GPL is to have the ability to license under the GPL. We have proven that is the case. There is a lack of awareness and understanding of how this can transitively affect things accidentally. For the record I am all for GPL code. I think the GPL is a fantastic license that has enabled great good in the world. But there are reasons why a company may not want to release code that is compatible with it.
- afiori 5y agoI took the pint as saying that Apache/MIT/BSD/MPL code that is distributed as part of a GPL project is actually under GPL. To obtain the original Apache/MIT/BSD/MPL code you need to get it from upstream. So that if project A originally licensed as MIT is statically linked inside a project B licensed under the GPL then in the event that all copies of project A source code are destroied except those distributed via project B (a more likely scenario before mirror servers) then project A is now only available under GPL. I believe that GP relies on the fact that GPL source code can only be statically linked with other GPL code and so "compatibile with GPL" means "can be relicensed under GPL" rather than "can be included as is in GPL works"
- fddddd 5y agoplease, stop comenting about this topic. you are wrong about basic gpl code linking concepts.
- numpad0 5y agoI don’t think you can ever rellicense or sublicense someone else’s code without consent or prior arrangements. Like if I said this comment is licensed under GFDL 12.34 and you thought GFDL 10.01 is “compatible” with it, it’s still mine to decide under what license it is licensed. A popular phrasing found on many GPL projects are “Version 2 or later”, but that doesn’t mean you get to rewrite it to “AGPL 3 or stricter”. That’ll be a copyright violation.