Licence: Difference between revisions

From FreeCAD Documentation
(translate)
(Marked this version for translation)
 
(34 intermediate revisions by 10 users not shown)
Line 1: Line 1:
<languages/>
<translate>
<translate>
=== Statement of the maintainer ===
I know that the discussion on the ''"right"'' licence for open source occupied a significant portion of internet bandwidth and so is here the reason why, in my opinion, FreeCAD should have this one.


<!--T:25-->
I chose the [http://en.wikipedia.org/wiki/LGPL LGPL] for the project and I know the pro and cons about the LGPL and will give you some reasons for that decision.
{{Docnav
|[[Dialog_creation|Dialog creation]]
|[[Compile_on_Windows|Compiling on Windows]]
}}


</translate>
FreeCAD is a mixture of a library and an application, so the GPL would be a little bit strong for that. It would prevent writing commercial modules for FreeCAD because it would prevent linking with the FreeCAD base libs. You may ask why commercial modules at all? Therefore Linux is good example. Would Linux be so successful when the GNU C Library would be GPL and therefore prevent linking against non-GPL applications? And although I love the freedom of Linux, I also want to be able to use the very good NVIDIA 3D graphic driver. I understand and accept the reason NVIDIA does not wish to give away driver code. We all work for companies and need payment or at least food. So for me, a coexistence of open source and closed source software is not a bad thing, when it obeys the rules of the LGPL. I would like to see someone writing a Catia import/export processor for FreeCAD and distribute it for free or for some money. I don't like to force him to give away more than he wants to. That wouldn't be good neither for him nor for FreeCAD.
{{TOCright}}
<translate>


== Licences used in FreeCAD == <!--T:5-->
Nevertheless this decision is made only for the core system of FreeCAD. Every writer of an application module may make his own decision.


<!--T:19-->
=== Used Licences ===
FreeCAD uses two different licenses, one for the application itself, and one for the documentation:
Here the two licences under which FreeCAD is published:


<!--T:6-->
;[[wikipedia:LGPL|Lesser General Public Licence (LGPL2+)]]: For the core libs as stated in the .h and .cpp files in src/App src/Gui src/Base and most [[Workbenches|modules]] in src/Mod and for the executable as stated in the .h and .cpp files in src/main. The icons and other graphic parts are also LGPL.
'''[[wikipedia:LGPL|Lesser General Public Licence, version 2 or superior (LGPL2+)]]''' For all of the FreeCAD source code found in the [https://github.com/FreeCAD/FreeCAD official Git repository]. The + means you can also, at your option, use FreeCAD under the terms of a later version of the license, such as LGPL3
;[[wikipedia:Open Publication License|Open Publication Licence]]: For the documentation on http://free-cad.sourceforge.net/ as not marked differently by the author


<!--T:22-->
'''[http://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 License (CC-BY-3.0)]''' For the [https://wiki.freecad.org documentation] and the [https://www.freecad.org website].


<!--T:7-->
See FreeCAD's [http://free-cad.git.sourceforge.net/git/gitweb.cgi?p=free-cad/free-cad;a=blob;f=package/debian/copyright;h=a97cf019d020edba596f2d0f614c9b09ce546b0f;hb=HEAD debian copyright file] for more details about the licenses used in FreeCAD
See FreeCAD's [https://github.com/FreeCAD/FreeCAD/blob/master/package/debian/copyright debian copyright file] for more details about the licenses used by the different open-source components used in FreeCAD


== Impact of the licences == <!--T:12-->
=== License side effects ===
Up to Version 0.13 FreeCAD is delivered as GPL2+, although the source itself is under LGPL2+. Thats because of linkage of Coin3D (GPL2) and PyQt(GPL). Starting with 0.14 we will be completely GPL free. PyQt will be replaced by PySide, and Coin3D was re-licensed under BSD. One problem, we still have to face, license-wise, the [http://www.opencascade.org/getocc/license/ OCTPL (Open CASCADE Technology Public License)]. Its a License mostly LGPL similar, with certain changes. On of the originators, Roman Lygin, elaborated on the License on his [http://opencascade.blogspot.de/2008/12/license-to-kill-license-to-use.html Blog]. The home-brew OCTPL license leads to all kind of side effects for FreeCAD, which where widely discussed on different forums and mailing lists, e.g. on [http://www.opencascade.org/org/forum/thread_15859/?forum=3 OpenCasCade forum itself]. I will link here some articles for the biggest problems.


<!--T:23-->
Below is a friendlier explanation of what the LGPL license means for you:
==== GPL2/GPL3/OCTLP incompatibility ====
We first discovered the problem by a discussion on the [http://www.fsf.org/ FSF] high priority project [https://groups.google.com/forum/#!topic/polignu/XRergtwsm80 discussion list]. It was about a library we look at, which was licensed with GPL3. Since we linked back then with Coin3D, with GPL2 only, we was not able to adopt that lib. Also the
OCTPL is considered [http://www.opencascade.org/occt/faq/ GPL incompatible]. This Libre Graphics World article [http://libregraphicsworld.org/blog/entry/libredwg-drama-the-end-or-the-new-beginning "LibreDWG drama: the end or the new beginning?"] shows up the drama of LibreDWG project not acceptably in FreeCAD or LibreCAD.


==== Debian ====
==== All users ==== <!--T:29-->
The incompatibility of the OCTPL [http://lists.debian.org/debian-legal/2009/10/msg00000.html was discussed on the debian legal list] and lead to a [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617613 bug report on the FreeCAD package] which prevent (ignor-tag) the transition from debian-testing to the main distribution. But its also mentioned thats a FreeCAD, which is free of GPL code and libs, would be acceptably. With a re-licensed Coin3D V4 and a substituted PyQt we will hopefully reach GPL free with the 0.14 release.


<!--T:13-->
==== Fedora/RedHat non-free ====
Anybody can '''download, use and redistribute FreeCAD free of charge''', without any restriction. Your copy of FreeCAD is truly yours, as are the files you produce with FreeCAD. You will not be forced to update FreeCAD after a certain time, nor change your usage of FreeCAD. Using FreeCAD doesn't bind you to any kind of contract or obligation. The FreeCAD source code is public and can be inspected, so it is possible to verify that it doesn't do things without your knowledge such as sending your private data somewhere.
In the Fedora project OpenCasCade is listed "non-free". This means basically it won't make it into Fedora or RedHat. This means also FreeCAD won't make it into Fedora/RedHat until OCC is changing its license. Here the links to the license evaluation:
* [http://lists.fedoraproject.org/pipermail/legal/2011-September/001713.html Discussion on the Fedora-legal-list]
* [https://bugzilla.redhat.com/show_bug.cgi?id=458974#c10 License review entry in the RedHat bug tracker]
The main problem they have AFIK is that the OCC license demand non discriminatory support fees if you want to do paid support. It has nothing to do with "free" or OpenSource, its all about RedHat's business model!


==== Professional users ==== <!--T:30-->
=== Impact of the licences ===


<!--T:14-->
==== Private users ====
FreeCAD can be '''used freely for any kind of purpose''', being private, commercial or institutional. Any version of FreeCAD can be deployed and installed anywhere, any number of times. You can also modify and adapt FreeCAD for your own purposes without any restriction. However, you cannot make the FreeCAD developers liable for possible damage or business loss that could occur from using FreeCAD.
Private users can use FreeCAD free of charge and can do basically whatever they want to do with it....


==== Professional users ====
==== Open-source software developers ==== <!--T:31-->
Can use FreeCAD freely, for any kind of private or professional work. They can customize the application as they wish. They can write open or closed source extensions to FreeCAD. They are always master of their data, they are not forced to update FreeCAD, change their usage of FreeCAD. Using FreeCAD doesn't bind them to any kind of contract or obligation.


<!--T:15-->
==== Open Source developers ====
You can use FreeCAD as a base to develop your own application, or simply extend it by creating new modules for it. If FreeCAD is embedded into your own application, you can choose either the GPL or the LGPL license, or any other license that is compatible with LGPL, to allow the use of your work in proprietary software or not. If you are developing a module to be used as an extension, and don't include any of the FreeCAD code in it, then you can choose any license you want. However, if you wish to see your module integrated into FreeCAD one day, it is a good idea to use the same LGPL license as FreeCAD itself, as FreeCAD will only accept code with LGPL, MIT or BSD licenses.
Can use FreeCAD as the groundwork for own extension modules for special purposes. They can choose either the GPL or the LGPL to allow the use of their work in proprietary software or not.


==== Commercial developers ====
==== Closed-source software developers ==== <!--T:32-->
Commercial developers can use FreeCAD as the groundwork for their own extension modules for special purposes and are not forced to make their modules open source. They can use all modules which use the LGPL. They are allowed to distribute FreeCAD along with their proprietary software. They will get the support of the author(s) as long as it is not a one way street.


<!--T:16-->
{{docnav|Dialog creation|Tracker}}
The LGPL license allows you to use FreeCAD as a component for your own application, and you are not forced to make your application open source. You will get support from the FreeCAD developers as long as it is not a 'one way street'. The license states however two important conditions:


<!--T:36-->
[[Category:Developer Documentation]]
1) You must clearly '''inform your users that your application is using FreeCAD''' and that FreeCAD is LGPL.

<!--T:37-->
2) The LGPL license also stipulate your users must be able to swap your modified FreeCAD component with the original FreeCAD equivalent. That is would be done by dynamically linking to the FreeCAD components, so users are allowed to change it. However, this is often hard to achieve by today's requirements. At FreeCAD, we understand that the important point here is to not restrict the freedom given to FreeCAD users by the LGPL license. So an equivalent to dynamic linking is to offer the choice to your users, by '''making your users aware of the possibility to use FreeCAD for free'''. This can be done in a number of ways.

<!--T:38-->
If any of the two conditions above are unacceptable to you or cannot be implemented, then you must make your FreeCAD component LGPL too and release the source code with all the modifications you made to it.

<!--T:39-->
There is a special case called '''derivatives''', which is when you publish basically a "rebranded" version of FreeCAD. Derivatives which are not open-source are prohibited by the LGPL license. The FreeCAD community is active and efficient in finding rebranded versions, reporting them to the platforms where they were found and exposing them until they are taken down.

==== Files ==== <!--T:33-->

<!--T:24-->
The models and other files produced with FreeCAD are not subject to any license stated above, nor bound to any kind of restriction or ownership. Your files are truly yours. You can set the owner of the file and specify your own license terms for the files you produce inside FreeCAD, via menu File → Project Information.

== Logo == <!--T:34-->

<!--T:28-->
The FreeCAD logo is a [https://fpa.freecad.org/documents/Trademark.pdf trademark owned by the FPA (FreeCAD project association)]. This means the [https://fpa.freecad.org FPA] is the sole body authorized to say who has the right to use the FreeCAD logo or not. The logo files, which are part of the FreeCAD source code or available elsewhere, for example on this wiki, are still all under the same licenses as the rest of FreeCAD (LGPL for the source code and Creative Commons for this wiki). You are still free to use the FreeCAD logo anywhere, on the same terms as the rest of FreeCAD, which means, basically, that you must use it to reference FreeCAD, and not use it, for example, for your own product, or any other way that is not referencing FreeCAD.

== Statement of the main developer == <!--T:35-->

<!--T:1-->
I know that the discussion on the ''"right"'' licence for open source occupied a significant portion of internet bandwidth and so is here the reason why, in my opinion, FreeCAD should have this one.

<!--T:2-->
I chose the [http://en.wikipedia.org/wiki/LGPL LGPL] for the project and I know the pro and cons about the LGPL and will give you some reasons for that decision.

<!--T:3-->
FreeCAD is a mixture of a library and an application, so the GPL would be a little bit strong for that. It would prevent writing commercial modules for FreeCAD because it would prevent linking with the FreeCAD base libs. You may ask why commercial modules at all? Therefore Linux is good example. Would Linux be so successful when the GNU C Library would be GPL and therefore prevent linking against non-GPL applications? And although I love the freedom of Linux, I also want to be able to use the very good NVIDIA 3D graphic driver. I understand and accept the reason NVIDIA does not wish to give away driver code. We all work for companies and need payment or at least food. So for me, a coexistence of open source and closed source software is not a bad thing, when it obeys the rules of the LGPL. I would like to see someone writing a Catia import/export processor for FreeCAD and distribute it for free or for some money. I don't like to force him to give away more than he wants to. That wouldn't be good neither for him nor for FreeCAD.

<!--T:4-->
Nevertheless this decision is made only for the core system of FreeCAD. Every writer of an application module may make his own decision.

<!--T:27-->
{{Quote|Jürgen Riegel|15 October 2006}}


<!--T:17-->
{{Docnav
|[[Dialog_creation|Dialog creation]]
|[[Compile_on_Windows|Compiling on Windows]]
}}


</translate>
</translate>
{{Userdocnavi{{#translation:}}}}
{{clear}}
[[Category:Developer Documentation{{#translation:}}]]
<languages/>

Latest revision as of 09:02, 28 March 2024

Licences used in FreeCAD

FreeCAD uses two different licenses, one for the application itself, and one for the documentation:

Lesser General Public Licence, version 2 or superior (LGPL2+) For all of the FreeCAD source code found in the official Git repository. The + means you can also, at your option, use FreeCAD under the terms of a later version of the license, such as LGPL3

Creative Commons Attribution 3.0 License (CC-BY-3.0) For the documentation and the website.

See FreeCAD's debian copyright file for more details about the licenses used by the different open-source components used in FreeCAD

Impact of the licences

Below is a friendlier explanation of what the LGPL license means for you:

All users

Anybody can download, use and redistribute FreeCAD free of charge, without any restriction. Your copy of FreeCAD is truly yours, as are the files you produce with FreeCAD. You will not be forced to update FreeCAD after a certain time, nor change your usage of FreeCAD. Using FreeCAD doesn't bind you to any kind of contract or obligation. The FreeCAD source code is public and can be inspected, so it is possible to verify that it doesn't do things without your knowledge such as sending your private data somewhere.

Professional users

FreeCAD can be used freely for any kind of purpose, being private, commercial or institutional. Any version of FreeCAD can be deployed and installed anywhere, any number of times. You can also modify and adapt FreeCAD for your own purposes without any restriction. However, you cannot make the FreeCAD developers liable for possible damage or business loss that could occur from using FreeCAD.

Open-source software developers

You can use FreeCAD as a base to develop your own application, or simply extend it by creating new modules for it. If FreeCAD is embedded into your own application, you can choose either the GPL or the LGPL license, or any other license that is compatible with LGPL, to allow the use of your work in proprietary software or not. If you are developing a module to be used as an extension, and don't include any of the FreeCAD code in it, then you can choose any license you want. However, if you wish to see your module integrated into FreeCAD one day, it is a good idea to use the same LGPL license as FreeCAD itself, as FreeCAD will only accept code with LGPL, MIT or BSD licenses.

Closed-source software developers

The LGPL license allows you to use FreeCAD as a component for your own application, and you are not forced to make your application open source. You will get support from the FreeCAD developers as long as it is not a 'one way street'. The license states however two important conditions:

1) You must clearly inform your users that your application is using FreeCAD and that FreeCAD is LGPL.

2) The LGPL license also stipulate your users must be able to swap your modified FreeCAD component with the original FreeCAD equivalent. That is would be done by dynamically linking to the FreeCAD components, so users are allowed to change it. However, this is often hard to achieve by today's requirements. At FreeCAD, we understand that the important point here is to not restrict the freedom given to FreeCAD users by the LGPL license. So an equivalent to dynamic linking is to offer the choice to your users, by making your users aware of the possibility to use FreeCAD for free. This can be done in a number of ways.

If any of the two conditions above are unacceptable to you or cannot be implemented, then you must make your FreeCAD component LGPL too and release the source code with all the modifications you made to it.

There is a special case called derivatives, which is when you publish basically a "rebranded" version of FreeCAD. Derivatives which are not open-source are prohibited by the LGPL license. The FreeCAD community is active and efficient in finding rebranded versions, reporting them to the platforms where they were found and exposing them until they are taken down.

Files

The models and other files produced with FreeCAD are not subject to any license stated above, nor bound to any kind of restriction or ownership. Your files are truly yours. You can set the owner of the file and specify your own license terms for the files you produce inside FreeCAD, via menu File → Project Information.

The FreeCAD logo is a trademark owned by the FPA (FreeCAD project association). This means the FPA is the sole body authorized to say who has the right to use the FreeCAD logo or not. The logo files, which are part of the FreeCAD source code or available elsewhere, for example on this wiki, are still all under the same licenses as the rest of FreeCAD (LGPL for the source code and Creative Commons for this wiki). You are still free to use the FreeCAD logo anywhere, on the same terms as the rest of FreeCAD, which means, basically, that you must use it to reference FreeCAD, and not use it, for example, for your own product, or any other way that is not referencing FreeCAD.

Statement of the main developer

I know that the discussion on the "right" licence for open source occupied a significant portion of internet bandwidth and so is here the reason why, in my opinion, FreeCAD should have this one.

I chose the LGPL for the project and I know the pro and cons about the LGPL and will give you some reasons for that decision.

FreeCAD is a mixture of a library and an application, so the GPL would be a little bit strong for that. It would prevent writing commercial modules for FreeCAD because it would prevent linking with the FreeCAD base libs. You may ask why commercial modules at all? Therefore Linux is good example. Would Linux be so successful when the GNU C Library would be GPL and therefore prevent linking against non-GPL applications? And although I love the freedom of Linux, I also want to be able to use the very good NVIDIA 3D graphic driver. I understand and accept the reason NVIDIA does not wish to give away driver code. We all work for companies and need payment or at least food. So for me, a coexistence of open source and closed source software is not a bad thing, when it obeys the rules of the LGPL. I would like to see someone writing a Catia import/export processor for FreeCAD and distribute it for free or for some money. I don't like to force him to give away more than he wants to. That wouldn't be good neither for him nor for FreeCAD.

Nevertheless this decision is made only for the core system of FreeCAD. Every writer of an application module may make his own decision.

Jürgen Riegel

—15 October 2006