954,504 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Qt licensing question

Hi, I started with C++ development recently, and I think I'm ready to start building GUIs for my apps.

I'm thinking about using Qt, since it is the most popular C++ GUI library, but the licensing is really confusing, and there isn't a lawyer nearby that understands software licensing who can explain this to me.

I will only use Qt (as it is) for the GUI, and won't change anything inside the library. So I'm basically just going to link parts of my app with Qt and won't mind if I must release my GUI as open source, but if I can keep it closed source, it will be better. I'm not going to be distributing apps immediately, but I'm planning to by the end of the year.

Do I need to purchase a commercial license, or can I just use it under LGPL?

Thanks

ChaosKnight11
Light Poster
32 posts since Jul 2010
Reputation Points: 10
Solved Threads: 1
 

The "Lesser" General Public License means that you can use the library for any application (commercial or not, open-source or not) as long as all you do is link against the library's binaries (i.e. if you don't use the source files (only headers) and you don't modify components of the library or add new ones). So, yes, you can just use Qt under the LGPL license, no need for the commercial license. You would need to purchase the commercial license if you wished to add or modify the Qt library components themselves (and thus, recompile and redistribute the Qt binaries (.dll or .so files)), but not if you just use them.

mike_2000_17
Posting Virtuoso
Moderator
2,139 posts since Jul 2010
Reputation Points: 1,634
Solved Threads: 457
 

Ah thanks! Problem solved. Cheers :)

ChaosKnight11
Light Poster
32 posts since Jul 2010
Reputation Points: 10
Solved Threads: 1
 

If you need a "Don't worry licence" go for wxWidgets!

evstevemd
Senior Poster
3,713 posts since Jun 2007
Reputation Points: 462
Solved Threads: 392
 

@ChaosKnight11:

Careful! Iirc the LGPL allows you to freely link to Qt dynamically.
So you have to either use the DLL(or *nix equivalent)-version of Qt or deliver your object files, so the user could link your program with another Version of Qt.

Caligulaminus
Junior Poster
106 posts since Feb 2011
Reputation Points: 72
Solved Threads: 30
 

@ChaosKnight11:

Careful! Iirc the LGPL allows you to freely link to Qt dynamically. So you have to either use the DLL(or *nix equivalent)-version of Qt or deliver your object files, so the user could link your program with another Version of Qt.


That is why I gave wxOption. Free to link shared static modify sources....full freedom!

evstevemd
Senior Poster
3,713 posts since Jun 2007
Reputation Points: 462
Solved Threads: 392
 

Link dynamically? Maybe it will be safer to use wxWidgets... It's a pity, because Qt is a very attractive product... Thanks for the warning Caligulaminus.

ChaosKnight11
Light Poster
32 posts since Jul 2010
Reputation Points: 10
Solved Threads: 1
 

>>Link dynamically?

Dynamic linking is the way all GUI tools are used, as far as I know. By default, if you are not modifying the core elements of Qt, and if you are using tools like Qt Creator or qmake, dynamic linking is the way it is done. So, don't worry about that aspect. If you are not using dynamic linking, you will know about because it will most likely involve recompiling Qt, which is not something that will go unnoticed.

mike_2000_17
Posting Virtuoso
Moderator
2,139 posts since Jul 2010
Reputation Points: 1,634
Solved Threads: 457
 

Okay. So I can use Qt, I just can't change anything within the library itself and distribute my "updated" version of the library or static link the library in my app without buying a commercial license. But I can distribute the original library dlls with my app and place it in the same directory, correct?

ChaosKnight11
Light Poster
32 posts since Jul 2010
Reputation Points: 10
Solved Threads: 1
 
Okay. So I can use Qt, I just can't change anything within the library itself and distribute my "updated" version of the library or static link the library in my app without buying a commercial license. But I can distribute the original library dlls with my app and place it in the same directory, correct?


I think the answer is yes....but I'm no lawayer ;)

evstevemd
Senior Poster
3,713 posts since Jun 2007
Reputation Points: 462
Solved Threads: 392
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: