back

by Rochus·6y ago·view on hn ↗
Here is a good background article: https://www.embeddeduse.com/2019/12/21/safe-guarding-the-lgp...

And here the email to which Qt Comany reacts: https://mail.kde.org/pipermail/kde-community/2020q2/006098.h...

LGPL has long been a thorn in the side of Qt Company management. Nokia had bought Qt for $150 million, developed and popularized the platform, and then released everything under LGPL. Digia/The Company then bought the intellectual property from Nokia for just 4 million Euros and have been trying to make money from it ever since. Now, with Corona, the management seems to have had a good opportunity to get rid of its annoying obligations to the open source community.

5 comments
Just to add a little: there's some concern, including among commercial users (including yours truly), that this is a Very Bad Idea (TM).

Thing is, non-commercial and free software projects (KDE is one of the biggest ones, but not just KDE) have a significant contribution, quality-wise, to Qt. Most commercial users are on LTS releases. They rarely report bugs in current versions. With some exceptions (e.g. Wayland), they rarely test new features as they become available. They rarely put too much effort into bug reports for LTS releases, too. That's just how commercial development works. Unless it's a critical bug and you have no choice, your employer won't pay you (or you can't charge your customer) to help another company fix their code.

Qt has a large foothold in FOSS and non-commercial software, and that provides a great deal of real-world exposure to a codebase that's old enough, and complex enough, that real-world exposure is crucial. IMHO, if they lose this, Qt will stop being a useful choice for any kind of development, cross-platform or not, within a few years.

(Edit: to be clear, it's not just that the FOSS community basically provides free beta testing -- even if technically it sort of does. This is an artifact of the way FOSS, and many Linux distributions, too, work today -- e.g. most distros don't ship the LTS version, they ship the latest version, simply because it's easier to fit that into their release schedule. Whether good or bad, it means that a big chunk of Qt app users are on the latest stable version, not on LTS.)

That's all in addition to all the third-party contributions, which are a small, but not insignificant portion of the Qt code.

I have written a fair amount of software in Qt. It has been clear to me from the actions of the Qt company (via the amount they charge for it, getting rid of indie plans which allowed you to use it Qt for ~350 bucks a year vs the $5508 a year that they have chosen the strategy of milking the captive users that Qt has rather than expanding Qt out and courting new users. For better or for worse at this point I see closed source Qt going the way of Delphi. Qts long term survival depends on a viable and vibrant OSS fork.
I don't have a lot of experience with it, but Copperspice looks promising, and doesn't need the MOC. Does anyone else have experience with any critical differences between Qt and Copperspice?
i.e. you do not need a license to have commercial qt programs, as long as you correctly use LPGL as a license, which is really really simple. IANAL but their licensing pages and legal pages are extremly misleading.
> IMHO, if they lose this ...

If The Qt Company discontinued the FOSS version of Qt, the Qt framework would become available under the BSD license, and there would no longer be a contributor licence agreement allowing a company to sell the work of another company.

> in addition to all the third-party contributions, which are a small, but not insignificant portion of the Qt code.

In the last years more than 50% were open source contributions. At Nokia times they were only 10 to 20%.

If The Qt Company discontinued the FOSS version of Qt, the Qt framework would become available under the BSD license, and there would no longer be a contributor licence agreement allowing a company to sell the work of another company.

But the rumors were that the Qt Company planned to do the minimum necessary to satisfy KDE Free Qt Foundation agreement, namely to release the source 12 months after release of the proprietary version. So, then Qt would not become available under the BSD license.

I'm sure you'll have a couple of shysters in tow trying to turn it this way. But at the end of the day (i.e. in court) only the effective will of the parties counts, no matter what (possibly wrong) wording was used in the contract. Unfortunately, KDE is not expected to go to court. The Company will take advantage of this.
> In the last years more than 50% were open source contributions. At Nokia times they were only 10 to 20%.

Oh, okay, that's grown! I was still thinking of Nokia-era figures :).

I read the linked email and now I'm even more confused about TFA.

Linked email from KDE:

> But last week, the company suddenly informed both the KDE e.V. board and the KDE Free QT Foundation that the economic outlook caused by the Corona virus puts more pressure on them to increase short-term revenue. As a result, they are thinking about restricting ALL Qt releases to paid license holders for the first 12 months. They are aware that this would mean the end of contributions via Open Governance in practice.

TFA (the entirety):

> There have been discussions on various internet forums about the future of Qt open source in the last two days. The contents do not reflect the views or plans of The Qt Company.

> The Qt Company is proud to be committed to its customers, open source, and the Qt governance model.

So, are they claiming that they never planned to "restrict ALL Qt releases to paid license holders for the first 12 months", or are they saying this plan still counts as "committed to open source"?

>> The Qt Company is proud to be committed to its customers, open source, and the Qt governance model.

Bull.

From January (eg ~2.5 months ago) they've stopped people being able to download the Open Source Windows, macOS, and Linux versions of Qt without first signing up for a "Qt Account".

eg you're now required to be tracked / able to be spammed / (etc) for even the OSS version of Qt.

That's not how companies "committed to Open Source" do things. :(

The crap they're reported as wanting to do now, is right in line with their demonstrated anti-OSS direction.

That's FUD.

It's in virtually every Linux distribution as binary and source. You don't need a "Qt Account".

It's not FUD.

Grab the official Qt installer, and try downloading anything:

http://download.qt.io/official_releases/online_installers/

It will not work unless you sign in with a Qt Account.

Not sure about online installers and not keen to find out, but I just built a Qt app last month and used the offline Windows installer for 5.14 from qt.io as part of the Windows build environment setup, and I’m sure I don’t have a Qt account (yeah checked in my password manager), so saying the open source Qt builds can’t be installed without an account is not accurate.
Thanks. That might be a workable avenue.

Hopefully having several offline installs of various versions in parallel doesn't cause problems.

They can only do that for the packages they build themselves, which are mainly useful to enterprise customers.

Qt being under LGPL, there is nothing that prevents anyone else from redistributing open-source builds of Qt - Debian / Ubuntu through apt, MSYS2 (pacman -S mingw-w64-qt5-whatever), homebrew (brew install qt), conan (conan install qt/5.14.0@bincrafters/stable), vcpkg (vcpkg install qt5)...

Sure. But 99% of people use those packages. Not sure why you say they're only useful for enterprise customers, as they're literally the reference packages. :)

On Linux/BSD though, obviously most people use the in-built package managers where the Qt version is recent enough for their purposes.

I took qt-unified-linux-x86-2.0.5-2-online.run, launched, pressed "Skip" when it was asking for the account, and it's downloading.

Have you tried it? Does it ask after the download?

That's weird. That launcher version you have is version 2.0.5-2. They retired the 2.x series a while back, and it's up to version 3.2.x now which will not work without a Qt account. :(

Oh it looks like you obtained that launcher from the old "archives" directory?

http://download.qt.io/archive/online_installers/2.0/

It's unfortunate that only has an old Linux installer. Saw it yesterday, but needed an OSX downloader and was out of luck. :(

I also always pressed "Skip" on the Qt Creator standalone installer for Linux. But the Skip button doesn't exist any more.
The offline installers seem to work:

http://download.qt.io/official_releases/qt/

At least, after disconnecting the internet connection then ignoring the subsequent error (ironic for an "offline" installer!), it doesn't require a Qt account.

They're not saying anything definitive. It's just a move to try and avoid bad PR.
Would it even increase their short-term revenue? Users who use the FOSS licence will just wait for the next release, won't they? Unless it's urgent that they use the latest Qt, why would they pay up?
Beats me, I'm certainly not dying to upgrade to Qt6. Now, it will be a nuisance if they withhold security patches for a year, though, so maybe that's what they're counting on? Holding security patches ransom?
Nokia’s acquisition was a boost but nowhere near “developed and popularized the platform” - I would bet good money that the amount of licensed customers didn’t change that significantly, under Nokia, outside of the mobile world they tried (and failed) to push it into. In fact, the most significant advancements happened before and after the Nokia period, if i remember correctly. Nokia concentrated on porting it to its doomed OSes and building a cloud infrastructure nobody really wanted to use.

The real value of Qt is not $4m, Trolltech made a decent living out of it. The world has changed a bit since then, but I’m sure there is still plenty of space for Qt in the market.

I think they likely invested a lot to the modern UI stuff, like QtQuick. They also financed the initial PySide project to get LGPL licensed Python bindings for Qt (PyQt is GPL/commercial license only).

But indeed, in other areas such as non-Nokia mobile platforms they even blocked progress. It was only after Nokia let go that the Android port really took off and was mainlined for example.

Nokia was not interested in license revenues but in popularizing the platform, especially their open source OS based on Qt. That's why they spent that much money to buy Qt ($150 mio) and then released it under LGPL. And there will always be people who find a hair in the gold pile. That's just the way the world is. Fortunately, most people appreciate what they're given.
They were only interested in the platform inasmuch as it could give them a way out of the hole they had dug for themselves with Symbian. They threw out half-assed implementations of this and that and then abandoned them at the speed of light, because the only real focus was migrating their historical Symbian devs to something that could resemble XXI century tech. I know because I was mulling some projects in the space at the time - I even went to a usergroup event that was supposed to be about Qt and got sold what was clearly a "Qt for Symbian" slide deck.

Trolltech was skimpier but was much more interested in the success of the platform per-se. In many ways the post-Nokia experiences are an attempt at re-discovering the space Trolltech lived into.

> their open source OS based on Qt.

There was never such a thing. They had a Symbian OS skinned with Qt, and a number of Linux incarnations that started with GTK and were later reskinned with Qt. It didn't help that they stroke a high-level agreement to basically adopt Intel's Linux efforts, which were targeting GTK. By the end of these travails, they ended up with something fairly decent but that was just a lame-duck. Nothing was ever "based on Qt" at a fundamental level.

> There was never such a thing.

https://en.wikipedia.org/wiki/MeeGo which evolved to http://merproject.org/ and https://sailfishos.org/ after the Nokia era

I was a MeeGo user and hobby developer, you don't have to remind me. And you should know that, as I described, it was born with GTK on top (Maemo); when it was rebranded MeeGo it was because they merged it with Intel's Moblin, another GTK-targeting effort, so the innards were very much geared towards GTK to start with.
I also thought it had to do with that, but given the parent's edit it seems to do with ideas floating around because of money issues given covid-19
Software development business is among the least affected by Corona. But Corona is a good opportunity for many managers to use it to justify previous misconduct.
Big customers of QT are Car Companies. And they are affected a lot. However, it is very early to see this impact in a second or third layer company like QT. On the other side, it could be good management (thinking forward).

But I agree with you. They are most likely executing now an old plan under Corona cover.

A lot of tech companies have clients who are significantly affected by Corona
And all of them have cancelled their license contracts in the last days or announced that they will not buy any more licenses after Corona?
> the management seems to have had a good opportunity to get rid of its annoying obligations to the open source community.

Apparently you don't even read the links you provide.

Qt company can't get rid of the leagal obligations it has to release the software. What it can do is to stop extra cooperation.

Oh, a side blow ;-)

Don't worry, I also studied law.

What The Company can or can't from this contract is not granted unless you have supreme court judgments for the points in question. Otherwise the current patent system, which is primarily based on bluff and blackmail, would not work. As long as there are companies that would rather settle than defend themselves in court, The Company will find a way to stay in the game.

Firstly, you are confusing patent system and copyright in your answer.

Secondly, nt's not about legality of open source license at all.

LGPL or GPL does not burden Qt Company with license obligations since it owns the source code. There is another contract between KDE foundation and QT company that we are talking here.

I'm sure you'll get it.