MantisBT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001884VCMIOtherpublic2014-08-24 19:492022-04-12 08:45
Reporterjosch 
Assigned ToWarmonger 
PrioritynormalSeverityminorReproducibilityN/A
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version0.97 
Summary0001884: AI/FuzzyLite is licensed Apache 2.0 which is incompatible with GPL 2.0
DescriptionSee http://www.gnu.org/licenses/license-list.en.html#apache2 [^]
and http://www.apache.org/licenses/GPL-compatibility.html [^]

The code in AI/FuzzyLite is licensed under Apache 2.0 and can thus not be part of a GPL2 project. Apache 2.0 is compatible with GPL3, however. Since vcmi is licensed GPL2+, it could easily be relicensed to GPL3+ to not trigger the incompatibility with Apache 2.0. The other option is to either remove AI/FuzzyLite from vcmi or to ask Juan Rada-Vilela to relicense the code under a license that is compatible with GPL2.
TagsNo tags attached.
Attached Files

- Relationships
related to 0001886acknowledgedjosch Please remove fuzzylite from vcmi and use the system version instead 

-  Notes
(0004931)
josch (developer)
2014-08-29 13:56

There is another solution to the problem. The fuzzylite upstream relicensed to LGPL3 with the recently released version 5.0 of fuzzylite. So if vcmi upgrades its embedded copy to version 5.0 then the license incompatibility problem goes away as well.
(0004932)
Warmonger (administrator)
2014-08-29 14:36
edited on: 2014-08-29 14:36

The trick is that newer versions have different interface (renamed methods etc.), so migration would be very troublesome. Especially since I'm the only one using fuzzy logic so far.

(0004933)
josch (developer)
2014-08-29 14:52

Okay I see. I just wanted to point out another possible solution because the ones I mentioned initially might not work either. As it is right now, vcmi is undistributable because it would mean to infringe on your copyright. This in turn means that vcmi cannot become part of any Linux distribution until this is fixed. This is why I'm raising this problem :)

Did you try contacting Juan Rada-Vilela for a possible relicensing? Otherwise I can try.
(0004938)
Ivan (developer)
2014-08-31 16:23

IIRC we can link with Apache code but we can't relicense Fuzzylite as GPL.

So much more easier solution would be to consider fuzzylite (including our change) to be licensed under same license (Apache).

Of course this must be specified somewhere in the readme. If you'll submit pull that adds this info then I'll accept it.
(0004943)
josch (developer)
2014-09-02 09:34

Yes *you* can link with apache code without problem (as long as you yourself respect the apache2 license) because you are the vcmi copyright holders. The important part here is what you allow *others* to do with the code of vcmi+fuzzylite.

So while you are perfectly allowed to use Apache2 in vcmi (which is your own creation), others are bound by the license terms that you put vcmi under. You are not by the terms by which you release vcmi because you are its copyright holders. You are only bound by one license, the one of fuzzylite.

From the perspective of people who are not you (the copyright holders of vcmi), we have to respect both licenses, apache2 of fuzzylite and gpl2+ of vcmi. From our perspective, we have to respect the copyright of fuzzylite who say that we may not do anything that goes against apache2 and we have to respect the copyright of vcmi which says that we may not do anything that goes against gpl2 or any future version. So in effect, we are only allowed to do with the source and binaries what is allowed by both, fuzzylite and vcmi. In other words, for us the license is "you must obey the gpl2 or later, and at the same time obey apache2".

The gpl2 says that we can only copy the code if it is under terms no more restrictive than gpl2. Unfortunately, the apache2 license has some clauses that are more restrictive than gpl2 (in particular patent termination and indemnification provisions). So this combination of licenses poses impossible restrictions on us.

However, you licensed vcmi under gpl2+ so we can also choose gpl3. The gpl3 says that we can only copy the code if it is under terms no more restrictive than gpl3. Fortunately, apache2 is not more restrictive than gpl3 so those two fit.

So for us, the code you give us is licensed under ((gpl2 or gpl3 or ...) and apache2) while the practical result is the same as ((gpl3 or ...) and apache2). This matters if you ever have pieces of code which are gpl2 only and not gpl2+.

So while you are perfectly free to continue distributing vcmi under gpl2+, for everybody else it is impossible to comply with the gpl2 as long as you also ship fuzzylite licensed under apache2. Thus, effectively, vcmi is only redistributable as gpl3+.

And yes, you cannot relicense fuzzylite as GPL unless its copyright holder allows you to.
(0005029)
josch (developer)
2014-10-25 15:06

Hope is not lost! Juan Rada-Vilela, the creator of fuzzylite was so kind to create a patch for vcmi so that it works with fuzzylite 5.0

https://github.com/vcmi/vcmi/pull/45 [^]

Once this is integrated, you can close this bugreport because fuzzylite 5.0 is licensed LGPL3.
(0005030)
josch (developer)
2014-10-26 09:44

The pull request has now been merged by Warmonger \o/

Thus, this issue can be closed, I think.
(0005031)
Warmonger (administrator)
2014-10-26 13:24

Fixed in https://github.com/vcmi/vcmi/commit/1f5643be558c66df313a65a4b4b281badd14d858 [^]

- Issue History
Date Modified Username Field Change
2014-08-24 19:49 josch New Issue
2014-08-29 13:56 josch Note Added: 0004931
2014-08-29 14:36 Warmonger Note Added: 0004932
2014-08-29 14:36 Warmonger Note Edited: 0004932 View Revisions
2014-08-29 14:52 josch Note Added: 0004933
2014-08-31 16:23 Ivan Note Added: 0004938
2014-09-02 09:34 josch Note Added: 0004943
2014-10-25 15:06 josch Note Added: 0005029
2014-10-26 09:44 josch Note Added: 0005030
2014-10-26 13:24 Warmonger Note Added: 0005031
2014-10-26 13:24 Warmonger Status new => resolved
2014-10-26 13:24 Warmonger Fixed in Version => 0.97
2014-10-26 13:24 Warmonger Resolution open => fixed
2014-10-26 13:24 Warmonger Assigned To => Warmonger
2014-10-26 13:28 Warmonger Relationship added related to 0001886
2022-04-12 08:45 Povelitel Status resolved => closed

Site | Forums | Wiki | Slack | GitHub


Copyright © 2000 - 2024 MantisBT Team
Hosting provided by DigitalOcean