Licensing is somewhat confusing when it comes to Qt. There are few kinds of license that You can choose from, and depending on the specific of distribution of Your software it can become somewhat confusing.
First of all, I want state that I’m not a lawyer so please treat this article more like brief introduction then actual guidance. And if You are serous about going into market best practice is to consult this with Your lawyer.
Starting with version 4.5 Qt comes with dual licensing system, LGPL and Commercial.
Commercial license allows you to distribute code without source code, also with the package comes a technical support and you can decide what kind of license Your code will be distributed with. To put it simply, You pay fees and so You can do whatever you want with the software, that is build with the framework.
LGPL is a more restricted when it comes to licensing. You can still charge fee for Your application, but…
If you decide to redistribute application as only one executable file, without Qt dll’s to be more precise (so called statical build), Your code is automatically GPL. That means that If someone who, let’s say bought your application, asks You for the source code, You need to provide it (and You must make it widely available). It’s kind of inconvenient for proprietary software, because You “company secrets”, that is actually application itself, is widely available to everyone.
Other way to go is use shared library (dynamic build). Well LGPL was designed with that purpose in the mind. When You redistribute Your application, You need to redistribute it with stand alone Qt libraries (like QtCore4.dll/.so and so one … depending what kind library application require ), or tell where that library can be obtained. But Your code is not GPL. So if someone ask for the source code You don’t need to provide it. That way You can keep Yours company secrets to Yourself. Side note here, You can’t modify in any way Qt’s library, so if You spot an error and got a solution that would speed i.e. Your application 100 times you can’t do anything about it. Well you can post it to bug-track and wait for next release. And there is also a limitation to templates classes (i.e. QList), that states that You can’t include more then 5% of Your entire code inside Your application. That’s because of the nature of templates, that are actually linked with Your code (code isn’t “stored” in external libs).
That would conclude this brief introduction to licensing system available for Qt users.
As stated before, I’m not lawyer and this article is only an introduction to the subject, not a guidance of any kind.
And here is presentation done by Nokia covering licensing do and don’t do:
Literature:
[1] LGPL: http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
[2] GPL: http://en.wikipedia.org/wiki/GNU_General_Public_License
[3] Nokia explanation: http://blog.qt.nokia.com/2009/11/30/qt-making-the-right-licensing-decision/
[4] Presentation source: http://www.slideshare.net/qtbynokia/qt-licensing-explained?src=embed