6 ms·
Do Not Sign the Qt License Agreement Unchanged
- synergy20 2y ago"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 2y agoDoubt 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 2y agoGoogle Earth (sadly propietary), and I wish KDE/QT Marble had bindings to display Street View data as 3D projections. Also, Virtualbox...
- wormlord 2y agoAnecdotally I can name 2: https://slint.dev/success/sksignet-evcharger#story https://slint.dev/success/sksignet-evcharger#story https://www.qt.io/blog/2015/12/15/ableton-push-qt-in-music-making https://www.qt.io/blog/2015/12/15/ableton-push-qt-in-music-m...
- nabla9 2y agoQt is amazing business. Somebody is buying. Double digit growth rate year after year. - €200M net sales - 1.5M developers, - 3,500 commercial customers = €150 per developer/year = €60,000 per customer/year - €2.2B market cap.
- nottorp 2y agoWell, 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 2y agoThese guys were pretty good when I used them: https://www.cranksoftware.com/storyboard https://www.cranksoftware.com/storyboard.
- joezydeco 2y agoI 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 2y agoCrank 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 2y ago"Get a quote." Cue Bugs Bunny: "Nooooo."
- bigfatkitten 2y ago"Someone" in this case is almost the entire automotive industry, among others.
- synergy20 2y agowhich could be overtaken by AAOS(android auto) down the road?
- bigfatkitten 2y agoFor infotainment certainly, maybe not for instrument clusters, especially in base model or commercial vehicles.
- bsenftner 2y agoThat license is, in my opinion, why wxWidgets is still around, despite wxWidgets looking like 90's desktops.
- Pesthuf 2y agoFor 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 2y agoand 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 2y agowxWidgets is an abstraction of different presentation layers, QT is a presentation layer. They focus on completely different layers.
- ryandrake 2y agoI 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 2y agoI 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).
- rectang 2y ago> 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 2y agoBig 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 2y agoWell, they keep making the commercial license worse, so if Qt were GPL, companies would probably just use something else.
- johnny22 2y agoisn't that at least partially due to the kde agreement? https://kde.org/community/whatiskde/kdefreeqtfoundation/ 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.
- aftbit 2y ago>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?
- deleted 2y ago[deleted]
- ghosty141 2y ago> 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.
- josephcsible 2y agoQtQuick3D isn't only available via the commercial license. It's available under the GPLv3 too. And https://kde.org/community/whatiskde/kdefreeqtfoundation/ https://kde.org/community/whatiskde/kdefreeqtfoundation/ means that they can never make any add-ons that are only available via the commercial license (on penalty of triggering the failsafe that would destroy the entirety of their existing sources of revenue).
- ndiddy 2y ago>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.
- ghosty141 2y agoTangential 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 2y agoI 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 2y agoIt 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 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).
- ogoffart 2y ago(Shameless plug) If you're looking to go away from Qt, you can check out Slint https://slint.dev 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 2y agoI 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 2y agoYes, we'd like to improve on that: https://github.com/slint-ui/slint/issues/4128 https://github.com/slint-ui/slint/issues/4128
- bb88 2y agoGPLv3 only. Qt at least has an LGPL option. So it seems more constraining.
- ogoffart 2y agoThere 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 2y agoThat'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"
- Brian_K_White 2y agoThe horror! Well not true anyway so don't wet yourself.
- 2y ago
- phkahler 2y agoOne 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 2y agoTBH 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 2y agoHow is flutter when I already have an extensive c/c++ code base?
- Decabytes 2y agoI can't speak to that personally but I found an article^1 that goes over using flutter with C++ and another that goes over debugging C++ with flutter^2. Flutter also has a template project that includes scaffolding for building C/C++ projects that can be asked from the commandline with > flutter create --template=plugin_ffi demo_library --platforms android,ios,macos,windows,linux Hope this helps! 1. https://dev.to/andycall/the-comprehensive-guide-to-using-cc-in-flutter-part-i-4g9b?signin=true https://dev.to/andycall/the-comprehensive-guide-to-using-cc-... 2. https://dev.to/andycall/setting-up-a-development-and-debugging-environment-for-your-cc-project-with-flutter-apps-234e https://dev.to/andycall/setting-up-a-development-and-debuggi...
- ugh123 2y agoAt what point do companies consider Android Open Source Project (AOSP, non Googled), primarily using Apache 2 license, over QT?
- throwway120385 2y agoAOSP 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 2y agoTo 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 2y agoI 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.
- wakawaka28 2y agoSeems reasonable to me. I think this is a lot of FUD. I've never had a Qt license, but nothing here scared me off from getting one.