Hi, Last year, in order to create the Analog Electricity activity in GCompris, we had to integrate some existing code for the electric circuit simulation engine. The code weintegratedis under the AGPLv3 license...
First publication of the original code, without any license: https://github.com/zupolgec/circuit-simulator/blob/master/js/cktsim.js <https://github.com/zupolgec/circuit-simulator/blob/master/js/cktsim.js> Then it was republished here with the AGPLv3 license: https://github.com/edx/edx-platform/blob/master/common/lib/xmodule/xmodule/js/src/capa/schematic.js <https://github.com/edx/edx-platform/blob/master/common/lib/xmodule/xmodule/js/src/capa/schematic.js> (check https://github.com/zupolgec/circuit-simulator/issues/1 <https://github.com/zupolgec/circuit-simulator/issues/1>for the licensing history). Integration of the code in GCompris: https://invent.kde.org/education/gcompris/-/blob/master/src/activities/analog_electricity/cktsim.js <https://invent.kde.org/education/gcompris/-/blob/master/src/activities/analog_electricity/cktsim.js> We searched a lot, but this was the only option we found for a JS electric simulation engine that would be compatible with QML. As the GPLv3 clearly state that combining some AGPLv3 work to it is allowed, just the special requirements of the AGPLv3 will apply to the resulting package/installer ("the combination as such"), license-wise it looks OK. This means that now, the binary/package of GCompris has to be released under AGPLv3. Of course we keep licensing all the rest of our new code under GPLv3+ as before, so if at some point we can replace the simulation engine with some GPLv3+ code, we can return to releasing our package under this license. However, as Albert A. Cid commented, "technically KDE doesn't allow non-server AGPL projects, see https://community.kde.org/Policies/Licensing_Policy <https://community.kde.org/Policies/Licensing_Policy>". So he suggested that we bring the topic to the community list. As the KDE License Policy pages states, "this licence policy is designed to allow maximum code reuse with the community of KDE and beyond while making exceptions for the few cases which need it", we would like to ask to add a new exception to the list to cover our case. I propose to add something like this: "17. If a project under GPLv3(+) really needs to integrate some existing code under AGPLv3(+) to add a specific feature, it is tolerated to do so. The resulting combined work will then be under AGPLv3(+) as long as this code is part of the project. However, all new code created on this project should still be under the original GPLv3(+) license." We hope the community will agree with this. Note that we also recently tried to contact the copyright holders of this piece of code to ask if they would agree to relicense it under GPLv3+, but so far we didn't get any reply from them. If someone on this list has some contacts with some MIT people who could help on this relicensing question, it would be very welcome. Cheers, Timothée for the GCompris team
