Constrains of LGPL of Qt
-
[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.
-
Great thread, if I read it correctly then I can use Qt under LGPL in this scenario:
- I modify QtWebkit->QWebPage adding additional public methods, and additional helper classes
- Modified QtWebKit has a dependency on QtXml.dll
- Compile as shared library (e.g. DLL)
- Link commercial app against this modified library
- Bundle in LGPL statement with commercial app, and links to modified QtWebKit source (and whatever else is required in LGPL in terms of notifications, header notices etc)
- DO NOT need to make available the source code for my compiled app.
Did I get that right?
Otherwise if I have an issue with sharing my QtWebKit mods or LGPL forces me to provide source code for my commercial app then I need a commercial license.
-
Is there a new URL for the "blog post written by our legal [counsel]"? The given URL is no longer valid.
Thanks!