Attributing FreeCAD in workbench

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
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: Attributing FreeCAD in workbench

Post by adrianinsaval »

loopy wrote: Wed Aug 10, 2022 9:16 pm Anyone can use LGPL components , link to them and create closed-source commercial software and charge money for the software so-developed.
The ultimate final answer is the published FreeCAD license page which EXPLICITLY allows closed source software to use FreeCAD components.
https://wiki.freecadweb.org/Licence
The wiki can be edited by anyone with an account, it is not the official place to look for the license, the license is published here: https://github.com/FreeCAD/FreeCAD/blob/master/LICENSE and it is LGPLv2, the restrictions listed there apply regardless of what the wiki says. Neither yorik nor werner nor any other individual in the team (much less all with wiki editing permissions) has the authority to grant a different license for the entirety of the code because they only hold the copyright for their individual contributions.
User avatar
dprojects
Posts: 720
Joined: Mon Mar 06, 2017 6:02 pm
Location: Poland
Contact:

Re: Attributing FreeCAD in workbench

Post by dprojects »

loopy wrote: Wed Aug 10, 2022 9:16 pm https://wiki.freecadweb.org/Licence
but any reliable and valid licenses are those ones inside the software, not at website, yes I know it can be referred to understand the LGPL license but from law perspective they not apply

Thanks
Darek
github.com/dprojects

workbench for woodworking is available at: github.com/dprojects/Woodworking
User avatar
dprojects
Posts: 720
Joined: Mon Mar 06, 2017 6:02 pm
Location: Poland
Contact:

Re: Attributing FreeCAD in workbench

Post by dprojects »

adrianinsaval wrote: Wed Aug 10, 2022 9:24 pm The wiki can be edited by anyone with an account, it is not the official place to look for the license, the license is published here: https://github.com/FreeCAD/FreeCAD/blob/master/LICENSE and it is LGPLv2, the restrictions listed there apply regardless of what the wiki says. Neither yorik nor werner nor any other individual in the team (much less all with wiki editing permissions) has the authority to grant a different license for the entirety of the code because they only hold the copyright for their individual contributions.
but the license is static for released software, github can be edited, you can change the license only at new FreeCAD version not the released AppImage. The valid licenses are inside AppImage.

Thanks
Darek
github.com/dprojects

workbench for woodworking is available at: github.com/dprojects/Woodworking
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: Attributing FreeCAD in workbench

Post by adrianinsaval »

dprojects wrote: Wed Aug 10, 2022 9:20 pm but the valid license is those one inside the AppImage not somewhere at the internet or somewhere in speaking by someone or in someones mind
in the AppImage there are probably more than 1000 licenses but there are no single license
if the appimage is not including this license or mention of this license or is using an incompatible license then it is an illegal distribution, the AppImage itself must be licensed under LGPL or more restrictive, so the restrictions mentioned on the source apply. Now the case of an addon is not very clear for LGPL as it seems it was not written with this in mind (or even with python scripting in mind IMO). IMO a workbench is derivative work as it's sole purpose is to be combined with FreeCAD and do something while running inside it, extending it's functionality.

Now on the practical side, how would you distribute a proprietary workbench for FreeCAD? If it's python it will be open source and you might as well use a compatible license then, and I don't know how to add c++ workbenches externally? If that is indeed possible then that would be a way I guess.
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: Attributing FreeCAD in workbench

Post by adrianinsaval »

dprojects wrote: Wed Aug 10, 2022 9:27 pm but the license is static for released software, github can be edited, you can change the license only at new FreeCAD version not the released AppImage. The valid licenses are inside AppImage.
go to help->about->license
or got to the source of the version you are using and check the license there: https://github.com/FreeCAD/FreeCAD/blob/0.20/LICENSE
User avatar
dprojects
Posts: 720
Joined: Mon Mar 06, 2017 6:02 pm
Location: Poland
Contact:

Re: Attributing FreeCAD in workbench

Post by dprojects »

adrianinsaval wrote: Wed Aug 10, 2022 9:36 pm Now on the practical side, how would you distribute a proprietary workbench for FreeCAD?
If you use AppImage you don't change the software, if you add workbench to your local Mod folder the software is untouched. You can use AppImage as linked library. If you remove the workbench the software is in the original form. Everything is according LGPL.

Thanks
Darek
github.com/dprojects

workbench for woodworking is available at: github.com/dprojects/Woodworking
loopy
Posts: 8
Joined: Fri Aug 04, 2017 3:58 pm

Re: Attributing FreeCAD in workbench

Post by loopy »

I know this argument will never end, but I would point out FreeCAD even provides a "branding.xml" file that allows a developer to "brand" FreeCAD with a different splash screen , program icons, and even Copyright information. A very clear indication ( if it was not already abundantly clear from the license page) that the intent is to permit closed source customization of FreeCAD on a LGPL base.
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: Attributing FreeCAD in workbench

Post by adrianinsaval »

You can definitively deliver an addon without changing the executable files provided by FreeCAD, but it is adding to it so it can be considered a modification of the whole too.
https://www.gnu.org/licenses/gpl-faq.en ... ggregation
https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation wrote:If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs.
A workbench does not run separate to FreeCAD with just communication, it runs entirely embedded in it, IMO this is a combined derivative work and therefore subject to restrictions.
User avatar
dprojects
Posts: 720
Joined: Mon Mar 06, 2017 6:02 pm
Location: Poland
Contact:

Re: Attributing FreeCAD in workbench

Post by dprojects »

adrianinsaval wrote: Wed Aug 10, 2022 10:37 pm A workbench does not run separate to FreeCAD with just communication, it runs entirely embedded in it
If this is installed from Add-on Manager. But if this is copied manually to local Mod folder it not touch the AppImage. That's the difference you don't want to see. If you install FreeCAD at Windows and copy manually the workbench into C:\Program Files\FreeCAD\Mod\ directory this will be part of the software and you need to tell user how to remove it and how to run the FreeCAD without it.

This is why the LGPL is stupid. Because it hits only poor people who don't have enough knowledge to use it legally. As I mention, FreeCAD is a patchwork of different licenses, you are not entitled to decide on the whole AppImage license.

LGPL is also stupid because if company take it and want to build something reliable, they can't fix FreeCAD bugs and keep it proprietary. So the LGPL force people to use exact license for their work. I think all opens source should be automatically considered as "public domain". If you want something private keep this private.

Thanks
Darek
github.com/dprojects

workbench for woodworking is available at: github.com/dprojects/Woodworking
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: Attributing FreeCAD in workbench

Post by adrianinsaval »

If this is installed from Add-on Manager. But if this is copied manually to local Mod folder it not touch the AppImage. That's the difference you don't want to see. If you install FreeCAD at Windows and copy manually the workbench into C:\Program Files\FreeCAD\Mod\ directory this will be part of the software and you need to tell user how to remove it and how to run the FreeCAD without it.
I't not just about how you distribute it, not modifying the original files is not the end of it either. The more I read the license the less I see a legal way of making proprietary software from FreeCAD, the license says that a binary that links to the library is considered a derivative: https://github.com/FreeCAD/FreeCAD/blob ... CENSE#L234
so how on earth are you supposed to use the library in proprietary software then?
This is why the LGPL is stupid. Because it hits only poor people who don't have enough knowledge to use it legally.
How??? The software is free (and will remain free thanks to the license), how is it detrimental to poor people? The license ensures that no future versions of the software will be able to restrict their fundamental freedoms.
dprojects wrote: Thu Aug 11, 2022 8:06 am As I mention, FreeCAD is a patchwork of different licenses, you are not entitled to decide on the whole AppImage license.
No, they are all LGPL compatible so they can all be distributed under LGPL license, that's why the solvespace solver is not bundled with the appimage anymore, it was GPL so it couldn't be distributed as LGPL, the inclusion of that module basically made the AppImage GPL.
dprojects wrote: Thu Aug 11, 2022 8:06 am LGPL is also stupid because if company take it and want to build something reliable, they can't fix FreeCAD bugs and keep it proprietary. So the LGPL force people to use exact license for their work.
That's precisely the objective! How are you ok with such abusive practices?? You evidently don't care about software freedom. If a company made a proprietary version of FreeCAD and starts profiting from my volunteer work I'll be outraged, and I didn't even contribute that much to the code, imagine the guys that have been working on the project for 20 years.
I think all opens source should be automatically considered as "public domain". If you want something private keep this private.
disgraceful thinking.
Post Reply