9 ms·
Tried to use QT for a new product based on a STM32F769 MCU some time ago. I got laughed at and waved off when asking for the budget needed to buy/licence QT stu
by numlock86 4y ago
Tried to use QT for a new product based on a STM32F769 MCU some time ago. I got laughed at and waved off when asking for the budget needed to buy/licence QT stuff. To be fair, they need a business model, but the target audience seems just to be automotive or anyone who's planning to roll out something with at least a million pieces in mind.
- arinlen 4y ago> I got laughed at and waved off when asking for the budget needed to buy/licence QT stuff. This. Regardless of Qt's technical merit, it's licensing automatically takes it out of the table of most of all potential projects. https://www.qt.io/pricing https://www.qt.io/pricing
- ihaveajob 4y agoThey work really hard to hide this, but they do have a LGPL license that applies to most of the framework, and only some parts (charts, etc.) are GPL/commercial only. For those old enough to remember, this license issue was at the heart of the Gnome/KDE schism. From their site <https://www.qt.io/download-open-source https://www.qt.io/download-open-source>: LGPL – Any modification to a Qt component covered by the GNU Lesser General Public License must be contributed back to the community. This is the primary open source Qt license, which covers the majority of Qt modules. If you're not familiar, in practice, the difference between GPL and LGPL is that LGPL does allow dynamically linking a library with a closed source program, without requiring that the program also becomes GPL/LGPL. This is compatible with most development as long as you either don't modify Qt, or are ok with those modifications becoming open source.
- joezydeco 4y agoLGPL3 is a no-go for a lot of embedded projects, as OP is probably finding. The anti-tivoization clauses mean you need to provide a way to install user-built Qt libraries on the target device. You might think that's not a big deal until you go to work for an automotive or medical company and meet up with the massive wall of lawyers that tell you no fucking way.
- toyg 4y agoBut those projects should have the budget for a real license, so that's not a real issue. The problem is typically people not bothering to understand the L in LGPL.
- arinlen 4y ago> But those projects should have the budget for a real license, so that's not a real issue. You're missing the whole point. It's irrelevant whether projects should have a budget or not. The whole point is that there are plenty of alternatives that do not require thousands of dollars per year*developer, nor do require lawyers to audit releases.
- toyg 4y agoAs others said, there aren't that many alternatives that work as well as Qt in a crossplatform way or in the embedded space. On the desktop you can go Electron, but you then pay penalties in performance that not everyone is willing to endure. In the embedded space there is little or no alternative.
- deleted 4y ago[deleted]
- LtWorf 4y agoNot if you also want decent performances
- varajelle 4y agoThere isn't so many alternatives that works so well in the embedded space. (in the kind of device where a web browser is not an option)
- detaro 4y agoNow I'm curious what you think are the "plenty of alternatives" for embedded that are obviously a better choice.
- 4y ago
- arinlen 4y ago> They work really hard to hide this, but they do have a LGPL license that applies to most of the framework (...) No, LGPL also excludes projects from most commercial software. Also, keep in mind that this is not a choice between Qt with a paid license or Qt with LGPL. It's a choice between Qt and any other framework, and licensing alone makes Qt a very poor choice.
- jcelerier 4y agoWhich frameworks though ? WxWidgets, GTK and Electron need compliance with LGPL, and I don't know any other that would be comparable in terms of features with Qt
- neodypsis 4y agoThat's perhaps an advantage that Flutter has over Qt. See: https://github.com/flutter/flutter/blob/master/LICENSE https://github.com/flutter/flutter/blob/master/LICENSE
- jcelerier 4y agoThe API span of flutter is ridiculously small compared to Qt. Does it even have a proper tree view? I only see stuff comparable to Qt Quick there: https://gallery.flutter.dev/ https://gallery.flutter.dev/ ; nothing to make a complete desktop UI. e.g. if I look at what I can find for docking widgets (and I have hardly ever seen an actual useful software for content creation without a whole set of dozens of docks): https://caduandrade.github.io/docking_flutter_demo/#/ https://caduandrade.github.io/docking_flutter_demo/#/ like, is this a joke?
- neodypsis 4y agoYes, Qt is the best for certain types of desktop UIs and it has a proven-track of years. However, if you're a small business, what options do you have --realistically-- that come with friendly licensing and without having to shell out big bucks?
- deleted 4y ago[deleted]
- dark-star 4y ago> it's licensing automatically takes it out of the table of most of all potential projects. maybe consider licensing that "potential project" under a license that allows you to use the OpenSource Qt version?
- Blackthorn 4y agoSeriously! That licensing is a feature for the public, not a bug. Make your project open source.
- 42e6e8c8-f7b8-4 4y agoOr... comply with the LGPL with regard to dynamic linking and the other LGPL requirements and don't use any GPL'd components.
- arinlen 4y ago> Seriously! That licensing is a feature for the public, not a bug. Make your project open source. It's ok for activists to feel that free software is the solution to every problem in the world, but back in the real world there are projects for which open source is not an option and parroting activist mantras is not helpful.
- cycomanic 4y agoSo why expect the library for free then? Saying open source is not an option but not being willing to pay for the licencing cost of the "commercial" Version is quite hypocritical no?
- 42e6e8c8-f7b8-4 4y agoNot at all hypocritical. The people who authored the code release most of it under LGPL, the intention of which is to allow closed-source dynamic linking against the LGPL'd library. I didn't decide this. The users didn't decide this. The people who actually wrote the code decided this.
- 77pt77 4y agoYou can use almost all of QT even in close source, provided you only link dynamically.
- atq2119 4y agoI'm pretty sure you could even link statically, as long as you provide the necessary .a / .o files to rebuild against a different version of the LGPL library. But of course dynamic linking is the safer approach.
- 77pt77 4y agoI believe you are correct. You'd have to provide a way to relink. I seriously can't see a judge ever being able or willing to understand what's at stake here in case this ever gets to court.
- pjmlp 4y agoI see it diferently, when I want to enjoy the work of Qt devs as free beer, my work is also free beer. When I want to get paid for stuff I develop with the work of Qt devs, then like in other profession, I pay the creators of tools I get money to put bread on the table. They also need to buy bread, so it is only fair we share the same conditions.
- zeroc8 4y agoYes, but sharing the cost with lots of other developers would them enable to bring the price down. For me, it seems like Jetbrains vs. Borland/Inprise/Codegear/Embarcadero. Jetbrains always had reasonable prices, but a huge amount of customers. Embarcadero tries to milk the few customers that remain. Qt is like Embarcadero.
- pjmlp 4y agoThat is the usual speech, yet when they offered cheaper packages about 10 years ago, everyone wanted free beer, hence why they turned into those that actually pay. When everyone wants free beer, in the end they get Electron.
- LtWorf 4y ago> When everyone wants free beer, in the end they get Electron. Which uses webkit, which is LGPL :D It seems all the people here who complain about QT's license never bothered to read the license of anything else.
- zeroc8 4y agoWell, it's their business, so fair enough. But that means that lots of projects can't and won't even look into using Qt.
- zxspectrum1982 4y agoEmbarcadero Delphi and C++ Builder are used for legacy stuff, it's maintenance mode and Idera (owners of Embarcadero) are following the same model as Broadcom, Microfocus and others: milk enterprise customers because they are too invested and they are not going to rewrite those applications. I don't think anyone has started any meaningful project in Delphi or C++ for at least 10-15 years. Qt on the other hand is used a lot and new projects are started with Qt everyday. Qt is not Embarcadero.
- omgmajk 4y agoWoof, those prices are so enterprise.
- DannyBee 4y agoIt is also very in your face. Went to go install the SDK on windows - have to create an account, click a ton of stuff in the installer to convince it that it's okay to give me the free version, etc It then proceeds to install 20+ gigabytes (yes) of stuff, including their ide that you can't actually uncheck. No thanks, i'm out.
- yellow_lead 4y agoI think you can get by with 5gb or so if you're only building for one platform. But if you select Android, iOS, sources, etc it can get big
- nottorp 4y agoThe ide is actually decent. Or was in the Qt 4 days. The rest... as the OP in this thread says, the only thing we're using Qt for is something something automotive (and paid). We don't bother going near the LGPL version for small things. Too many threats.
- secondcoming 4y agoQTCreator is one of the best C++ IDEs for Linux. I'd imagine Visual Studio is better but I haven't developed on Windows in years.
- DesiLurker 4y agoThat is besides the point parent poster is making though. are they also making it so that you cannot use the GPL software w/o the IDE? if so that would be a violation of GPL.
- LtWorf 4y agoHe's just complaining about the installer of the pre built binaries that asks for an account. You can download sources and build them yourself. Which is what linux distributions do.
- 4y ago
- sorenjan 4y agoMaybe Slint could be an option? From former Qt developers. https://slint-ui.com/ https://slint-ui.com/
- nu11ptr 4y agoDoesn't yet have a table or tree control - would only work for very basic UIs in this limited state. Also, GPL and all that entails (with rare exception that you can petition for a free license if a very small entity or open source).
- numlock86 4y agoThere's no pricing indication other than "contact our sales", which is a common wording for "just as expensive (or even more) as the competition". Also their licence and subscription (yuck) model seems awful. Pay a monthly fee per device as long as I sell my product? No thanks. I got laughed at for presenting QT as a possible solution. This will just make me look like a tryhard clown.
- ahartmetz 4y agoThey are almost certainly not as rigid about pricing and conditions as the Qt Company. Source: I know these guys.
- haneefmubarak 4y agoPerhaps they could provide some reasonable (production!) public pricing plans and allow custom quotes for folks who want to negotiate the price further then.
- mhuffman 4y ago>There's no pricing indication other than "contact our sales", which is a common wording for "just as expensive (or even more) as the competition" Or the one-two punch of "Contact our sales", followed immedietely by "What is your budget?" ... which is a common wording for "How much money do you have? That is what this will cost!"
- 4y ago
- api 4y agoThe inconvenience of software licensing and license management and the potential legal issues that incorporating third party licensed software can create for a project are a much bigger impediment to the use of commercial developer tools and libraries than the cost. If the cost is reasonable for what you're getting, most companies wouldn't think twice about paying for a library or a dev tool if it'll help them ship faster or better products... and if they didn't have to think about it much anymore after that decision. You can see this by the willingness of companies to shell out for SaaS tools like GitHub paid accounts and commercial CI/CD services. There isn't really much lock-in there. If you need to abandon GitHub you can move to GitLab or stand up your own instance of something like Gitea. Might lose some meta-data but your main code (product) is intact. Instead the nature of licensing means that the license of the library you're incorporating contaminates your project and you have to get legal involved. Even having to contact legal is generally the kiss of death. It also raises questions about whether the vendor can rug pull you in the future and kill your product. To be fair this can sort of happen in open source if you rely on a complex project that gets abandoned and don't have the resources to adopt it, but at least there you have some recourse and you can keep using what already exists until you have a long term solution. This complexity is really why we can't have nice things, since things as powerful as Qt really do require funding in one form or another.
- robomartin 4y agoYes, the Qt licensing model is the reason we have not touched it. Not interested in the ramifications it creates. For example, imaging you are selling your company and, during due diligence, the buyer discovers you have to release your source code. Yeah. Talk about having a bad day. In addition to this, I have exactly zero interest in any licensing model that requires a per-device fee. First of all, the fee, at least last time I looked, is completely opaque. My guess is they try to squeeze you for all they can. Second, and often more important, I have zero interest in Qt having an internal view of our business --which is what they get when you have to account for how many devices you made, sold and when. I don't mind the per-developer or site licenses. Per-device licenses are intrusive. They also get to tap into your profit margin. No, thanks. We have subscriptions with JetBrains for their excellent tools. If JetBrains turned around and said "You have to pay a fee for every unit sold", we would drop them like a hot potato. Everyone understands that example, yet somehow people don't recoil at this idea of per-device licensing. Hardware is hard enough as it is; adding a blood-sucking vampire to the equation doesn't make it easier. Think about it. Is the work Qt does more complex than what JetBrains do? Not at all. I can actually see JB's work being massively more difficult, particularly when you consider the array of tools they have to evolve and maintain. Why is it that Qt think they are entitled to poke a needle into your arm and suck blood out of every device you make? Even better, the open source license demands contribution of any enhancements back to Qt. They, in turn, take those advances and sell them through their commercial licensing program. Do the contributors get a piece of the action? Why not? Also, I believe that, until recently, if you stopped paying your developer licenses you were prohibited from selling your product. In other words, if I created a product using Qt five years ago and never touched it again, I'd have to pay them a developer's license for the life of the product. Once again, blood-sucking vampire behavior. That said, I believe I read something about this policy changing. Since I have not found a way to care about Qt, I didn't bother to read that article in detail. Another analogy: It's like what's going on with modern "smart" TV's. You go buy a TV and the manufacturers somehow feel entitled to harass you with advertising and all sorts of data gathering. Intrusive and wrong. How could Qt change my mind? I don't have a problem paying a reasonable per-developer annual license fee. What's reasonable? A few hundred dollars, say, $300 or so. After that, no per-device fees, get your microscope out of my ass and the license isn't tied to released products in any imaginable manner. I very much doubt this will happen.
- zxspectrum1982 4y agoWhen I was a developer and engineering manager, we used Qt for many desktop and embedded (not microcontroller) applications for many years. It was a bit cheaper than today (~3K EUR/seat) but it paid by itself due to the increased productivity. It was a no brainer. With mobile platforms, I can imagine the same is true: you can save a ton of development time money.
- llornkcor 4y agoPerhaps you could choose this license? https://www.qt.io/pricing/qt-for-small-business https://www.qt.io/pricing/qt-for-small-business