Constrains of LGPL of Qt
-
I think you can use any license as long as you allow the final recipient to switch the LGPL library (or reverse engineer and debug it) to fix any bug that could arise in it (the library). There is also a special LGPL exception granted by Nokia concerning the headers (because they are used directly in your app). What you can't do is modify Qt and not tell anyone (i.e you either have to merge your changes into Qt or provide the sourcecode of your modification).
-
The commercial license allowes you to modify Qt without telling anybody about the changes, write closed code without giving anybody any source of anything :-)
Just the binaries for money. That's what we do in out company. You only have to state some copyrights in your about texts and handbooks.
-
Using: Yes as long as you dynamically link it (some companies prefer static linking)
Modifing (and enhancing): Not without contributing back to Qt (which is possibly more valuable to Nokia)
Also, Commercial users still like to buy the priority support.
And by getting many people to use Qt, they can establish it as a de facto standard. -
[quote author="Eddy" date="1307995853"]
You could add [sticky] in your title as we do with [solved].
Maybe the trolls will pick it up.[/quote]<offtopic>
Sorry, a sticky will have to be truly exceptional - we try to avoid them as a general thought. Especially in high traffic forums. I think we have 3 stickies in total now.
</offtopic>
-
Ok, sorry guys. I have to pop this thing up again since I can not afford a lawyer (I would just buy the commercial licence if I could) :-)
If I understand correctly (and thats what this is all about: interpretation :-) I just have to make the changes I made to Qt itself public, bot the source code of my own exe binary?
I made one Qt DLL out of QtCore, QtGui, QtXml and QtNetwork, packed it using UPX and linked my exe dynamically to it. This reduces dramatically the installation package. So is that compliant with LGPL?
Thanks,
Sam. -
[quote author="SamuelTee" date="1311053391"]... I made one Qt DLL out of QtCore, QtGui, QtXml and QtNetwork, packed it using UPX and linked my exe dynamically to it. This reduces dramatically the installation package. ...[/quote]
<offtopic>
I do not have an answer to your question, but I have ... two questions for you, from a technical point of view:a) Can you provide some additional details on how you did this?
b) Will your executable work with the "standard" Qt-dll files?
</offtopic> -
you can find more information in this link "GNU project ":http://www.gnu.org/philosophy/why-not-lgpl.html
-
[quote author="SamuelTee" date="1311053391"]I made one Qt DLL out of QtCore, QtGui, QtXml and QtNetwork, packed it using UPX and linked my exe dynamically to it. This reduces dramatically the installation package. So is that compliant with LGPL?[/quote]That big Qt DLL represents clearly a -derived work- work based on the Qt Library, that means you need to provide all the source code needed to rebuild it.
But the LGPL 2.1 (in the preamble which is in plain English or sections 6a & 6c) and LGPL 3 (section 4d0) do explicitly allow static linking, so you might be able to further reduce the size of your application without modifying Qt itself, as long as you provide a way (6a) or just a written offer for that way (6c) to relink your application with a modified version of the library.
-
@Stavros
a)
Well I just created a new folder under /Qt/src (such as /Qt/src/QtBase) and copied all the stuff from /Qt/src/corelib, /Qt/src/gui, /Qt/src/xml and /Qt/src/network into it (I had to rename some *.pri files to avoid duplicity). After that I created a new pro file for it ... and compiled.b) No. It will not.
@alexisdm
I know that my "single Qt DLL" is a derived work (and therefor I need to provide the above mentioned info). But is my own exe (linked against this derived-"single Qt DLL") also such a derived work or not? -
@SamuelTee: This blog post written by our legal council is recommended reading: http://blog.qt.nokia.com/2009/11/30/qt-making-the-right-licensing-decision/. Also check out her detailed answer to the questions in the comments.