Qt 5.15.3 Open Source released
Published: 04-03-2022 | Author: Remy van Elst | Text only version of this article
Table of Contents
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.
I'm developing a desktop monitoring app, Leaf Node Monitoring, open source, but paid. 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
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))
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:
Quoting the mailing list:
Tarja Sundqvist <firstname.lastname@example.org> 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
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:
Tags: blog , c++ , cpp , gpl , kde , license , qml , qt , qt5
$ 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$