The Qt Project

This page is focused on the contribution and community aspects of the Qt Project, in case you are looking for information related to The Qt Company visit qt.io.

Our framework and community

The Qt Project is an open collaboration effort to coordinate the development of the Qt software framework and tools.

Cross-platform

Qt is a cross platform application development framework for creating GUI and applications that run on various software and hardware platforms.

Open Source

All Qt modules are released under the open source licenses LGPLv3/GPLv3, and the project is under an open-source governance that involve individuals and organizations working on advance Qt.

Secure to be Open

Thanks to the KDE Free Qt Foundation which secure the availability of the Qt toolkit for the development of Free Software and for KDE Software.

Extensive experience

Qt was officially released in 1991, and with more than 35 years of experience, is one of the most used and well-known UI frameworks used in the world.

Multi language

Besides most of the framework being written in C++, Qt has introduced its own declarative language QML and has embraced other languages for bindings and applications like Python, Rust, C#, Java/Kotlin, and Swift.

Looking for Contributors

We are actively looking for new contributors. Even if you are starting, we encourage to contribute! As a first-timer contributor, you will get reviewers assigned automatically to your first patch so they can help you.

How to contribute

The following steps are intended for code and documentation contributions, but keep in mind you can help the project in many other ways.

Setting up your environment

  1. 1. Create an Account

    Register your Qt account, so you can easily authenticate among all the Qt services: Bug tracker, Gerrit, Wiki, etc.

  2. 2. Install the necessary software

    You can check the platform-dependent requirements for building Qt from source in the documentation page, here is a short list:

    • Git is being use in all the repositories, so you will need it for getting the source code, push your contributions, etc.
    • CMake is used for configuring a Qt build.
    • Ninja is recommended in order to compile the project that is configured by CMake.
  3. 3. Get the sources

    You can get the qtbase repository as a starting point which include many modules like Core, GUI, and Widgets:

    git clone https://code.qt.io/qt/qtbase.git

    All the qtbase modules can be found here. Other Qt modules can be found here.

    In order to initialize this meta repository, and get all the sub-modules you can use the init-repository Perl script. There are a few options in case you want to only initialize a few sub-modules, on specific branches read more here

  4. 4. Configure Gerrit

    Login into Gerrit and add your desire information to your account, but remember to accept the CLA.

    Configure your SSH and add the proper remote to your repository. Read more about the process on the wiki about the process, but if you configured everything correctly, when trying the following command:

    ssh codereview.qt-project.org

    you should get the following message:

    ****    Welcome to Gerrit Code Review    ****
    
    Hi <name>, you have successfully connected over SSH.
    
    Unfortunately, interactive shells are disabled.
    To clone a hosted Git repository, use:
    
    git clone ssh://<username>@codereview.qt-project.org:29418/REPOSITORY_NAME.git
    
    Connection to codereview.qt-project.org closed.

Prepare your contributions

  1. 5. Find an issue to solve

    In case you are not solving a problem you encounter while developing an application, you can check the list of open issues in our bug report system in order to find something that is interesting to you.

  2. 6. Commit & Push!

    Once you have your local patch ready to submit, remember a few things:

    Check the Commit Policy and remember to add a Task-number: or Fixes: entry to the commit footer. Since your patch will be pushed to the dev branch, add a Pick-to: when a cherry pick to another branch if necessary.

    git add <the files you modified>
    git commit  # this will open an editor, for you to write a message
    git push gerrit HEAD:refs/for/dev

    If the push worked well, you will get a URL for your new change on Gerrit where you will be able to modify the commit message with the web interface, add reviewers, and view your change in detail.

Qt works in any platform

Develop your Qt application in the following systems

Get in touch.

Looking for contact other Qt developers?

Qt also has numerous channels on the Libera.chat network, some of which are also bridged to KDE's Matrix instance.
Additionally, you can find help in the Qt Forum.