License of AddOn

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

License of AddOn

Post by bernd »

Just to be sure ...

An AddOn which will not be in FreeCAD main downloadable programm but will be installed by AddOn manager can be of any license? Means it could be closed source as well as GPL3.

How about if such a module will be provided with FreeCAD in Mod directory? Same for closed source and for GPL3? Would this be allowed?

We may should make a wiki page out of the answer to this, because we have seen and we will see a lot of AddOns ...
kisolre
Veteran
Posts: 4166
Joined: Wed Nov 21, 2018 1:13 pm

Re: Lizense of AddOn

Post by kisolre »

I dobt think that it can be truly "closed source' unless it can be compiled python in some way.
wmayer
Founder
Posts: 20324
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Lizense of AddOn

Post by wmayer »

An AddOn which will not be in FreeCAD main downloadable programm but will be installed by AddOn manager can be of any license?
Yes, as long as the license is compatible to LGPL, BSD-3 and the other licenses the libraries have that FreeCAD uses.
Means it could be closed source as well as GPL3.
Yes.
How about if such a module will be provided with FreeCAD in Mod directory? Same for closed source and for GPL3?
If FreeCAD + a GPLv3 module is provided it's considered as a modification (see also aggregation) [1] and thus the whole application becomes GPLv3.
If FreeCAD + a closed source module is provided then nothing changes.
FreeCAD + a GPLv3 module + a closed source module is not allowed. Because FreeCAD + the GPLv3 module makes everything GPLv3, the closed source component must become GPLv3, too.
However, what's allowed is that FreeCAD + the closed source component is provided and then the user privately installs the GPLv3 module. Then the GPL doesn't matter [2]. It matters as soon as the whole application is provided to the public.

[1] https://www.gnu.org/licenses/gpl-faq.ht ... ggregation
[2] https://www.gnu.org/licenses/gpl-faq.ht ... stedPublic

But IANAL
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Lizense of AddOn

Post by bernd »

It does mean If I use GPL3 for a FreeCAD AddOn I can neither make FreeCAD including this AddOn puplic nor provide them together to a customer?
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Lizense of AddOn

Post by bernd »

Furthermore ... https://gitlab.com/bimtester/bimtesterfc

For the sake of simplicisity I copied ifcopenshell bimtester code (which is GPL3) to bimtester FreeCAD module. Thus the directory code_bimtester only contains code from ifcopenshell. Since ifcopenshell is GPL3 this must be GPL3 too.

AFAI understand it.

- If I put in GPL3 license in module main directory everything is fine except I can not provide FreeCAD with the module.

- If I put GPL3 inside code_bimtester and GPL2 inside freecad I can still not provide FreeCAD with the module. But may be one day if bimtester development has settled down a bit I do not longer copy the cody into the module but use the installed bimtester python module by python import. Than all the module source is GPL2 and the module could be provided with FreeCAD source.

Am I on the right track?
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Lizense of AddOn

Post by bernd »

Ahh thanks werner for explaining and posting the links.

bernd
wmayer
Founder
Posts: 20324
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Lizense of AddOn

Post by wmayer »

bernd wrote: Mon Jan 11, 2021 2:18 pm It does mean If I use GPL3 for a FreeCAD AddOn I can neither make FreeCAD including this AddOn puplic nor provide them together to a customer?
No. As said above you can use a GPLv3 add-on together with FreeCAD. And as long as you use it privately you don't have to worry about anything.
- If I put GPL3 inside code_bimtester and GPL2 inside freecad I can still not provide FreeCAD with the module.
But note that mixing GPLv2 and v3 is not allowed as these licenses are incompatible: https://www.gnu.org/licenses/gpl-faq.ht ... patibility
But may be one day if bimtester development has settled down a bit I do not longer copy the cody into the module but use the installed bimtester python module by python import.
I don't think this makes a difference. The FSF considers it the same if you link a library (e.g. written in C/C++) or load it dynamically via Python because everything runs inside the same executable: https://www.gnu.org/licenses/gpl-faq.ht ... ggregation
See also: https://www.gnu.org/licenses/gpl-faq.html#LGPLJava

According to their interpretation your only option is to keep them as separate executables that e.g. communicate over pipes or sockets. But if this communication is to tight you enter a grey zone where it becomes unclear if it can be considered as modification or aggregation.
Than all the module source is GPL2 and the module could be provided with FreeCAD source.
Note, that in FreeCAD source repository we don't want to have any GPL code.

In the past we had the serious problem that Coin3D was under the GPLv2 while OCC's license (called OCTPL that was very close to LGPL but not exactly the same) was considered to be incompatible to the GPLv2 and thus using them together actually was not possible. The result was that Fedora kicked FreeCAD out of their repositories and Debian removed it from the main repository, too.

Luckily the issue has been solved because the company behind Coin3D stopped maintenance and re-licensed all their code under BSD-3 and more or less at the same time OCC has moved to the proper LGPL v2.1
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Lizense of AddOn

Post by bernd »

wmayer wrote: Mon Jan 11, 2021 2:51 pm
bernd wrote: Mon Jan 11, 2021 2:18 pm It does mean If I use GPL3 for a FreeCAD AddOn I can neither make FreeCAD including this AddOn puplic nor provide them together to a customer?
No. As said above you can use a GPLv3 add-on together with FreeCAD. And as long as you use it privately you don't have to worry about anything.
does it mean providing software to a customer is meant to be privately ?!
wmayer
Founder
Posts: 20324
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Lizense of AddOn

Post by wmayer »

bernd wrote: Mon Jan 11, 2021 3:05 pm does it mean providing software to a customer is meant to be privately ?!
See https://www.gnu.org/licenses/gpl-faq.ht ... stribution
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Lizense of AddOn

Post by bernd »

still another one. All code was written by me.

I make two repos of the same code. For one repo I use GPL2 and for the other I use GPL3. Would it be possible to use either GPL2 or GPL3 for providing the code?

In case I provide code with FreeCAD I use GPL2 and it case the code is provided without FreeCAD but with GPL3 code I use GPL3. For sure I am not allowed to mix them up.
Post Reply