GCompris and AGPL

Timothée Giet animtim at gmail.com
Mon Feb 15 19:36:08 GMT 2021


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




More information about the kde-community mailing list