Before proceeding to download Qt for open source development make sure you are choosing the right license for your project.
The Qt framework is available under both open source and commercial licenses. This dual-licensing model is based on the principal of quid pro quo – roughly meaning “something for something.”
Simply put, this is how it works: In return for the value you receive from using Qt to create your application, you are expected to give back by contributing to Qt or buying Qt.
When selecting an open source license for your project, you contribute to free and open source software development by using Qt under any of the following licenses: LGPL version 3, GPL version 2 and GPL version 3.
Basic Premises of the Qt Open Source Model
GPL – All users have the rights to obtain, modify and redistribute the full source code of your application. Your users are granted rights founded on the four freedoms of the GNU General Public License.
LGPL – Any modification to a Qt component covered by the GNU Lesser General Public License must be contributed back to the community. This is the primary open source Qt license, which covers the majority of Qt modules.
Please note that there are parts of Qt that are only provided under GPL for open source users that will require you to license your application under a GPL compatible license. Qt also ships with third party open source components that might require respective licensing compliancy, if used. See details of other licenses inside Qt .
Check out which components are available under the different open source models in the Qt Product Map.
The majority of the Qt modules are available under the LGPL v3 and GPL v3 open source license. When developing under this license your obligations are to:
If the open source license model isn't the right fit for your project or you have concerns about being able to comply to the license terms, contact us. We can help you secure rights to develop, use and distribute your application under a choice of commercial license packages.
Since our funding comes from selling commercial licenses and services, it is essential that we reach commercial readiness as quickly as possible. This can only be achieved through active community participation in our development process. The Qt community plays a vital role in ensuring the stability, richness and quality of Qt. With Qt releases being thoroughly tested by thousands of open source developers around the world, we get the boost needed to support the cost of driving further development of Qt. It ensures the future of Qt. We call this our Virtuous Cycle.
Set up your local development environment, get the Qt source code from the repositories, and build the libraries on your machine.
Grab the code at https://code.qt.io/ or if you need help, the community not only contributes to Qt, but also to the Qt Wiki where you can learn how to get started.
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 freedoms are non-negotiable and absolute, the freedoms cannot be enjoyed selectively or partially, you also need to pass them to your users.
The Free Software community has thrived because of these rules, but there are also developers who never intend to observe or cannot comply to these rules, and thus should get a commercial license. The Qt Company exists to support both sets with the dual offering.
There is a whole FAQ section for this topic: https://www.qt.io/faq/tag/qt-commercial-licensing
Each Qt user must have their own assigned Qt commercial license. UI Designers, Technical Artists, Software Developers, or Test Automation Engineers might have different kind of Qt licenses, but every single person needs a valid subscription license.
If you want to migrate from open source Qt to a commercial license, then please contact Qt sales.
There are also more topics on this question under https://www.qt.io/faq/tag/qt-commercial-licensing
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.
Yes. Projects 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 we will work together to find a solution to move your code base over from open source governance to commercial licensing.
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.
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.
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.
KDE (kde.org) is an international free software community, founded in 1996, producing an integrated set of cross-platform applications for desktop. KDE is 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 were 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 acquired or go bankrupt. As a result, the KDE Free Qt Foundation was founded and the KDE Free Qt Foundation Agreement created.
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.
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. It is also good to note that in most countries copyright infringement is statutory violation, not breach of contract and thus the statutory remedies apply.
You can find more information about GPL from GPL FAQ https://www.gnu.org/licenses/gpl-faq.html
You, your customers and end users, unless you are using Qt under a commercial license. LGPL & GPL are copyleft licenses, which means that the license follows with your product to your customer and users or your solution.
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.
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:
Firstly, you have to note that all Qt open source modules are not available under LGPLv3 license. Some modules are available under GPLv3 for open source usage, and e.g. 3rd party components such as Chromium web engine are provided under LGPLv2.1.
When Qt modules and libraries under the LGPLv3, there are a couple of obligations you will need to fulfill:
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.
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 3rd party open source projects such as the Qt WebEngine is using the Chromiun project licensed under LGPLv2.1. So when using these modules, you will need to fulfill the corresponding license obligations, in case of Chromium the LGPLv2.1.
All 3rd party modules and dependencies to used by different Qt modules are documented under Qt Documentation for each Qt release.
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.
I’m not sure if I’m in compliance with the open source licensing scheme? I am confused with the open source licensing, what should I do?
We’re always happy to talk to you about your situation, but we aren’t in the position to provide any legal advice. 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 (LGPLv#/GPLv#).