PDA

View Full Version : Obligations for releasing GPLed Qt app



lutz
17th February 2011, 23:46
Hello,

I am brand new Qt, and just finished writing my first small app. Even though it's fairly trivial and probably not useful for very many people, I would like to make it available for download on my website under the GPL license.

While the technical documentation is excellent, I find the legal details of the various licensing options very confusing. While I understand that this forum is not the best place to get legal advice, I would very much appreciate any feedback on the following questions.


Qt is available under different open source licenses, LGPL 2.1 and GPL 3.0. How do I know which one I am using? This Nokia FAQ (http://qt.nokia.com/about/licensing/frequently-asked-questions#can-i-switch-from-1) makes it sound like there are two separate versions of Qt corresponding to the two licenses:

Can I switch from using Qt under the GPL to the LGPL?
No, those using the GPL-licensed versions of Qt need to fulfill the requirements of the GPL. You will be able to re-release your work under the LGPL by incorporating it with or using the LGPL licensed version of Qt.

I do not recall ever choosing between these two licenses.


If I distribute only the source code of my program, am I bound by any of Qt's license agreements? Does the fact that I edited my code in Qt Creator, and designed my forms in Qt Designer, cause the code itself to fall under either the LGPL or GPL license?


If I distribute only the source code under the GPL, do I still have to include in the code the attribution statements to Nokia? Do I have to provide functionality that these attributions are accessible to an end user of the compiled program, for example in the "About App" box?


I would also like to distribute the application in binary form, for example as a Mac application bundle. This bundle includes the compiled Qt libraries the will be linked to dynamically. What are my additional obligations in this scenario? I assume that I will have to include the LGPL license text in the bundle, if I use the Qt libraries under that license. In this case, does the application need an end-user accessible function that displays the Qt attribution? Do I have to link to the Qt source code, either from the application itself, or from the website where I distribute my program?


I apologize for this long list of questions. Since I want to make my program available under the GPL, I would have thought that this would be the easiest case. I wish Nokia made available some examples for open source applications that exemplify the legal requirements.

Thank you for your interest,

Lutz

wysota
18th February 2011, 01:25
I do not recall ever choosing between these two licenses.
If you build Qt yourself, you can choose the licence. Otherwise the "default" licence is assumed to be the one mentioned while downloading (which is usually LGPL).


If I distribute only the source code of my program, am I bound by any of Qt's license agreements? Does the fact that I edited my code in Qt Creator, and designed my forms in Qt Designer, cause the code itself to fall under either the LGPL or GPL license?
No, this is not "derived work", you can licence it any way you want.


If I distribute only the source code under the GPL, do I still have to include in the code the attribution statements to Nokia?
No, your source code has nothing to do with Nokia.


Do I have to provide functionality that these attributions are accessible to an end user of the compiled program, for example in the "About App" box?
In theory no (a person who performs the compilation should do that) but you can do it for the sake of your users.


I would also like to distribute the application in binary form, for example as a Mac application bundle. This bundle includes the compiled Qt libraries the will be linked to dynamically. What are my additional obligations in this scenario?
The binary is considered "derived work". All statements of the licence that apply to derived work, apply to your binary (but not the source code).


I assume that I will have to include the LGPL license text in the bundle, if I use the Qt libraries under that license. In this case, does the application need an end-user accessible function that displays the Qt attribution?
No. An attribution in the docs of the program should be enough.


Do I have to link to the Qt source code, either from the application itself, or from the website where I distribute my program?
It would be nice to tell your users where they can find the component that is required by your program to run.


I apologize for this long list of questions. Since I want to make my program available under the GPL, I would have thought that this would be the easiest case.

If you want to licence your app as GPL then focus on fulfilling all the licence obligations for your program. Then as a side effect you should fulfill all those for Qt as well.

lutz
18th February 2011, 02:32
Thanks, wysota, for your answers; they are very helpful. I have one more questions regarding the distribution of a binary application bundle: If I choose to use Qt under the GPL 3.0 license, then I assume I have to license my application also under GPL 3.0. But if I choose to use Qt under LGPL 2.1, can I then use GPL 2.0 for my program?

Lutz

lutz
19th February 2011, 01:29
If I choose to use Qt under the GPL 3.0 license, then I assume I have to license my application also under GPL 3.0. But if I choose to use Qt under LGPL 2.1, can I then use GPL 2.0 for my program?


To answer my own question: According to this license compatibility chart (http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility), it should be possible to use a LGPL 2.1 licensed library in a project licensed under GPL v2, v2 or later, or v3.