Licensing question LGPL
-
Yeah, i know there are tons of threads, but i haven't found any that really answered all my questions.
Basically i want to write Applications, distribute them via the web for free, supported by ads on the website or using a service like adf.ly or paypal donations.
Would it be legal to do that using the LGPL? as far as i understand this video (http://qt-project.org/videos/watch/making_the_licensing_decision_lgpl_vs._commercial, the whole talk, especially the chart at 21:13) i could, if
-
i would distribute the source code for every change to Qt i would make (unlikely that i will need to make changes)
-
would link dynamically to the Qt Librarys and distribute them with the final Excecutable.
-
give copyright and distribute a copy (i guess a .txt file would suffice?) of the LGPL License
would making everything open source make anything easier?
did i forget something?
I'm just a student, so i cannot afford a lawyer or anything to check that and if it would be to risky i would have to use a different library like winforms or sth... Furthermore english is not my native language, and even though i think i understand quite a lot and speak it 'good enough' i'm not too sure when it comes to License agreements and/or 'law language' -
-
Neither LGPL nor GPL forbids commercial use. Commercial use explicitly is allowed.
Also with the LGPL you are allowed to (dynamically) link against ClosedSource/Proprietary binaries. Only modifications to the LGPL'd library itself would need to be shared as source code.
In case of the GPL you would be required to share your whole code, as soon as you link against GPL'd code.
-
Hi!
I think you understood it correctly, but you must also share your code with the same rights, not only the final executable. Any other using your code must recognize it's yours and mention if they changed something, to avoid making you responsible of new undesired bugs. It would be a good idea to read it completely at least once: "LGPL":http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html (Must have been translated to many languages, look for yours). I hope I didn't miss any detail :) Licenses are a bit tricky...
Regards!
-
[quote author="QMartin" date="1359501675"]Hi!
I think you understood it correctly, but you must also share your code with the same rights, not only the final executable.[/quote]
Nope. With the LGPL he doesn't have to.
If his executable dynamically links against the LGPL'd library (e.g. Qt), it can remain ClosedSource. Only changes in the LGPL'd library itself, if any, would have to be shared with the same rights as the original library.
Nonetheless for your users it will always be preferable to release your application as free software :-)
--
Differences from the GPL:
- The main difference between the GPL and the LGPL is that the latter allows the work to be linked with a non-(L)GPL'ed program, regardless of whether it is free software or proprietary software.
- The non-(L)GPL'ed program can then be distributed under any terms if it is not a derivative work.
- A standalone executable that dynamically links to a library, through a .so, .dll, or similar medium, is generally accepted as not being a derivative work (as defined by the LGPL).
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
-
Lets not forget lawyers have the final word and the world of law obeys no logic, reason or whatsoever...
According to Digia (which sells the commercial licenses for Qt) a legal adviser may end up costing more than a commercial license, which doesn't come cheap. Now, how much of that statement is true and how much is FUD, aiming to convince developers to go commercial, one can only speculate.
-
Be aware that the permisson to dynamically link against LGPL code, as for instance Qt, is common interpretation, not judicature. The definition of a "...work that uses the library..." or "...derivative of the library..." is quite vague and may depend on your specific application and the specific library used.
If you are releasing a non-trivial commercial application, which uses third-party code, you usually have to have legal advice (this is also a question of liability), and yes, this will most probably cost you (way) more than a commcercial license.
Of course Digia is animating people to buy commercial licenses - and I hope many do, because this is the money which keeps the Qt Project alive in a large part - but they are absolutely right that a commercial license is one thing less to worry about.
-
Well, also beware that you'll need the same legal council to interpret the commercial licencing agreement with Digia. I've seen it, and it is not all that easy to parse. I found LGPL easier to understand, but then again, IANAL.
I have never heard of a company getting sued for using a 3rd party library under LGPL, by the way. I did see some cases over the years against abuse of GPL-ed code, where the companies in question were forced to release source code. I am not saying that buying a licence from Digia is not a good thing to do, but you can just as well support the Qt project in other ways. Getting a support contract from KDAB for instance, as they also contribute a lot to Qt.
-
It would be really, really nice if Digia could provide us with some "this is what you can and cannot do with Qt under LGPL" scenarios as this question keeps cropping up and, to date, I am yet to see fully definitive and satisfactory answers.
I am aware that law always involves insane amounts of ambiguity open to "legal interpretation" (how else would lawyers make their money?) but I am sure they can cover the most common use cases?
Does anyone know who to approach with such a request or do you think one should just forward an email to Digia's general contact?
I would think some sort of "petition" will probably have the best chance of success.
-
How do you suppose Digia should do that, given the sheer number of jurisdictions in the world? Copyright laws, on which (L)GPL is based, is not the same in every country. That makes it hugely complex to get to one single statement that will absolutely hold true everywhere.
-
[quote author="goblincoding" date="1359544338"]It would be really, really nice if Digia could provide us with some "this is what you can and cannot do with Qt under LGPL" scenarios as this question keeps cropping up and, to date, I am yet to see fully definitive and satisfactory answers.[/quote]
Well, ever since the Qt creators decided to release their work under the LGPL, you can use it under the terms of the LGPL, and that's it. Leaving the quibbles out (i.e. assuming the LGPL is interpreted as it was intended), it means that linking an unmodified LGPL'ed library (DLL or SO file) against a proprietary program file is allowed. Redistributing LGPL'ed library files is allowed anyway. If Qt creators had not intended that, they simply would have chosen the GPL rather than the LGPL. The latter exists exactly for the purpose of allowing proprietary software to use the library - which would not be possible with the GPL. And, as a matter of fact, there are tons of commercial/proprietary/ClosedSource software products out there that use LGPL'ed libraries...
-
Be aware that macros, inlining or templates may create a derivative work, even though you dynamically link against the LGPL-covered code, which will force you to publish code as given in Section 6 of the LGPL.
This is the reason Qt comes with an "exception":http://qt.gitorious.org/qt/qtbase/blobs/stable/LGPL_EXCEPTION.txt to the LGPL.
-
[quote author="Andre" date="1359544898"]How do you suppose Digia should do that, given the sheer number of jurisdictions in the world? Copyright laws, on which (L)GPL is based, is not the same in every country. That makes it hugely complex to get to one single statement that will absolutely hold true everywhere.[/quote]
I would just like to receive input from an actual lawyer as opposed to opinions and interpretations from other developers. My interpretation has always been the same as that explained by MuldeR above (thanks for laying it out that well by the way).
Yet if you are right and the LGPL's legal interpretation is based on the specific copyright laws of whichever country you are in then, at least theoretically, the possibility of completely disregarding the limitations imposed on the users of libraries by the LGPL is possible...which would kind of defeat the purpose...
(please understand that I am not looking for an argument here, I am just trying to explain why I think it will be nice to get some clarity from actual lawyers...that I do not have to pay :D)
If it is truly impossible to receive such definitive input, then I think I will stick to the interpretation shared with MuldeR and just hope I don't ever become an edge case studied in Copyleft 101 at <insert university of choice here>.
-
[quote author="Lukas Geyer" date="1359548111"]Be aware that macros, inlining or templates may create a derivative work, even though you dynamically link against the LGPL-covered code, which will force you to publish code as given in Section 6 of the LGPL.
This is the reason Qt comes with an "exception":http://qt.gitorious.org/qt/qtbase/blobs/stable/LGPL_EXCEPTION.txt to the LGPL.
[/quote]
Well, im supriesed this has lead to (yet another) discussion^^
thx for the link to that exception, i read about it in an old post, but that linked to a nokia page, which i think did not exist anymore.
I guess i will follow the common interpretation then, to link dynamically, provide the Qt Librarys and all that stuff.
I think i understood that excpetion right, when i say that it means you can use templates, macros and inline functions without having to make that part of your personal (non library) code open source.
I guess i migth check if i can find something abaout derivative work in the german copyrigth law, but otherwise i will follow the common interpretation.
as i said im not planning to write huge software and sell it for hundreds/thousands of euros, but small neat tools and programms publish them for free and just place an ad or so to pay the webspace or the coffee :P i don't really think somone would be nitpicking when i fullfill 99.9% of the license but miss one small small point.
-
Yes, the exception basically says that the use of Qt headers, macros, inlined code and template is permitted and will not trigger the LGPL restrictions (which might be the case without this exception).
I am, however, in practice with Mulder. These are just nuances of the LGPL, and you should be able to safely use Qt under the terms of the LGPL as long as you link dynamically and comply with the redistribution rules.
-
[quote author="goblincoding" date="1359556472"]
I would just like to receive input from an actual lawyer as opposed to opinions and interpretations from other developers. [/quote]Tough luck, I highly doubt the forum is swarming with lawyers, eager to engage themselves with giving away legal advices for free.
-
well at least here in germany lawyers are not insured when giving legal advide on an open plattform like a forum. So when they give wrong advice and get sued they have quite a huge problem.(i'm not even sure if they are allowed to give legal advice in a forum at all)
so nearly every law board you find here is run by amateurs.
there are some blogs run by lawyers but ofc they don't give special advice there, just general stuff.