FOSS licenses

I keep getting into deep discussions about FOSS licenses and most people don't find them interesting. So from now on I will try and keep such discussions in this thread.
FreeCAD ( hi there @bitacovir & @yorik )
I have a few questions about the FreeCAD LGPL license.
https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html

  • Why is it using LGPL which is meant for libraries and not fully developed software applications? What am I missing here?
  • Using LGPL means that non-free programs are able to include any part of FreeCAD as an underlying library. Do we agree on that interpretation?
  • LGPL2 includes the provision in section three to copy the source code of the 'library' under a current version of the GPL. Has doing this been discussed? My thinking here is that if LGPL was originally chosen to make adoption faster then maybe the time has come to instead focus on protecting the community from freeloaders making derivative works.
  • Normally we might talk about GPL2-or-later but I cannot find anywhere that there is such a thing as LGPL2-or-later. 'Upgrades' to LGPL seem to point to versions of GPL. This makes perfect sense as LGPL was only ever intended to speed up development (see the preamble).
Tagged:
paullee

Comments

  • edited October 2021

    I'll try to answer, but license discussions are something HUGE :)

    In the case of FreeCAD, the choice of LGPL is a kind of historical thing. Check this manifest. It was decided at the start of the project, and everybody who contributed to FreeCAD after that was okay with it, basically. Today it would be an almost impossible task to change, we would need the approval of each and every one of the 200+ copyright holders.
    Fundamentally, the LGPL makes sense because FreeCAD is not only a "desktop app", but is also meant to be used as a library, or an engine (for ex for web applications). If you look around well-known free software, you'll see it's pretty common for such software to be LGPL (or similar like MIT or BSD). Note that LGPL originally meant "Library GPL" but they have changed that to "Lesser GPL" to be more generic. By "lesser" one should understand not weakened, but limited. The LGPL is a GPL that affects only your code, and doesn't say anything to any other piece of software associated to it, contrarily to GPL which also applies to anything "connected" to it. LGPL therefore indeed allows to use the FreeCAD code in proprietary software. But don't interpret this as a license to do as you please (and it basically prevents derivative works. It specifies very carefully what is permitted and it's not so simple:

    Basically, if you are a company wanting to incorporate parts of LGPL software in your proprietary app, you cannot violate the LGPL freedom (which is the same as GPL) that your users have by using FreeCAD in it. That means you either 1) make your app LGPL too, that's the simple way, or 2) the complicated way, make it clear which components are your proprietary parts and which are LGPL parts, and allow the user to REPLACE the LGPL part by the original one (if you modified it, you must also publish your modifications as LGPL), for example by isolating it in one dll and allowing users to switch with the original FreeCAD dll.
    Option 2) is obviously quite complicated technically. We had a recent case where some company launched a proprietary software which was basically FreeCAD where they changed the application name and the logo. This was a complete violation of the LGPL, we explained this to them, the community made a lot of pressure, and the guys had to withdraw their effort, and they resolved LGPLing their software, mostly because it was their only realistically feasible option (we're still watching to make sure it stays that way).

    I don't think LGPL weakens free software. It doesn't allow plundering free software (it was made by the same people who made GPL, it wasn't made without thoughts). It's more a technical difference. We do want FreeCAD powering web apps out there, and not only GPL apps (which makes little sense for web platforms anyway). That doesn't mean anyone can do so without acknowledging FreeCAD.

    As for the bit that says "can be licensed as GPL too", that means you or anyone else can take FreeCAD and distribute it as GPL software. You can embed FreeCAD in GPL software and use it as GPL software, exactly as if it was GPL software since the start. But that doesn't affect the other LGPL versions of FreeCAD out there and doesn't prevent other people to use FreeCAD as LGPL software (just not your GPL version).

    paulleeCadGirubitacovirinfeeeeeMoultJesusbill
  • Just my 2 cents that web apps are typically not considered distribution to my non-lawyer research. Therefore, as you are not distributing anything, you are free to use even GPL software and remain closed. So the specific point about web apps might be better reworded to talk about other things, like non GPL apps in general.

  • Yes you are right. Web apps are actually more a user. All these licenses were made at a time this didn't exist :)

  • As I understand it if you want to publish free software and it might become 'hidden' behind a browser one should use the AGPL.

  • @duncan yep, that matches my understanding :)

Sign In or Register to comment.