[HN Gopher] Do Not Sign the Qt License Agreement Unchanged
___________________________________________________________________
Do Not Sign the Qt License Agreement Unchanged
Author : LorenDB
Score : 147 points
Date : 2024-09-16 18:08 UTC (4 hours ago)
(HTM) web link (burkhardstubert.substack.com)
(TXT) w3m dump (burkhardstubert.substack.com)
| synergy20 wrote:
| "ten thousands of companies have built fantastic products with
| it"(LGPL Qt) -- any data to back this up? I doubt it myself.
|
| the license mess at Qt is why I never touched it over the years.
| dubcanada wrote:
| Doubt what? QT is very popular. Just look at video game
| launchers, Battle.net, EA Origins, all use it. VLC, teamviewer,
| telegram, tesla UI, etc all use it. I can list about 100
| different apps without even trying.
| anthk wrote:
| Google Earth (sadly propietary), and I wish KDE/QT Marble had
| bindings to display Street View _data_ as 3D projections.
|
| Also, Virtualbox...
| wormlord wrote:
| Anecdotally I can name 2:
|
| https://slint.dev/success/sksignet-evcharger#story
|
| https://www.qt.io/blog/2015/12/15/ableton-push-qt-in-music-m...
| nabla9 wrote:
| Qt is amazing business. Somebody is buying. Double digit growth
| rate year after year. - EUR200M net sales
| - 1.5M developers, - 3,500 commercial customers =
| EUR150 per developer/year = EUR60,000 per customer/year
| - EUR2.2B market cap.
| nottorp wrote:
| Well, it's easy when you're the only decent [1] cross
| platform UI library left on the face of the earth that does
| not instantiate a browser. Also the only option to get a lot
| of infrastructure pre done for embedded projects.
|
| [1] My friends who still do Qt whine occasionally about
| quality going down, but it's not like they have other
| options.
| throwway120385 wrote:
| These guys were pretty good when I used them:
| https://www.cranksoftware.com/storyboard.
| joezydeco wrote:
| I used to look down on Crank like it was the next coming
| of Flash Lite, but after finishing a project in QML and
| realizing most of the heavy lifting was connecting the
| Javascript components to business logic C++ code running
| underneath through their clunky interface methods... it's
| pretty much the same thing.
|
| And I bet Crank will actually run on a Cortex-M3.
| not_the_fda wrote:
| Crank doesn't scale. The project is a binary file. You
| can't have multiple people developing screens. Its fine
| for small projects, anything big and it falls apart.
| CamperBob2 wrote:
| "Get a quote." Cue Bugs Bunny: "Nooooo."
| bigfatkitten wrote:
| "Someone" in this case is almost the entire automotive
| industry, among others.
| bsenftner wrote:
| That license is, in my opinion, why wxWidgets is still around,
| despite wxWidgets looking like 90's desktops.
| Pesthuf wrote:
| For me the main issue with wxWidgets isn't that software made
| in it looks dated - that's fine, at least it's not mobile first
| on desktop, with huge margins and whatever those new Windows 10
| date pickers are - but that the development experience feels
| like it's straight from the 90s.
| wiz21c wrote:
| and it's definitely inferior to Qt. Sure, for 80% of things
| thy are mostly on par (provided you can bear the 90's look).
| But after that, there's a world between the two.
| dubcanada wrote:
| wxWidgets is an abstraction of different presentation layers,
| QT is a presentation layer. They focus on completely
| different layers.
| ryandrake wrote:
| I remember Slashdot arguments from all the way back in 1998
| about the Qt license--over 25 years ago! Kind of astonishing to
| realize that controversy around licensing has been with this
| company for most of my adult life. To the point where when I
| see "Qt" the first thing that comes to my mind is "License
| Tomfoolery."
| treyd wrote:
| I don't see why people lose their minds about the
| "tomfoolery". It's very clear what the Qt company wants, and
| how that's good for everyone. If you want to use Qt, you have
| to support the free software movement either directly (by
| making your code foss) or indirectly (by paying for the non-
| LGPL use and supporting Qt).
| nottorp wrote:
| > If you want to use Qt, you have to support the free
| software movement either directly (by making your code
| foss)
|
| That's the problem. No matter how many times Digia
| threatens you, the LGPL does not require you to make your
| code open source.
|
| You're either confusing the L and non L GPL licenses, or
| you remember the situation from before Nokia bought Qt.
| Trolltech Qt was indeed GPL (without the L) plus commercial
| and what you said would have applied. However, it does not
| apply now.
| anthk wrote:
| Imagine a world were GNUstep was pushed instead of GTK. Today
| GIMP would be rebased into Cocoa and made multiplatform with
| ease. It would be the GNUstep Image Manipulation Program.
|
| Even legacy systems could be running a GNUStep desktop thanks
| to having multiple settings: a modern one a la OSX/Etoile;
| and another one with classical NeXT widgets without fancy
| effects.
| anthk wrote:
| Heh, a lot of wx/c++ software has been ported to QT for obvious
| reasons.
| rectang wrote:
| > _All these companies have in common that they didn't read the
| Qt license agreement thoroughly and they didn't evaluate
| alternatives to the QtDC license. They only have to blame
| themselves for their calamity._
|
| Well, no. I'm allowed to think that the Qt company had something
| to do with it, even if you always have to be on guard when
| negotiating or signing legal agreements.
|
| I'd counsel small businesses who do not have infinite time or
| legal resources to prefer Open Source products because evaluating
| the legal risk is cost-effective compared to evaluating
| proprietary alternatives. It's similar advice to what you get in
| this blog post, even though I'm not so cynical as to think
| "companies gonna evil" is a universal truism.
| dtquad wrote:
| Big companies like Autodesk and Tesla are using the LGPL version
| of Qt without paying a cent to the Qt company.
|
| It was a business mistake by the Nokia in 2009 to offer the non-
| commercial version of Qt as LGPL. They should just have continued
| using GPL.
| ronsor wrote:
| Well, they keep making the commercial license worse, so if Qt
| were GPL, companies would probably just use something else.
| johnny22 wrote:
| isn't that at least partially due to the kde agreement?
| https://kde.org/community/whatiskde/kdefreeqtfoundation/
|
| >> The core libraries of Qt (Essentials) and all existing LGPL-
| licensed Qt add-ons must continue to be available under the
| LGPLv3.
| dtquad wrote:
| The original Qt-KDE agreement from 2000 was GPLv2.
| johnny22 wrote:
| might wanna add some context as to how that's relevant to
| the current time frame and situation
| nottorp wrote:
| > It was a business mistake by the Nokia in 2009 to offer the
| non-commercial version of Qt as LGPL.
|
| I don't think so. At the time I'm sure their goal was to have
| Qt as the development platform for all their phone hardware in
| time, while the profit would have come from phone sales. Using
| LGPL would have encouraged adoption by all developers.
|
| What they didn't know in 2009 was that their hardware business
| will collapse. Or be collapsed.
| thebruce87m wrote:
| I'm no expert, but this link says that you have to include
| install instructions:
|
| https://www.tldrlegal.com/license/gnu-lesser-general-public-...
|
| How are Tesla using it? If it's in their cars, how do they
| comply with this?
| jdboyd wrote:
| I worked at a small company that used Qt using the LGPL version
| of Qt with paying a cent to Qt. I thought we should probably
| pay for it, but the terms of the commercial device license made
| that unbearable.
|
| While Autodesk is a big company, I could see trying to use a
| commercial licence as impractical for them. If they tried, what
| would it mean for their no cost editions, what would it mean
| for their plugin developers, what would it mean for their
| customers who do custom development on to of it? I think the
| paid licenses would be a disaster in all cases.
| aftbit wrote:
| >Clause 11.3.2. The developers must also delete all installed
| copies of commercial Qt tools and Qt libraries. Qt customer can
| keep some developer licenses to continue the support of their End
| Customers. Bug fixing is OK. Adding new features is not OK.
|
| Jeez I'd hate to be the engineer who has to explain in court that
| my change was a bug fix and not a feature improvement.
|
| Why do people even buy QT Commercial? LGPL is a very easy license
| to comply with. Are there better tools for commercial users or
| something?
| ghosty141 wrote:
| > Are there better tools for commercial users or something?
|
| Some software components are only available via the commercial
| license (QtQuick3D is a big one, Qt3D is _very_ barebones and
| you basically have to do everything via shaders). Also you get
| "support" which can be nice for new developers but doesn't get
| you very in-depth technical answers, at least from my
| experience. Booking support time/workshops directly via KDAB or
| Qt to adress specific issues is a better investment than paying
| the commercial license just for that.
| ndiddy wrote:
| >Why do people even buy QT Commercial? LGPL is a very easy
| license to comply with.
|
| Qt is used a lot on embedded devices (i.e. car infotainment
| systems, smart TVs, smart appliances, etc). Complying with
| LGPLv3 means that the user must be allowed to reverse engineer
| the product and upload a modified version of the software to
| the product. This blocks practices such as firmware signing, so
| a lot of companies would rather pay for Qt than comply with
| LGPLv3.
| spookie wrote:
| GPL 2 with the Classpath/Linking Exception? Still, not many
| do this.
| riedel wrote:
| Why would you need to allow modifications the binary und er
| LGPL? You will need to ship the source of qt and all mods you
| made to it, but that is it. Or am I missing sth?
| bramblerose wrote:
| You also have to allow the end user to make changes to the
| LGPL software running on the device.
| seba_dos1 wrote:
| Yes, you're missing the ability for the user to install and
| use the modified code, which is one of the main things that
| LGPLv3 introduced over LGPLv2.1.
| Rochus wrote:
| LeanQt still has LGPL 2; never saw a need or advantage to
| switch to more recent versions.
| azalemeth wrote:
| That frankly makes me just wish it was legislated to be true.
| Sigh. Reverse engineering iot devices that are supposed to
| help you shouldn't be a necessary step but it looks like it
| increasingly is...
| ghosty141 wrote:
| Tangential Qt rant:
|
| After having worked with Qt (QML) on a daily basis (and quite in-
| depth, from using the scenegraph api to creating controls that
| with complex touch interfacing) I have to say I wouldn't pay a
| dime for the stuff you get with Qt. And even what they sell is
| almost never even close to worth it.
|
| The underlying technology is pretty good, so the Qv4 engine, the
| OS-abstractions (sockets, networking etc) and so on. But all the
| library code ontop can be _very_ hit or miss.
|
| For example, they introduced new ways of handling touch events
| (DragHandler, TapHanderl, PinchHandler etc. etc.) which work
| GREAT! But they lack any way to stop propagation of events
| leading to them becoming utterly unusable if you have any custom
| "popup" things. There are also a lot of bugs with them which
| haven't gotten fixed in years even though they cannot be worked
| around. Paying for the product doesn't seem to even get you any
| further in that regard.
|
| Using the open source Qt is the best option in my opinion, worst
| case you buy support sessions to adress specific problems but
| that's about it.
| dubcanada wrote:
| I mean every UI software, even the ones built into the
| different OS's has bugs like these. So what is the alternative?
| Throw Chromium into the code and build the UI with HTML and C++
| backend? JUCE or some other UI package?
|
| There really is not a ton of other options.
|
| I think for most companies, paying for QT and maybe a few extra
| for bug fixes as needed makes sense. And lets you tone down the
| hardware expenses that say Chromium would require.
| ghosty141 wrote:
| It obviously depends on your needs, if your software needs
| complex controls, responsive layouting and tries to achieve a
| smartphone-type UI, then yes I using chromium is the way to
| go with a c++ backend that does the heavy lifting.
|
| Qt has a big advantage if your content is rather static and
| you can just top-down layout everything via anchors and
| rather fixed positions. But in those cases you also generally
| don't use complex controls that layer ontop of each other.
|
| In my opinion it should be communicated quite clearly that
| QML is very good for "small" embedded UIs like for general
| home appliances, but if you are planning to create a rather
| complex application with demands like responsive layouting,
| custom data structures, interfacing with existing apis, then
| you far better off just using chromium with a custom backend.
| That has far less UI-breaking bugs.
|
| Qt accidentally COMPLETELY broke lighting in Qt3d:
| https://bugreports.qt.io/browse/QTBUG-100402
|
| That's something I find completely unacceptable and I haven't
| encountered something that application-breaking in chromium
| (yet).
| zerr wrote:
| Or just use Qt Widgets? Yes, the default sizes and styling
| might not be suitable but these are easily and fully
| customizable. The one disadvantage is that Widgets is not
| hardware accelerated.
| ghosty141 wrote:
| Widgets seem far more robust and tested but from what
| I've gathered pretty suboptimal for touch-first UIs and
| more modern design.
|
| For the desktop I would 100% use Widgets over QML.
| lukeh wrote:
| Flutter is another option for embedded.
| joezydeco wrote:
| Google continually lets the embedded community down. You
| can promise this time won't be the same, but I don't trust
| them anymore.
| tempcommenttt wrote:
| If youre a python dev, pygame is an often overlooked option,
| it's quite nice if you're targeting a specific screen
| resolution. I'm using it in production....
| ogoffart wrote:
| (Shameless plug) If you're looking to go away from Qt, you can
| check out Slint https://slint.dev Being inspired from QML, Qt
| users should feel at ease. The license model is hopefully less
| constraining than the Qt one.
| duped wrote:
| I played around with it for awhile but the generated code was
| awful for compile times. Have you looked into writing a proper
| interpreter instead of compiling to Rust, or optimizing the
| generated code for compile times?
| ogoffart wrote:
| Yes, we'd like to improve on that: https://github.com/slint-
| ui/slint/issues/4128
| bb88 wrote:
| GPLv3 only. Qt at least has an LGPL option. So it seems more
| constraining.
| ogoffart wrote:
| There are 3 license: 1. GPL 2. Royalty-free (free of charge
| for desktop) 3. Paid license (which we hope is less
| constraining than the Qt commercial one)
| drpossum wrote:
| That's a lot more than "seems" if it's GPL. That is "you need
| to release your source code entirely under GPL if you even
| link to this"
| kelnos wrote:
| I think GP's point was that slint's commercial licensing is
| less of a minefield than Qt's, and the terms are
| straightforward and reasonable.
|
| (I haven't verified this; this is just how I read the GP's
| comment.)
| phkahler wrote:
| One thing both for and against GTK as an alternative to Qt is
| that Qt is not just a GUI framework, it's an application
| development framework. That means if you depend too heavily on it
| and later want to switch to GTK, you'll have to rip up a lot more
| than just your GUI code and you'll find that GTK doesn't provide
| alternative to those other things. IMHO GTK being limited to the
| GUI is a good thing and my main complaint is lack of respect for
| API stability as a key feature.
| Decabytes wrote:
| TBH for the GUI work I do, Flutter has been fantastic. Really
| great developer experience with hot reload and hot restart even
| on Linux. It's a great technology and I think more people should
| give it a try
| jdboyd wrote:
| How is flutter when I already have an extensive c/c++ code
| base?
| ugh123 wrote:
| At what point do companies consider Android Open Source Project
| (AOSP, non Googled), primarily using Apache 2 license, over QT?
| throwway120385 wrote:
| AOSP is an entire operating system with a GUI layered on top of
| it. Qt is a relatively straightforward tool for building
| embedded and desktop GUIs that happens to also have some cross-
| platform library support built in to ease the construction of
| these GUI applications.
|
| It's like asking whether fish can breathe benzene when they are
| out of water.
| joezydeco wrote:
| To be fair, Qt also needs a POSIX API running underneath it
| just like AOSP does. So you're still on Linux for embedded
| devices.
|
| I've tried building an embedded product with AOSP that isn't
| a phone or web browser. It was a massive pain in the ass. I
| hate the JNI.
| Rochus wrote:
| I prefer to not sign this agreement at all (not even the
| contributor agreement) and recommend anyone asking not to do so;
| everything I need from Qt was there when it was made LGPL by
| Nokia. Today I work with LeanQt which still has the LGPL 2
| licence version which is easier to handle (especially for
| embedded systems) than the more recent ones.
___________________________________________________________________
(page generated 2024-09-16 23:01 UTC)