views:

294

answers:

4

I'm working on an application developed with Qt 4.6.2. I'm linking dynamically and I don't want to share my source code. The application is totally free and I don't plan on selling any part of it.

I did not make any changes in the Qt library, I'm only using it to develop the application... I just want to share my free application, without having to share the source code...

My question is, what would be your advice in choosing the correct licencing?

+5  A: 

You can dynamically link your closed-source app against LGPL libraries, so you can use LGPL Qt.

wRAR
Hey, Thanks a lot for your answer ! So, if I understand well, as long as I don't change the Qt library, I can simply have a LGPL licence ? If I do change Qt, I only have to share my Qt's modification and not my own source code ? Am I right ? I'm concerned about making a mistake and being annoyed later...Do you have an example I could follow in writting my licence ? Can I simply say "LGPL" and show the LGPL original text ?
Andy M
Your code can have any licence you want, you just need to follow the LGPL restrictions for the Qt library. Take a look here: http://creativecommons.org/licenses/LGPL/2.1/ for a nice summary.
Adam W
@Andy M: you don't need to mention Qt license in your license.
wRAR
@wRAR: Since version 4.5.0, Qt has been licensed under the LGPL. Since Andy uses Qt 4.6.2, it wasn't required to mention it.
Mihai Limbășan
@Adam W, @wRAR, @Mihai Limbășan, is my last answer's proposition correct ? Can I stick with something that simple ? Thanks again for your help!
Andy M
@wRAR: Ah, misunderstood your comment, sorry. You're, of course, right.
Mihai Limbășan
@Andy: Yes, it's that simple :) Like wRAR pointed out, you don't even need to mention Qt in your license, but you should mention somewhere (README file, help file, or whatnot) that the bundled Qt version is governed by the terms of the LGPL, and point the users to qt.nokia.com.
Mihai Limbășan
+5  A: 

You should really check the GNU license FAQs - but the main points are:

  • If you change the Qt source code you're using, you must make available the changes you made to Qt (not your app), and tools and/or instructions on how to rebuild such a modified Qt version.

  • You must use Qt as in such a way that users can replace the Qt functionality within your app with, for example, Qt 4.6.15 if it gets released, and your app still works. There are two ways to do this:

    • link dynamically against the Qt DLLs; in practice, this is by a wide margin the most used method
    • link statically, but in that case you have to provide the compiler, pre-link output (the .obj files) and instructions on how your users can recreate a working app by linking your object files and a newer version of Qt; in practice, I seriously doubt whether this method makes much sense, especially when it comes to Qt plugins which live in DLLs
  • You must, upon request from your app's users, make the source code of the Qt version you used available to them. The canonical interpretation is that it's normally not enough to just point them to Nokia's download servers (you're theoretically supposed to host copies of the Qt source code yourself), but in practice that might be OK - Nokia is delighted to spend some bandwidth to get more developers.

Other than that, it's as you expect, you don't have to share anything except your changes to the Qt libraries.

Mihai Limbășan
Thanks a lot for your answer !
Andy M
A: 

Choose whatever license you want for your program. You can even not apply any license. Since you are not distributing the source of your software, you don't really have to care about that.

You can use the LGPL version of Qt to power your application as long as you don't modify Qt itself.

Lohrun
A: 
Andy M
Yes, it is enough.
wRAR
Just to make it more clear, you might want to put the copyright line first, followed by the others. Either way is correct, but I think that makes it more obvious that your code is NOT under the LGPL.
Adam W
Thanks a lot for your help !
Andy M