Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2011-03

[OT] About licences

20 messages · 10 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Kjow

Hi all,

I need some help to understand the licences world, probably due my not English origins I have some difficulties to understand the terms of various licences and their relating limitations.
Do you know a simple and clear site that explain all terms in few words?

e.g. (these are only explicative projects):
- Lazarus is under LGPL, I understood that I can use it to make also commercial products without costs (of course, if/when I start earn money I'll donate to community :) ).

- GLScene is under MPL, I understood that I can use it to make also commercial products without costs, but I need to mention somewhere on my product that I developed it with GLScene. My code could be closed, but I modify glscene code I should release it.

- Audorra is under MPL 1.1, I don't understood the differences between GLScene and Audorra licences. In their site is reported:

"Audorra is licensed under the MPL 1.1. Because this license is incompatible to the common open source license "GPL", you may use the project under the GPL or LGPL.
Please remember: When linking against libraries, which are licensed under the GPL (like Acinerella), your project automatically falls under the same license. "

What this means? If I use Audorra with Lazarus+GLScene I need to release my project with GPL or LGPL licence?
(PS I tried audorra and it uses acinerella.dll to reproduce sounds)

So:

- Acinerella is under GPL, I don't understood very well what this means... Using a product under GPL it must remain under GPL/open source/no-commercial?

And what about other common licences?

An other question:

if I want to protect my closed-source software, is it enough to place a my own "hand-wrote" disclaimer, or I need to register it somewhere?

Thank you,
Kjow

PS I mean only a legal-oriented question, not a moral one. I'll donate for sure to all project that will permit me to earn money (if I will :p ) and I'll mention all of these into credits and into the eventual website. But for this I need to know how I can do all in a legal way...

Reply by email

Marco van de Voort
to Kjow
Kjow wrote 9 lines
I need some help to understand the licences world, probably due my not English origins I have some difficulties to understand the terms of various licences and their relating limitations. Do you know a simple and clear site that explain all terms in few words? e.g. (these are only explicative projects): - Lazarus is under LGPL, I understood that I can use it to make also commercial products without costs (of course, if/when I start earn money I'll donate to community :) ).

Lazarus (the IDE) is under GPL, LCL and other libraries are under LGPL-with-exception. Same for FPC, compiler GPL, libs under LGPL-with-exception.

- GLScene is under MPL, I understood that I can use it to make also commercial products without costs, but I need to mention somewhere on my product that I developed it with GLScene. My code could be closed, but I modify glscene code I should release it.

If I understood it correctly, MPL is pretty much a corporate wording of the LGPL.

MPL is incompatible with GPL/LGPL, but since Lazarus/FPC use LGPL-with-exception, I don't know if that still creates a problem, since that exception essentially defangs the copyleft.

Show quoted text 9 lines
- Audorra is under MPL 1.1, I don't understood the differences between GLScene and Audorra licences. In their site is reported: "Audorra is licensed under the MPL 1.1. Because this license is incompatible to the common open source license "GPL", you may use the project under the GPL or LGPL. Please remember: When linking against libraries, which are licensed under the GPL (like Acinerella), your project automatically falls under the same license. "

Lazarus and FPC do not contain GPLed library code themselves. (but they might provide headers to libs that do).

The only problem is designtime code. This links into the IDE, and thus touched the GPL. However, the GPL only activates on distribution, so unless you plan to release Lazarus with MPL stuff preinstalled, there is no problem.

What this means? If I use Audorra with Lazarus+GLScene I need to release my project with GPL or LGPL licence? (PS I tried audorra and it uses acinerella.dll to reproduce sounds)

Both LGPL and MPL only pertain to the bits that they apply to, not to the rest of the project.

The GPL is different, and the ancinerella bit is a big issue, which would make the whole thing GPL. (there are some exceptions though)

See also http://wiki.freepascal.org/licensing

- Acinerella is under GPL, I don't understood very well what this means... Using a product under GPL it must remain under GPL/open source/no-commercial?

There are a million writeups on the web more verbose and complete than I can repeat here.

if I want to protect my closed-source software, is it enough to place a my own "hand-wrote" disclaimer, or I need to register it somewhere?

No, copyright is automatic. Just claim you wrote it in the header, that should be enough. (and afaik that is not even necessary, but makes disputes easier)

Show quoted text 5 lines
PS I mean only a legal-oriented question, not a moral one. I'll donate for sure to all project that will permit me to earn money (if I will :p ) and I'll mention all of these into credits and into the eventual website. But for this I need to know how I can do all in a legal way...

Afaik Lazarus/FPC does not force credits at all. (but it is good practice to do so).

The exact details about advocacy clauses in MPL, I don't know.

Reply by email

de_jean_7777
to Marco van de Voort
Marco van de Voort wrote
The only problem is designtime code. This links into the IDE, and thus touched the GPL. However, the GPL only activates on distribution, so unless you plan to release Lazarus with MPL stuff preinstalled, there is no problem.

I don't think this is correct. The GPL does not cover output of a program (e.g. code automatically created by the IDE). Only if the program used code from the IDE (including IDE units into the program), then it would fall under GPL. As far as I know, all a program needs is the LCL, and should normally not include any code from the IDE.

Reply by email

Marco van de Voort
to de_jean_7777
Show quoted text 11 lines
On 26.3.2011 15:14, Marco van de Voort wrote: > The only problem is designtime code. This links into the IDE, and thus > touched the GPL. However, the GPL only activates on distribution, so unless > you plan to release Lazarus with MPL stuff preinstalled, there is no > problem. I don't think this is correct. The GPL does not cover output of a program (e.g. code automatically created by the IDE). Only if the program used code from the IDE (including IDE units into the program), then it would fall under GPL. As far as I know, all a program needs is the LCL, and should normally not include any code from the IDE.

My bad. I formulated it incorrectly. I meant the designtime libraries of components and everything they link to (which is quite often the main library too). Not designtime generated code and/or .dfms.

Though the bit of redistributing lazarus might have hinted on that already.

Reply by email

Kjow
to Marco van de Voort: Lazarus (the IDE) is under GPL, LCL and other libraries are under LGPL-with-exception. …

2011/3/26 Marco van de Voort :

Show quoted text 12 lines
If I understood it correctly, MPL is pretty much a corporate wording of the LGPL. MPL is incompatible with GPL/LGPL, but since Lazarus/FPC use LGPL-with-exception, I don't know if that still creates a problem, since that exception essentially defangs the copyleft. Both LGPL and MPL only pertain to the bits that they apply to, not to the rest of the project. The GPL is different, and the ancinerella bit is a big issue, which would make the whole thing GPL. (there are some exceptions though)

Hi, I'm sorry for delay.
So, if I use LGPL/MPL products, but I don't modify headers or original codes I should use they without problems in commercial/closed-source projects, right?

About Audorra/Acinerella... how can be Audorra under MPL if the use of acinerella make the project GPL?
So, if I use Audorra, that links acinerella, shouldn't be that acinerella clauses apply only to audorra?

No, copyright is automatic. Just claim you wrote it in the header, that should be enough. (and afaik that is not even necessary, but makes disputes easier)

Well, so I need only a my own disclaimer where I say that the software is developed by me, that they can't use names or logos without permissions and that advises users that they use my software at own risks, blah blah, etc etc, right?

Thanks,
Kjow

Reply by email

José Mejuto
to Kjow

Hello Lazarus-List,

Tuesday, March 29, 2011, 10:25:38 AM, you wrote:

K> About Audorra/Acinerella... how can be Audorra under MPL if the use of K> acinerella make the project GPL?
K> So, if I use Audorra, that links acinerella, shouldn't be that K> acinerella clauses apply only to audorra?

The code belong to Audorra (own written code) is MPL/GPL/LGPL (you choose), but when used with Acinerella everything is GPL only. If you use Audorra with Acinerella your software is GPL too (mandatory due viral activity of GPL).

They clearly shows in the web page:

Please remember: When linking against libraries, which are licensed under the GPL (like Acinerella), your project automatically falls under the same license.

Best regards, Jos?

Reply by email

Marco van de Voort
to Kjow: 2011/3/26 Marco van de Voort : Hi, I'm sorry for delay. So, if I use LGPL/MPL products,…
Kjow wrote 9 lines
> rest of the project. > > The GPL is different, and the ancinerella bit is a big issue, which would > make the whole thing GPL. (there are some exceptions though) Hi, I'm sorry for delay. So, if I use LGPL/MPL products, but I don't modify headers or original codes I should use they without problems in commercial/closed-source projects, right?

With MPL and LGPL you are officially obliged to donate fixes to the relevant packages back. The (L)GPL with exception bit absolves you from that.

About Audorra/Acinerella... how can be Audorra under MPL if the use of acinerella make the project GPL?

Because they are delivered as separate packages. The GPL is only invoked on linking and then distributing it. IOW the one that does the final linking (and the subsequent distribution) takes
on the obligations.

Well, so I need only a my own disclaimer where I say that the software is developed by me, that they can't use names or logos without permissions and that advises users that they use my software at own risks, blah blah, etc etc, right?

Only if you distribute source.

Reply by email

Kjow
to Marco van de Voort

2011/3/29 Marco van de Voort :

With MPL and LGPL you are officially obliged to donate fixes to the relevant packages back. The (L)GPL with exception bit absolves you from that.

I mean only products made with software MPL/LGPL (so a redistributable build). Everytime I found a bug I will report (or if I can fix) to comunity, of course (this is mainly a moral thing :) ), but I don't want to make a fork or a my own version:

I'm developing with lazarus a project, I'll try to commercialize this project, but I can't make it open-source, at least at the beginning.

Because they are delivered as separate packages. The GPL is only invoked on linking and then distributing it. IOW the one that does the final linking (and the subsequent distribution) takes on the obligations.

Perfect, I understood.

Only if you distribute source.

And if I don't distribuite source, nothing?

Thanks,
Kjow

Reply by email

Kjow
to José Mejuto: K> About Audorra/Acinerella... how can be Audorra under MPL if the use of K> acinerella…

2011/3/29 Jos? Mejuto :

Show quoted text 10 lines
The code belong to Audorra (own written code) is MPL/GPL/LGPL (you choose), but when used with Acinerella everything is GPL only. If you use Audorra with Acinerella your software is GPL too (mandatory due viral activity of GPL). They clearly shows in the web page: Please remember: When linking against libraries, which are licensed under the GPL (like Acinerella), your project automatically falls under the same license.

Ok, thanks.
Kjow

Reply by email

Marco van de Voort
to Kjow: 2011/3/29 Marco van de Voort : I mean only products made with software MPL/LGPL (so a…
Kjow wrote 8 lines
> (and the subsequent distribution) takes > on the obligations. Perfect, I understood. > Only if you distribute source. And if I don't distribuite source, nothing?

If you provide binaries, strictly speaking you must provide the source for the MPL/LGPL modules + your changes to them on request (but not your own parts). But you can charge a commercial packaging fee (say $50) for that, to keep away the non serious people.

Reply by email

Graeme Geldenhuys
to Marco van de Voort: With MPL and LGPL you are officially obliged to donate fixes to the relevant packages…
Marco van de Voort wrote
With MPL and LGPL you are officially obliged to donate fixes to the relevant packages back.

Correct.

The (L)GPL with exception bit absolves you from that.

Where does it say that? By "LGPL with exception", I gather you mean like the license used by FPC? It that case, there is only a "static linking exception". You are still required to donate all modifications to the LGPL code though, just like the vanilla LGPL license.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Marco van de Voort
to Graeme Geldenhuys
Graeme Geldenhuys wrote 6 lines
> The (L)GPL with exception bit absolves you from that. Where does it say that? By "LGPL with exception", I gather you mean like the license used by FPC? It that case, there is only a "static linking exception". You are still required to donate all modifications to the LGPL code though, just like the vanilla LGPL license.

My bad, you are entirely right. The exception absloves you from the clause that forces dynlinking, not the OSS bits. I don't know what I was thinking.

Reply by email

Zaher Dirkey
to Marco van de Voort
Marco van de Voort wrote 12 lines
On Wed, Mar 30, 2011 at 09:23:12AM +0200, Graeme Geldenhuys wrote: > > The (L)GPL with exception bit absolves you from that. > > Where does it say that? By "LGPL with exception", I gather you mean like > the license used by FPC? It that case, there is only a "static linking > exception". You are still required to donate all modifications to the > LGPL code though, just like the vanilla LGPL license. My bad, you are entirely right. The exception absloves you from the clause that forces dynlinking, not the OSS bits. I don't know what I was thinking.

I always feel not free with all this free licenses.

Regards

Zaher Dirkey -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20110330/c165502d/attachment.html>

Reply by email

waldo kitty
to Zaher Dirkey
Zaher Dirkey wrote 15 lines
On Wed, Mar 30, 2011 at 12:52 PM, Marco van de Voort wrote: On Wed, Mar 30, 2011 at 09:23:12AM +0200, Graeme Geldenhuys wrote: > > The (L)GPL with exception bit absolves you from that. > > Where does it say that? By "LGPL with exception", I gather you mean like > the license used by FPC? It that case, there is only a "static linking > exception". You are still required to donate all modifications to the > LGPL code though, just like the vanilla LGPL license. My bad, you are entirely right. The exception absloves you from the clause that forces dynlinking, not the OSS bits. I don't know what I was thinking. I always feel not free with all this free licenses.

my thoughts, too... for many years ;)

but then again, free beer might "cost" you a few hours labor of one sort or another, too ;)

Reply by email

Florian Klaempfl
to waldo kitty
waldo kitty wrote 24 lines
On 3/30/2011 08:18, Zaher Dirkey wrote: > On Wed, Mar 30, 2011 at 12:52 PM, Marco van de Voort > wrote: > > On Wed, Mar 30, 2011 at 09:23:12AM +0200, Graeme Geldenhuys wrote: > > > The (L)GPL with exception bit absolves you from that. > > > > Where does it say that? By "LGPL with exception", I gather you > mean like > > the license used by FPC? It that case, there is only a "static > linking > > exception". You are still required to donate all modifications > to the > > LGPL code though, just like the vanilla LGPL license. > > My bad, you are entirely right. The exception absloves you from > the clause > that forces dynlinking, not the OSS bits. I don't know what I was > thinking. > > > I always feel not free with all this free licenses. my thoughts, too... for many years ;)

IMO but IANAL, the free is meant to keep the liberty of the sources but it's not about that a user is free to do with the sources what he wants.

Reply by email

Unknown author
to Marco van de Voort: My bad, you are entirely right. The exception absloves you from the clause that forces…

I'm wondering about one thing, Can I do (at all) application with closed source, by Linux ?
I ask because I saw what dependencies the empty project have:

linux-vdso.so.1 => (0x00007ffffcdff000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007ff3b58cd000) libX11.so.6 => /usr/lib/libX11.so.6 (0x00007ff3b5597000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007ff3b537a000) libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007ff3b4d5c000) libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007ff3b4aad000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007ff3b4860000) libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007ff3b457e000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007ff3b4379000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007ff3b4174000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007ff3b3f2c000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007ff3b3d0c000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007ff3b3a4f000) libdl.so.2 => /lib/libdl.so.2 (0x00007ff3b384b000) libc.so.6 => /lib/libc.so.6 (0x00007ff3b34c8000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff3b5b12000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007ff3b32aa000) libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007ff3b2f9f000) librt.so.1 => /lib/librt.so.1 (0x00007ff3b2d97000) libm.so.6 => /lib/libm.so.6 (0x00007ff3b2b13000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007ff3b2901000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007ff3b26f7000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007ff3b24f3000) libXi.so.6 => /usr/lib/libXi.so.6 (0x00007ff3b22e3000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007ff3b20da000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007ff3b1ecf000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007ff3b1cc3000) libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007ff3b1ac0000) libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007ff3b18bc000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007ff3b16b6000) libpng12.so.0 => /lib/libpng12.so.0 (0x00007ff3b148f000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007ff3b1265000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007ff3b0fde000) libz.so.1 => /lib/libz.so.1 (0x00007ff3b0dc6000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007ff3b0b90000) libpcre.so.3 => /lib/libpcre.so.3 (0x00007ff3b095f000) libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007ff3b06ff000) libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007ff3b04fc000) libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007ff3b02f3000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00007ff3b00ef000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007ff3afee9000)

best regards
Tomek

Reply by email

Graeme Geldenhuys
to Unknown author: I'm wondering about one thing, Can I do (at all) application with closed source, by Linux…
Show quoted text 5 lines
I'm wondering about one thing, Can I do (at all) application with closed source, by Linux ? I ask because I saw what dependencies the empty project have: linux-vdso.so.1 => (0x00007ffffcdff000)

...[snip lots of dependencies]...

Yes of course, but in the case of desktop applications, as you have realized, there is a huge dependency list. This is the negative aspect of using the larger libraries like Qt, GTK etc... At some point you application will stop working because a standard install of whatever Linux distro might not supply the correct dependencies out of the box.

Alternatively, make sure you use a toolkit that has *much less dependencies*. This is exactly why I started the fpGUI Toolkit project. Our applications are very "lite" when it comes to dependencies, so have a greater chance of still running many years from now. Even the reverse is possible, we can run todays application on a ten year old Linux distro without problems too (we actually tested this, using Suse 8 & Suse 9).

Compare a default fpGUI application dependencies against what you posted. This dependency can be further reduced by switching to non anti-aliased fonts - but that just makes applications look ugly. :)

$ ldd project1
linux-vdso.so.1
libX11.so.6 => /usr/lib64/libX11.so.6
libXft.so.2 => /usr/lib64/libXft.so.2
libc.so.6 => /lib64/libc.so.6
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 libxcb.so.1 => /usr/lib64/libxcb.so.1
libdl.so.2 => /lib64/libdl.so.2
libgcc_s.so.1 => /lib64/libgcc_s.so.1
libfreetype.so.6 => /usr/lib64/freetype.../libfreetype.so.6 libXrender.so.1 => /usr/lib64/libXrender.so.1
/lib64/ld-linux-x86-64.so.2
libexpat.so.1 => /lib64/libexpat.so.1
libXau.so.6 => /usr/lib64/libXau.so.6

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Graeme Geldenhuys
to Unknown author: I'm wondering about one thing, Can I do (at all) application with closed source, by Linux…
I'm wondering about one thing, Can I do (at all) application with closed source, by Linux ? I ask because I saw what dependencies the empty project have:

Interpreting your email slightly different to my previous reply. The answer is again yes, you can create commercial closed-source apps for Linux. Those dependencies you listed, are runtime dependencies, and not staticly linked into your application. So the LGPL license allows you to keep your application source code closed-sourced. This is exactly why LGPL was created - giving you the freedom to use various LGPL licensed libraries with ease, even in closed-source apps.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email