From Qt 5.15, The Qt Company make their offering a bit more inconvenient for FOSS users. They announced three changes:
- A Qt account is mandatory to download binary Qt packages. The offline installer is not available to FOSS users any more.
- LTS (long-term support) releases are not available to FOSS users, once the next minor or major release is out.
- Small business pay 499 USD per year, if their yearly revenue is less than 100,000 USD and they have less than five employees.
What do these changes mean for the development of Qt embedded Linux systems under LGPLv3?
Mandatory Qt Account and Commercial-Only Offline Installer
Up to now, you could download the offline installers for Linux, MacOS and Windows – qt-opensource-linux-x64-5.14.1.run, qt-opensource-mac-x64-5.14.1.dmg and qt-opensource-windows-x86-5.14.1.exe – without having a Qt account. The online installers have required a Qt account for some years now.
If you use Qt under LPGLv3, you will not have access to the offline installer starting with Qt 5.15. The offline installer will only be available for commercial users. The online installer will still be available, but it requires a Qt account. The only way to get your hands on Qt without an account is to download the sources and build Qt from sources.
As an embedded Qt developer, you probably use the offline installer regularly to install yet another Qt version on your Linux development PC. This allows you to start developing your Qt application very quickly on the PC and to find out which Qt version fixes a bug.
In the future, you’ll have to hand over your contact details to The Qt Company for an account and you’ll have to use the online installer. In other words, you get Qt – the world’s best HMI and application framework – for free in return for your contact details. This looks like a very fair deal to me.
Building Qt from source is routine when developing embedded Linux systems. You must cross-build a complete Linux system including Qt with Yocto. You also configure the desktop Qt version in the same way as the embedded Qt version and build it yourself. Downloading the Qt sources without an account will still be possible.
All in all, hardly anything changes for embedded Qt developers.
Commercial-Only Long-Term Support
Bugfix releases of an LTS Qt release will only be available to FOSS users, until the next minor or major release comes out. Qt 5.15.0 will be the next LTS release and it will be available to FOSS users as well. FOSS users will receive bug fixes releases of Qt 5.15 (e.g., 5.15.1, 5.15.2) until Qt 6.0.0 is released. From then on, FOSS users will receive the bug fixes to Qt 5.15 as bug fixes to Qt 6.0 (say, in Qt 6.0.1).
This new rule forces FOSS users to upgrade to the next minor release if they want to enjoy the bug fixes from the LTS version. As LTS versions have a typical lifetime of three years, FOSS users see six new minor versions with hundreds of bug fixes – some relevant, some not. Commercial users enjoy the same bugfixes in the LTS version.
If a bug fix is relevant to your Qt application, you have two options. First, you cherry-pick the bug fix into your personal LTS version. For a few self-dependent patches, this is the way to go. Embedded Qt versions hardly ever come without patches. Yocto recipes make it easy to apply the patches.
Second, you upgrade to the next minor Qt release. This quickly gets tricky, because Qt recipes tend to have dependencies on specific Yocto and SoC versions. You cannot simply upgrade to the newer Yocto version that contains the newer Qt version. The vendor of your display computer typically hasn’t updated the layer for the custom-tailored SoC in the display computer. So, you must adapt the Qt layer to a new minor Qt version. This can take a couple of days. Adapting to a new bug-fix version is much simpler and is typically done by The Qt Company.
My advice is to use the first option (cherry-picking patches) as long as possible. Use the second option only as a last resort, if you run into a showstopper or if you absolutely need a new feature.
Making the bug-fix releases of LTS Qt versions commercial-only after roughly six months means modest additional efforts for FOSS users. It’s a bit of a nuisance, which is the intention of The Qt Company.
When I read the announcement, I was wondering whether the change about the LTS support violates the software license agreement (SLA) between The Qt Company and the KDE Free Qt Foundation (see my post for more details). The Qt Company is only obliged to publish changes to the LTS version within 12 months. The SLA doesn’t mandate in which minor version the changes are published. The move by The Qt Company is legal, but it tests the boundaries of the SLA.
Qt Commercial for Small Businesses
Small businesses pay only 499 USD per year for a special edition of Qt Commercial, if their revenue is below 100,000 USD per year and if they have less than five employees. This license includes Qt for Device Creation. As with the full-blown Qt Commercial license, you have to pay per-device fees (royalties) extra. Royalties are not included in the 499 USD. The small-business license includes installation support on your embedded platforms, but it doesn’t include the normal tech support.
I am wondering who would be entitled for this offering. With a revenue of less than 100,000 USD per year, hardly anyone would have a sustainable business as a freelancer, let alone as a small business with employees. It seems that the group of eligible businesses will be pretty small.
I would happily pay 500 USD for this Qt license, but certainly not 5,700 USD for the full Qt for Device Creation license. As I am not eligible for this offering, The Qt Company gets 0 USD from me. I heard the same sentiment from other Qt consultants.
I think that The Qt Company could be more generous here. Small businesses pay 0 USD, 300 USD and 500 USD, if their yearly revenue is less than 100K USD, 300K USD and 500K USD, respectively. Distribution licenses are extra and there is no support (not even installation support). Small businesses would most likely return this generosity by buying these licenses. The whole process can be entirely web-based with nearly zero cost by The Qt Company.
The Qt Company seems to forget that a small business may initiate the next 100K or 1M USD license deal. Small businesses often work for much bigger businesses with much more money.
The latest changes only mean a small inconvenicence to embedded developers using Qt under LGPLv3. Losing the LTS support may cause some small additional efforts – but nothing serious.
The not so hidden agenda of The Qt Company over the last years has been to make the use of Qt LGPL more and more inconvenient. The strategy is to annoy or scare LGPL users enough so that they finally buy Qt licenses. I doubt that this strategy works well.
The following diagram compares the costs of Qt Commercial and Qt LGPLv3 for a typical embedded project over five years (see my talk Using Qt under LGPLv3 for more details).
Using Qt Commercial costs 97.4K Euros, whereas using Qt LGPLv3 costs 24K Euros. Using Qt LGPLv3 is not free as in 0 Euros. You must comply with the licenses of all the packages on the Linux system.
As long as the cost difference is that big (more than 70K EUR), companies will most likely choose Qt LGPLv3. The Qt Company gets 0 Euros. If The Qt Company had license offering between 24K to 97.4K Euros, companies would choose Qt Commercial more often. More income for The Qt Company.
Currently, potential Qt customers have only one option: pay 5,700 Euros for the full commercial license or don’t pay at all. If they only need half of the features of Qt Commercial, they will not pay the full price. But they don’t have any option to pay half the price for less features. So, they choose the free option, Qt LGPLv3.
People are known to make a positive buying decision more easily if they have multiple options (typically three). The basic option could be 1,500 Euros, the mid-level option 3,000 Euros and the premium option 6,000 Euros. Additionally, there is a more generous small-business option as outlined above.
I am sure that more license options would lead to significantly higher sales. Many of my FOSS customers would happily pay for the basic or mid-level option. The carrot works much better than the stick for converting LGPL to commercial Qt users.
About “Qt offering changes 2020”. This post gives you the perspective of a small business building software on top of KDE and Qt. Like me, they are too big to qualify for the small-business Qt edition. The author also translates the weasel-wording of the announcement into plain English.
Safe-Guarding the (L)GPL Future of Qt. My post explains the SLA between the KDE Free Qt Foundation and The Qt Company. The Foundation is the guardian to keep Qt free and open-source. The Qt Company cannot change the SLA against the will of the Foundation. That’s why there is no reason to declare Qt doomed. FOSS Qt is alive and kicking.