Qt Open source Licensing
3.1. Why is Qt licensed also under an open source license?
We believe in the Free Software movement where using software comes with certain rights, but also certain obligations. Use of open source licensing gives users four primary degrees of freedom when using Qt applications or devices:
- The freedom to run the program for any purpose
- The freedom to study how the program works and adapt it to specific needs
- The freedom to redistribute copies so you can help your neighbor
- The freedom to improve the program and release your improvements to the public, so that the whole community benefits
The Free Software community has thrived because of these rules, but there are also developers who never intend to observe these rules, and thus should get a commercial license. The Qt Company exists to support both sets with the dual offering.
3.10. How does commercial Qt licensing work? Do all my developers need to have a valid Qt license?
Please refer to section 2.
3.11. Can I mix code written with Open Source Qt and commercially licensed Qt?
No. Please refer to question 2.6.
If you want to migrate from open source Qt to a commercial license, you should contact us directly to discuss about your options in practice.
3.12. Is it possible to distribute applications developed with open source version of Qt via public application stores?
Each application store has their own unique terms and conditions, which may or may not be compatible with distributing applications under LGPL or GPL licenses.
The commercial license of Qt is compatible with the terms and conditions of all the leading application stores and thus typically the best choice for distributing a closed source application in various application stores.
3.13. I have started development of a product using the open source version of Qt, can I now purchase a commercial version of Qt and move my code under that license?
Products distributed under the commercial version of Qt must also be developed under the commercial version of Qt.
If you have already started the development with an open-source version of Qt and wish to move to a commercial license you need to have a written explicit permission from The Qt Company to facilitate this change. The Qt Company reserves the right to grant the permission at its own discretion.
If you are unsure of which license or version to use when you start development, we recommend you contact The Qt Company to advise you on the best choice based on your development needs.
3.14. Is it possible to use both LGPLv2 and LGPLv3 licensed libraries in the same application?
Yes, it is possible to use both LGPLv2.1 and LGPLv3 licensed libraries in the same application for example by having these as separate shared libraries. Doing this does not require changing license in either of the libraries, and it is possible to select a proprietary license for the application, if desired.
3.15. The GNU Compatibility Matrix suggests that I cannot combine LGPLv2 and LGPLv3?
If LGPLv2.1 code and LGPLv3 code are in different shared libraries, then they can be used in the same application, and you can license your application with a proprietary license / LGPLv2.1 / LGPLv3 as you wish.
3.2. Why do you have an agreement with KDE about your licensing? What KDE is and what’s the history of Qt and KDE?
KDE is an international free software community, founded in 1996, producing an integrated set of cross-platform applications for desktop and mainly known for its Plasma Desktop environment, which is provided as the default work environment on many Linux distributions. KDE software is based on the Qt framework. In the early days of Qt, the KDE project and community was the biggest driving force in building the developer ecosystem around Qt.
In the very early days, Qt was already dual-licensed, but the source code was available under proprietary open source licenses. Compromises with KDE were sought to ensure that Qt would be available for their use under appropriate open source licensing even if Trolltech (the company that founded Qt) would be bought or go bankrupt. As a result, The KDE Free Qt Foundation was founded.
The KDE Free Qt Foundation is an organization with the purpose of securing the availability of the Qt toolkit for the development of Free Software and in particular for the development of KDE software. The Foundation was originally founded by Trolltech and the KDE e.V. (the legal non-profit organization behind KDE) in 1998 and it has a license agreement that ensures the availability of Qt under LGPLv3 and GPLv3 licenses for major desktop and mobile platforms. The license agreement has been updated couple of times over the years, mainly because of acquisitions around Qt or updates to licenses and platforms.
3.4. What is the consequence of not complying with the LGPL/GPL restrictions?
If software using these open source licensed libraries does not fully comply with the license obligations you will lose your license and related distribution rights.
3.5. Can I use the Community open source version to develop my commercial product?
It depends on how you license and distribute your product. The open source version of Qt is mainly distributed under the LGPL, version 3 and GPLv2/v3. You will need to fulfill the license obligations for these licenses when using Qt in your product.
3.6. What is the difference between LGPLv2 and LGPLv3?
LGPLv3 is the current version of the GNU Lesser General Public License. LGPLv2.1 is an older version and not recommended by the Free Software Foundation for new projects anymore. Both licenses have the same intention, namely to protect the freedom of users to use and modify the software licensed under LGPL.
LGPLv3 makes this intention very explicit. You have to provide means to the end user to install a modified version of the library licensed under LGPLv3 and run your software using that modified library. In practice, this for example refers to:
- Tivoization – Explicitly not allowing creation of closed devices where the end user does not have the LGPL granted rights for the Qt open source libraries
- DRM and hardware encryption – This cannot be used to circumvent these obligations
- Software patent retaliation – Where all users of the software are granted licenses thus making software patent retaliation of any potentially patented software in the distributed software meaningless.
3.7. What are my obligations when using Qt under the LGPL?
If you are using Qt under the LGPLv3, there are a couple of obligations you will need to fulfill :
- Firstly, you have to note that some Qt open source modules are not available for LGPLv3 license, for example Qt Charts, Qt Data Visualization and Qt Virtual Keyboard. These modules are only available under GPLv3 for open source usage.
- You will need to deliver the complete source code of Qt (including all modifications you did or applied) to your users/customers. Alternatively you need to provide a written offer with instructions on how to get the source code. Please also note that this has to be under your control, so a link to the source code provided by the Qt Project or Qt Company is not sufficient.
- The LGPL allows you to keep the source code of your application private as long as it is “work that uses” the library. Dynamic linking is usually recommended here.
- The user of your application has to be able to re-link your application against a different or modified version of the Qt library. With LGPLv3 it is also explicitly stated that the user needs to be able to run the re-linked binary on it’s intended target device. It is your obligation to provide the user with all necessary tools to enable this process. For embedded devices, this includes making the full toolchain used to compile the library available to users. For parts licensed under LGPLv3 you are obliged to provide full instructions on how to install the modified library on the target device (this is not clearly stated with LGPLv2.1, although running the application against the modified version of the library clearly is the stated intention of the license).
- The user of an application or device using LGPL licensed software has to be notified of their rights by providing a copy of the LGPL license to the end user and displaying a prominent notice about your usage of LGPL licensed software.
The above freedoms cannot in any way be restricted by other licensing terms. If an application is not fully following all the obligations as outlined above, it is not allowed to be distributed at all.
You will also need to make sure that you are not using any GPL licensed modules.
3.8. Do I need to worry about LGPL when using a commercially licensed version of Qt?
Usually, not. When using the commercially licensed version of Qt, we provide almost all of Qt under a commercial license terms.
A few modules in Qt, however, use code from the WebKit project licensed under LGPLv2.1. These modules are Qt Script, Qt WebKit and Qt WebEngine. So when using these modules, you will need to fulfill the license obligations of LGPLv2.1 (but not LGPLv3).
As a commercial license user, in practice, you only need to consider license obligations of LGPLv2.1, and only if you make use of Qt WebEngine or Qt WebKit .
3.9. I’m not sure if I’m in compliance with the licensing scheme. I am confused with the open source licensing. What should I do?
It is always recommended to contact a lawyer familiar with open source licenses for a full review of your project to determine whether you can fulfill all of the obligations of applicable open source licenses (LGPLv3/GPLv2/GPLv3). You can have a high level view of your options with the “Get Started with Qt” guide in our Qt.io/download –page. In case there is any doubt on whether the requirements of the open source licenses can be met in full, the commercial licensing option of Qt is often the best choice to avoid legal setbacks. We’re also happy to talk to you about your situation, but we aren’t in the position to provide any legal guidance.