Qt for Open Source Development

Before proceeding to download Qt for open source development make sure you are choosing the right license for your project.

What to Consider

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.

Contribution via Open Source

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 .

icon_resources_infographicCheck out which components are available under the different open source models in the Qt Product Map.

Open Source Usage Obligations  

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:

  • Provide a re-linking mechanism for Qt libraries
  • Provide a license copy & explicitly acknowledge Qt use
  • Make a Qt source code copy available for customers
  • Accept that Qt source code modifications are non-proprietary
  • Make “open” consumer devices
  • Accept Digital Rights Management terms, please see the GPL FAQ
  • Take special consideration when attempting to enforce software patents FAQ
Read More

 

icon_benefit_future-proof-road-arrow

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.

Please note that it's not allowed to use both open source and commercial licensing in the same application or device. Visit the Qt licensing FAQ to learn more

Your Contributions Matter

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.

Visit the Contribution Wiki

Get Started

Due Diligence


Confirm that you can abide by the obligations of Qt open source licensing.

When deciding which license to use, please check your corporate open source policy or consult a software licensing legal expert.

Find more information on Qt licensing and open source obligations here.

Source Code


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.

Start Contributing


Qt source code repositories are open to the public, which means that you can immediately help guide and shape the future development of Qt by contributing code, translations, examples and more.


Learn what's involved when contributing to the Qt project here.

Looking for Qt binaries?

Find them in the Qt Online Installer. It will steer you to the right download version and help you install tools and add-on components that are available for your open source license. 

Download the Qt Online Installer

Frequently Asked Questions

  • 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 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.

  • 3.10. How does commercial Qt licensing work? Do all my developers need to have a valid Qt license?

    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.

     

  • 3.11. Can I mix code written with Open Source Qt and commercially licensed Qt?

    No. 

    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  

  • 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?

    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.

  • 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.

    Ref: https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility 

  • 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 (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.

  • 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. 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

  • 3.4.1. Who cares about the LGPL/GPL license version you are using?

    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.

  • 3.5. Can I use the Community open source version to develop my commercial product?

    It depends on your own business requirements and your product. You will need to fulfill all open source license obligations with your product.

    Qt Community Edition, the open source version of Qt is mainly licensed under the LGPL, versions 2.1 or 3 and GPL version 3. 

  • 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?

    Firstly, you have to note that all Qt open source modules are not available under LGPLv3 . 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:

    • When using Open source software you need to be aware of and track the licensing of each sample, source code sniplet, module and library you use in your project.
    • You will need to deliver the complete source code of Qt libraries you used, 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 your own 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 its 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 software has to be notified of their rights by providing a copy of the full LGPL terms and conditions text to the end user and displaying a prominent notice about your usage of LGPL software.

    The LGPL terms and conditions cannot in any way be restricted by other licensing terms. If an application is not fully complying to the obligations defined in the LGPL, it is not allowed to be distributed at all and you will loose all your rights to the LGPL software.

    The GPL has a tighter set of rules than the LGPL (Lesser GPL).

  • 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 use code from 3rd party open source components such as the Qt WebEngine is using the Chromiun licensed under LGPLv2.1, or Qt Multimedia using the FFmpeg also licensed under LGPLv2.1. When using these modules, you either need to replace the 3rd party modules with your own code or fulfill the corresponding license obligations for that part of your solution, in case of Chromium or FFmpeg the LGPLv2.1.

    All 3rd party modules and dependencies in different Qt modules are documented under Qt Documentation . The list may vary between each Qt release.

  • 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?

    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#).