
Qt and Open Source - alaenix
https://www.qt.io/blog/qt-and-open-source
======
leoedin
Does anyone have context for what these discussions are? That's a pretty terse
message for those of us not in the loop...

Edit: This article gives a bit more context.
[https://www.phoronix.com/scan.php?page=news_item&px=Qt-
Open-...](https://www.phoronix.com/scan.php?page=news_item&px=Qt-Open-Source-
Statement)

~~~
Rochus
Here is a good background article:
[https://www.embeddeduse.com/2019/12/21/safe-guarding-the-
lgp...](https://www.embeddeduse.com/2019/12/21/safe-guarding-the-lgpl-future-
of-qt/)

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

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.

~~~
oefrha
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"?

~~~
justinclift
>> 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.

~~~
de_watcher
That's FUD.

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

~~~
justinclift
It's not FUD.

Grab the official Qt installer, and try downloading anything:

[http://download.qt.io/official_releases/online_installers/](http://download.qt.io/official_releases/online_installers/)

It _will not_ work unless you sign in with a Qt Account.

~~~
de_watcher
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?

~~~
j1elo
I also always pressed "Skip" on the Qt Creator standalone installer for Linux.
But the Skip button doesn't exist any more.

~~~
justinclift
The offline installers seem to work:

[http://download.qt.io/official_releases/qt/](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.

~~~
j1elo
That's exactly what I ended up doing, but I hope we'll agree having to do
tricks like that in order to use an installer is not... ideal

~~~
justinclift
Very much agree.

For now we (sqlitebrowser.org) will keep with the easy approach of using the
official Qt installers.

If Qt does something even further dumb though, we'll likely move to compiling
Qt ourselves. And probably then make installers (.msi/.dmg) for anyone else
that wants it too. ;)

------
Deganta
I think Qt needs to rethink their licensing model. Currently you either pay
them a LOT of money for everything they offer, or you don't pay them anything
and just use the LGPL version (when that's possible).

It seems their current strategy is to milk the users that can't use the LGPL
users as much as possible, Additionally they try to convince as many people as
possible that the LGPL version won't work for them, by having very confusing
licensing terms on their website.

My company currently uses the LGPL version of Qt, and would gladly pay for the
commercial one. In the Trolltech and Nokia days they actually did pay for it,
but the prices are no longer affordable us. So we are stuck with the LGPL
version for now.

We don't need a trillion supported platforms and tons of features. We have a
Desktop App that runs on Windows (and in the future maybe Linux), and we use
the old Widget stuff (currently no QML). We would gladly pay for the features
we need, but not the ridicolous amound they are charging now.

~~~
slezyr
> My company currently uses the LGPL version of Qt, and would gladly pay for
> the commercial one. In the Trolltech and Nokia days they actually did pay
> for it, but the prices are no longer affordable us. So we are stuck with the
> LGPL version for now.

Huh, price isn't even a THAT big problem. Software developed with LGPL version
can't use the commercial one.

> 2.13. If I have started development of a project using the open source
> version (LGPL), can I later purchase a commercial version of Qt and move my
> code under that license?

> This is not permitted without written consent from The Qt Company. If you
> have already started the development with an open-source version of Qt,
> please contact The Qt Company to resolve the issue. If you are unsure of
> which license or version to use when you start development, we recommend you
> contact The Qt Company to advise you on the best choice based on your
> development needs.

[https://www.qt.io/faq/](https://www.qt.io/faq/)

IIRC they aren't really willing to give the permission to switch

~~~
gmueckl
There is no legal barrier for them to relicense Qt from LGPL to a commercial
license for a customer. They are just strongarming customers into paying for
licenses early on during development by refusing to do so.

~~~
pknopf
Absolutely.

My company accidently used one of their GPL-only products (on screen keyboad),
thinking it was LGPL. We did the right thing and reached out to them to pay
for it after it was already deployed to customers.

We had to pay for the entire Qt platform. 20,000 dollars plus a per-device
royalty. That was a big mistake on our part, not paying attention to the
licensing.

------
j1elo
I'd love to know more about opinions of fellow commenters, just a "what-if"
question:

If tomorrow you had some big project such as Qt in your hands, and had 100%
freedom to choose how to proceed with it (in matters such as what license to
apply, what sustainability model to seek, etc.) what would you do?

I always feel that pure GPL is the best but only idealistic way to go, because
working for free is not compatible with paying your bills. Then LGPL, and
maybe other licenses such as Apache, are nice but at the end of the day allow
that private companies with private pockets benefit from the project without
helping it at all (either with work or with cash), which I know is one side of
the "freedom" that those open-source licenses bring, but it's one side that I
_personally_ don't really like (I'm more of a pragmatist than an idealist).
For that reason I feel like dual GPL+Commercial might be the best of both
worlds. It would allow basing a company around it, and paying other devs to
feed their families, and at the same time users of the GPL variant would
themselves be benefiting from _and_ contributing to open-source.

~~~
troydavis
One challenge specific to Qt is that their market is completely different than
it was when KDE adopted Qt way back in the late 90s. I ran prerelease KDE
briefly in that era and it was incredible for what it was. The other cross-
platform options were things like Java Swing and Tk. They were ugly and had
funky UI behavior.

Even then, the total addressable market was pretty small, but at least it was
anyone who wanted to make a cross-platform app.

Now, most people who want to do that use Electron, React Native, or make a
browser extension (or, of course, a Web site). The market is smaller: cross-
platform makers who are absolutely committed to Qt or for whom it’s a uniquely
good fit (like because they’re using C++).

Think of it like a pharma company with a drug that only treats a rare disease.
The TAM is tiny. Unless someone discovers that it also treats some other
disease, there’s not a lot they can do to expand the customer base. If they
want to make more money or want more short-term revenue (usually at the
expense of long-term revenue), charging existing customers more may actually
be the best option for them.

~~~
j1elo
When I wrote my first Qt-based code, it still was Trolltech. C++ seemed the
obvious choice for a performant application.

But now, I think that C++ is more of a drawback than an advantage for the Qt
project. C++ today seems a good fit for high-performance, very niche tools
such as trading, games, machine learning libraries, and such, but not for
"simpler" software such as the UI of an application. Also finding good
competent C++ devs seems to be much harder now. I myself feel like having to
go "back" to writing C++ is a bummer, having worked with other more modern
technologies.

Bindings to other languages have always been a second-class citizen. The
Python one is very nice, though, but that's all. I believe it comes, again, as
a difficulty introduced by the language itself.

~~~
pfranz
I feel like Python bindings came along kicking and screaming by the Qt owners.
PyQt was originally developed and licensed independently. Nokia was
negotiating a relicensing with Riverbank Software. When that broke down and
they wrote PySide--basically a reimplementation. That was kind of abandoned
with Python 3 and Qt5 until the VFX industry made a big push for PySide2
(rebranded Qt for Python).

Even with all of that, you generally end up reading the C++ docs, it isn't
particularly Pythonic, and there are weird gotchas. I can't really fault them
for it because you're bound to get that with bindings to another language and
it is much better than other UI toolkits.

------
lentil_soup
I really like Qt for desktop development, use it everyday, but this post makes
me feel uneasy.

What "discussions on various internet forums" do they mean? there's been
plenty. And, which ones "do not reflect the views or plans of The Qt Company"?

Why such a rushed defensive blog post?

~~~
Nokinside
Qt Company can't wiggle out from the contract it has with KDE. It must release
Qt as open source withing 12 months. Qt stays open source.

The negotiations and uncertainty are related to all extra cooperation above
that.

~~~
yjftsjthsd-h
12 months is fairly close to an eternity in software, though; that's a pretty
big catch

~~~
pfranz
Yeah. I can't imagine KDE using Qt if there's a 12 month turnaround (and they
don't have final word of what goes into a release). I would think they'd have
to fork and hopefully merge on release.

------
davidhyde
A lot of developers are experimenting with languages and libraries outside
their normal work requirements given the current uncertainties of the future.
If you are considering learning QT and come across this bad PR you will most
likely avoid the technology altogether. I was looking for a popular GUI
framework to build front ends for my rust apps all the controversy around QT
made me double my efforts to find a native alternative. I’m still
experimenting but I know for sure that I won’t be using QT now.

Same thing happened with Oracle and Java, they lost a lot of potential new
developers with their hardline approach to open source.

~~~
anoncake
What are you experimenting with? If there is any cross-platform GUI framework
that comes close to Qt, I'd love to know.

~~~
billfruit
JavaFX for example. Its documentation is not up to the mark, but otherwise it
is almost fully offers all gui functionality provided by QT.

------
tkuraku
I think Qt is an amazing product. I would use it for all desktop development
if I could. The commercial license is a bit expensive to justify. I think they
could do a lot better if the costs were more inline with a Visual Studio
license. Right now it is hard to justify it over Visual Studio when I can buy
a perpetual license or a yearly subscription for a reasonable amount of money.

~~~
billconan
I think unreal engine’s pricing model is more suitable for me as an individual
developer.

------
mmargerum
I really want to use Qt for a project but between the absurd commercial cost
and them playing games with licensing i'm going with either wxWidgets or
Lazarus.

~~~
brnt
Does anyone here use Copperspice? Saw it mentioned elsewhere as a possible
alternative. Theyre a kind of fork of Qt5, ditched the moc, and seem to be ran
as a regular Floss project. I have no experience with it, but I do with Qt,
which I like very much, so if there are users of Copperspice here I'd be very
interested in your experience.

~~~
plorkyeran
Copperspice was interesting as a technical experiment to see if improvements
to C++ have made the moc no longer needed. The basic problem with using it to
actually write applications is that the development effort on it isn't put
into things which make your application better. Modernizing and cleaning up
the Qt codebase is great for the people working on Qt (or Cs), but most of the
changes aren't actually valuable for users of it.

------
scalatronn
Looking forward for kde moving to gtk ;)

Would probably be good for gtk development

------
dvfjsdhgfv
It's interesting, I had no idea this is still an issue. For the record, this
is the reason a couple of folks started Gnome and GTK over 20 years ago.

~~~
simion314
No, at that time Qt was not free software. Now Qt is free software and you can
fork it and do whatever you want.

The issue seems to be that there are many people that use Qt for free
including companies but they won't pay with money or contributions, so if a
work will happen except KDE there will be few contributors. Qt includes a
version of Webkit that is used in some application, so you need someone to
keep on top of webkit security issues and backport the fixes.

~~~
yjftsjthsd-h
> many people that use Qt for free including companies but they won't pay with
> money or contributions

That is one of the things that free software allows, yeah.

> so if a work will happen except KDE there will be few contributors

Even if that's true, is KDE not enough?

> Qt includes a version of Webkit that is used in some application, so you
> need someone to keep on top of webkit security issues and backport the
> fixes.

I assumed that the QT end of that was a thin wrapper around upstream webkit;
is it really that involved?

------
dmytroi
While the core product is LGPLv3+Commercial, most of their extensions are
GPLv3+Commercial which makes them not suitable for a lot of apps.

Hence I find it's a bit confusing to say "to be committed to open source"
where in practice the only way to use their extension is either to release
your apps code (given you distribute the app) or pay for commercial license.
IMHO "to be committed to free software" would represent extensions situation a
bit better.

~~~
kovac
Considering the quality and capabilities of Qt, I really think they should
just sell commercial licences. Considering the fact that the engineers at Qt
need to pay to eat and pay their bills just like me, I find it absurd to
expect something like this for free. In that sense, I think the current
situation is very gracious.

~~~
detaro
What about all the people not working at Qt Company that wrote most of the
code? Qt company immensely benefits from the work done by others under the
condition it remains also available under open source licenses.

~~~
kovac
This is a good point but I'm not going to be too quick to comment on those
developers. Because they may be working on paid products and they contribute
to the upstream project when they find certain features missing.

I like opensource, I myself am a Linux user. I just like a world where perhaps
individual devs can build nifty useful software that we pay a small fee for
and use. This way the small guys can benefit. Unfortunately, the current state
of OSS (which has changes since the early days) are concentrating more power
in the hands of a few organizations.

Take Sublime Text for example. I like it that an engineer builds something
useful, ask a one time fee for it and we pay something really affordable for
it (while there was also a free version available). This way, talented
software engineers could actually make a decent living without everyone has to
build crappy software for an advert-based economy. So, IMHO, opensourcing the
software is an act of grace and would be at the discretion of those engineers.
To expect everything to be FOSS or perhaps even demand that, I find is
detrimental for individual software engineers/small players.

~~~
detaro
Many contributors aren't. And even if they are, there is a clear open license
they rely on, and Qt company is in the unique position to be allowed to sell
exceptions to that. Companies actually contributing to open-source they use is
a good thing.

Qt Company is also a 300+ employee company with 8-digit revenue. They are not
some small shop trying to survive, they are a corporation that over-promised
growth to their shareholders and now is trying to squeeze rules that have
existed for 20 years to turn some part of the open-source ecosystem into
paying customers, threatening to risk the entire open ecosystem around it for
this, which includes many small shops and individuals.

~~~
kovac
I see, thanks for the clarification and it makes sense.

