Skip to main content

Raymii.org Raymii.org Logo

Quis custodiet ipsos custodes?
Home | About | All pages | Cluster Status | RSS Feed

Qt 5.15.3 Open Source released

Published: 04-03-2022 | Author: Remy van Elst | Text only version of this article


❗ This post is over one year old. It may no longer be up to date. Opinions may have changed.


Qt is a nice C++ framework with a GUI toolkit on top, actually, 2 toolkit, Widgets and Qml. Qt is available under the GPL and LPGL, open source licenses and a closed source license. Back in 2020, the Qt company decided to start a war against their own users and contributors by withholding the 5.15 code, only releasing them under a closed license, making the offline installers available to paid customers and requiring a Qt account for the online installer. Due to an agreement with the KDE project they are obliged to release the code after one year under an open source license, and that time has come for 5.15.3. For most LTS releases, the Qt company writes a blog post, but this open source release only gets a mailing list post (One day and 4 blog posts later, no mention of 5.15.3 on their blog). This short post is intended to give a bit more publicity to that release and to tell you about the KDE Qt 5.15 LTS patch collection. Even if I might not agree with the business practices, the framework is nice to work with.

Recently I removed all Google Ads from this site due to their invasive tracking, as well as Google Analytics. Please, if you found this content useful, consider a small donation using any of the options below:

I'm developing an open source monitoring app called Leaf Node Monitoring, for windows, linux & android. Go check it out!

Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.

You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $100 credit for 60 days.

I have a strong opinion on how the Qt company handles licensing, but that doesn't really adds something constructive to what the rest of the internet has already said, so I'll keep that to myself. The framework is nice, I like working with Qml, but the business side of things is, IMHO, a bit messy. I do like the fact that they oblige to their agreement and release the code, after a year. They have to, because if the Qt Company would ever attempt to close down Open Source Qt, the KDE foundation is entitled to publish Qt under the BSD license.

KDE Qt 5.15 patch collection

The KDE project maintains their own LTS patch collection. Quoting Albert Astals Cid, a KDE contributor, from this reddit post:

To be fair we are only backporting things we feel comfortable with to the kde patchset, so by rebasing the patcshet to 5.15.3-lts there's around 100 commits now backported that previously were not (I'll be committing those shortly (TM))

The backport commit can be found here.

At work we do have commercial licenses, for my own personal projects I use the KDE patch collection.

Do note that this patch collection is source only, no handy binary installers. The Qt 5.15.3 open source also only includes source code, no binary installers. For me, that's not a problem, I'm comfortable compiling Qt from source, but it's something to keep in mind. The online installer has no 5.15.3, in my (updated) installer I can only find 5.15.2:

online installer

Release announcement

Quoting the mailing list:

Tarja Sundqvist <tarja.sundqvist@qt.io>
Thu Mar 3 14:15:25 CET 2022

Hi all,

we have released Qt 5.15.3 opensource today:


  *   release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.3/release-note.md
  *   source packages in download.qt.io:
     *   https://download.qt.io/official_releases/qt/5.15/5.15.3/
     *   https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-5.15.3-src/
  *   Git: clone the release with tag v5.15.3-lts-lgpl

Best regards
Tarja Sundqvist
Release manager

Here are the release notes and here are the sources.

Commercial vs open source download differences

The download is a different from the closed version:

$ md5sum Downloads/qt-everywhere-opensource-src-5.15.3.tar.xz 
a1c893731d6a4500cd08409911b7cb72  Downloads/qt-everywhere-opensource-src-5.15.3.tar.xz

$ md5sum Downloads/qt-everywhere-src-5.15.3.tar.xz 
8254051e37b29bdea042d73a5fecbe5f  Downloads/qt-everywhere-src-5.15.3.tar.xz

Lots of diffs:

$ diff -qr qt-everywhere-src-5.15.3 qt-everywhere-opensource-src-5.15.3 | wc -l
# without wc -l: Files qt-everywhere-src-5.15.3/qtwebchannel/src/webchannel/variantargument_p.h and qt-everywhere-opensource-src-5.15.3/qtwebchannel/src/webchannel/variantargument_p.h differ
14391

Most of the files I checked only differ in license:

$ diff qt-everywhere-src-5.15.3/qt3d/src/animation/animationlogging_p.h qt-everywhere-opensource-src-5.15.3/qt3d/src/animation/animationlogging_p.h 
8,9c8
< ** $QT_BEGIN_LICENSE:COMM$
< **
---
> ** $QT_BEGIN_LICENSE:LGPL$
18,35c17,34
< ** $QT_END_LICENSE$
< **
< **
< **
< **
< **
< **
< **
< **
< **
< **
< **
< **
< **
< **
< **
< **
< **
---
> ** GNU Lesser General Public License Usage
> ** Alternatively, this file may be used under the terms of the GNU Lesser
> ** General Public License version 3 as published by the Free Software
> ** Foundation and appearing in the file LICENSE.LGPL3 included in the
> ** packaging of this file. Please review the following information to
> ** ensure the GNU Lesser General Public License version 3 requirements
> ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
> **
> ** GNU General Public License Usage
> ** Alternatively, this file may be used under the terms of the GNU
> ** General Public License version 2.0 or (at your option) the GNU General
> ** Public license version 3 or any later version approved by the KDE Free
> ** Qt Foundation. The licenses are as published by the Free Software
> ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
> ** included in the packaging of this file. Please review the following
> ** information to ensure the GNU General Public License requirements will
> ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
> ** https://www.gnu.org/licenses/gpl-3.0.html.
36a36
> ** $QT_END_LICENSE$
Tags: blog , c++ , cpp , gpl , kde , license , qml , qt , qt5