Today Nokia announced that the cross-platform Qt framework is to be released under the LGPL, with no developer licensing fees or royalties. As someone who has been using Qt continuously for the last 9 years, this is of particular interest to me. Especially since the hefty annual renewal fee for my commercial Qt licence is due in a few months.
Here is the email I received from Nokia:
Dear Qt User:
Nokia is pleased to announce that with the release of Qt 4.5 you will be able to use Qt under the Lesser General Public License (LGPL) version 2.1 terms. When released in March 2009, Qt will be made available under three licensing options: Commercial, LGPL and GPL. Prior versions of Qt are not impacted by this announcement.
Nokia is committed to Qt and its continued development. By offering Qt under LGPL version 2.1 license terms alongside today’s licensing options Nokia hopes to:
– facilitate wider adoption of Qt across industries, desktop, web and embedded platforms.
– establish Qt as a de facto standard for application development.
– receive more valuable feedback and increased user contributions to ensure that Qt remains the best-in-class, cross-platform framework.
– extend Nokia’s existing platform commitment to the open source community.
By offering a cost-free LGPL license as well as commercial and GPL licenses to Qt, you can choose the license model that best fits your development requirements.
Irrespective of which license model you choose:
– Qt Software is committed to continuing to provide our customers with the same level of professional support, services and regular releases you have come to expect of Qt Software.
– We will continue to actively develop Qt, and with a greater degree of cooperation with the community through a new contribution model, we hope to make Qt even more valuable to our users.
For more information on the introduction of the LGPL license and what this means for you, please consult the Frequently Asked Questions section on http://www.qtsoftware.com.
Director of Sales
Nokia, Qt Software
I am a big fan of QT. Over the years it has evolved into an extremely polished and comprehensive framework, with: impressive cross-platform capabilities across a wide range of desktop OSs and embedded devices; C++ and Java APIs; excellent documentation and a wide range of supporting tools (there is now even a cross-platform Qt IDE). The introduction of WebKit also takes Qt some way towards bridging the desktop/web divide. Widely admired by developers, the main stumbling block to Qt’s wider adoption has been the relatively high cost of commercial development licences.
Qt has been available for a while with both commercial and GPL licensing. The commercial version is expensive and the GPL version is free. However, using the GPL means you have to release the source of your own application, which is enough to make it unattractive to the vast majority of commercial software vendors. With the LGPL you can use the Qt libraries for free while keeping your own code proprietary.
So why would Nokia licence Qt under the LGPL? They even have a page on their site saying why they don’t think the LGPL is a good fit for Qt. A commercial licence for Qt is expensive, both in initial purchase costs and annual maintenance. Why is Nokia giving up a fat revenue stream? I am too cynical to believe that it is pure altruism. I guess the Qt licence fees are fairly insignificant to their new owner, Nokia, and they see it as an important strategic step to allow their mobile devices to compete against the free iPhone and Android APIs. Feel free to speculate on alternative motivations in the comments below.
As a commercial Qt licencee I am still working out the full implications of switching to LGPL Qt.
- Including a copyright notice, the licence agreement and a link to the downloadable Qt source shouldn’t be a problem.
- Shipping a linker and object files isn’t realistic, so I would probably have to dynamically link Qt. I much prefer static linking to avoid ‘DLL hell’ issues.
- It isn’t clear whether all the Qt classes and widgets available in the commercial version are available in the LGPL version. Does it include the Qt 3 -> Qt 4 backward compatibility layer?
- Will I still be able to get decent technical support, or will I need to buy a support contract?
I haven’t had time to assimilate it all yet. But I think a number of trends could make the free LGPL Qt into a big player in the future:
- The increasing interest in cross-platform tools due to the growing Mac market share and an increasing numbers of mobile devices.
- The neverending uncertainties about the future of Delphi.
- The shortcomings of .Net for some types of development, e.g. ‘shrinkwrap’ software.
- Microsoft’s apparent lack of enthusiasm for MFC and Windows Forms.
- The many technical strengths of Qt.
It certainly looks like very bad news for directly competing cross-platform technologies such RealBasic and WxWidgets.
- Qt LGPL page
- Implications for government and commercial users (PDF)
- Nokia Qt LGPL switch huge win for cross-platform development
- Choosing a development stack for Windows desktop applications
PS/ Thanks Nokia (I think)!