Lazarus

Announcements => Third party => Topic started by: calm_sea on October 21, 2021, 10:35:53 am

Title: library license usable in non open source apps
Post by: calm_sea on October 21, 2021, 10:35:53 am
Hello to everybody. I always have doubts with the licenses of the Lazarus add-on components. Which libraries (i.e. with which kind of license) can be used in a non-open source application?
Title: Re: library license usable in non open source apps
Post by: dbannon on October 21, 2021, 11:23:36 am
There are very many "out of the box" licenses and people often add exceptions to even them. So, even if someone here was willing to summarize the license situation, it would not be very useful.

So, I am afraid its a case of reading the license text. Most are written to be read by people without a law degree.

Do avoid using components / libraries etc that do not have any license, it can lead to all sorts of problems. And do be wary of things with bespoke license, a DIY one. While the author may be a great programmer, they are probably not a good license writer.

Davo

 
Title: Re: library license usable in non open source apps
Post by: calm_sea on October 21, 2021, 11:42:22 am
but the most famous standard licenses (GNU, MIT, etc.) can be used?
Title: Re: library license usable in non open source apps
Post by: dbannon on October 21, 2021, 12:01:54 pm
MIT ? generally very unrestricted, I use the BSD, its similar but requires retention of author name.

GNU - which one ?  There are several versions and generally they do require making derivative works to also be open source. There are exceptions including ones that allow, for example, LCL code to be used in close source products.

Sorry, you really must read the license of any external components, its really not that hard.

Davo
Title: Re: library license usable in non open source apps
Post by: MarkMLl on October 21, 2021, 12:09:56 pm
but the most famous standard licenses (GNU, MIT, etc.) can be used?

/Which/ GNU license: GPL, LGPL etc.?

The bottom line is that you read the documentation that comes with a particular library (or component, and/or associated documentation) carefully, and if you and your employers and their legal advisors are in any doubt whatsoever do not even consult the sourcecode as a convenient implementation example.

It is by now fairly well established that by making use of software governed by e.g. the GPL you are agreeing to the terms specified by the original authors. It is most unwise to simply say "I'm going to use this and assume nobody will check", particularly now that doing so might attract the ire of companies the size of IBM and HPE.

MarkMLl
Title: Re: library license usable in non open source apps
Post by: af0815 on October 21, 2021, 12:23:40 pm
A starting point can be https://opensource.org/licenses or https://choosealicense.com/licenses/
Title: Re: library license usable in non open source apps
Post by: calm_sea on October 21, 2021, 12:45:50 pm
Yes, sorry, I meant GPL, LGPL, etc. what I see in Online Packadge Manager. , thanks for the links. I will try to read the licenses as you say, unfortunately I am not an expert in this field, but it seems to me that these licenses refer to a whole software product. What changes if I just use one library inside my very large application?
Title: Re: library license usable in non open source apps
Post by: af0815 on October 21, 2021, 01:28:54 pm
What changes if I just use one library inside my very large application?
In short: It depends .... on the license and do you compile this (source libs), link this in your app or link against only (eg. .dll, .so )
Title: Re: library license usable in non open source apps
Post by: MarkMLl on October 21, 2021, 02:09:08 pm
Yes, sorry, I meant GPL, LGPL, etc. what I see in Online Packadge Manager. , thanks for the links. I will try to read the licenses as you say, unfortunately I am not an expert in this field, but it seems to me that these licenses refer to a whole software product. What changes if I just use one library inside my very large application?

My understanding:

If just one GPLed library is linked into an executable or library, the source of that executable or library has to be licensed as GPL.

If an LGPLed library is linked into an executable, you can use a license of your choice.

If an LGPLed library is linked into a library, you have to use the LGPL.

I can't produce a reference for this, but I believe that a library is distinguished by being (statically or dynamically) linkable or by having more than one entry point. The latter test is there to clarify cases where a developer is working with a non-standard OS, or on Windows where a binary can be both "exe-like" and "DLL-like".

If in any doubt whatsoever, avoid (L)GPL until you have at least conferred with your associates. And if later challenged, don't try to walk away from the problem (see the current https://www.theregister.com/2021/10/20/vizio_gpl_lawsuit/ ).

MarkMLl
TinyPortal © 2005-2018