15 ms·
Announcing the Qt Automotive Suite
- distances 10y agoAs far as I know, almost all independent (meaning manufacturer proprietary, so disregarding Android Auto here) user-facing in-car systems are using either HTML5 or Qt. In that light it sounds like a smart move to make it even easier to pick their offering.
- karmicthreat 10y agoSo I'm remaking a product and was approaching qt about the commercial version. The rep was very insistent that I can not develop an internal prototype using the open source license and then move to the commercial license. So that makes qt pretty unattractive to me since I have to pony up cash and hope it's good. What I would like is something like electron that can run on a frame buffer. What's the current state of the art for a html5 based embedded interface?
- lultimouomo 10y agoFrom my understanding of the licensing, that doesn't sound right. The internal product will be subject to the LGPL, but eve if that's a problem you only need to make sure you don't distribute it to anyone so that no one can ask you to oblige to the license.
- joezydeco 10y agoNo, that's always been a quirk of the Qt licensing. If you intend to launch a closed-source* product at some future date and pay the per-unit licensing fees, the developer needs a seat license from day one. (* closed-source or code that statically links in the Qt libraries)
- lultimouomo 10y agoThat sounds like FUD* - Qt's LGPL is LGPL without modifications, so it does not have any quirk. Is it written in the commercial license that you cannot buy it if you have used the LGPL license? * Not accusing you of course; I'm totally convinced that it can come from a misguided sales rep trying to close a deal as early as possible.
- joezydeco 10y agoThe LGPL thing is not really the issue here. It's how Trolltech/Nokia/Digia/QtCo approached the payment of a commercial license. It's always been explained to me by the sales people that "you cannot switch licensing models mid-stream". So if you're planning to go commercial, you start commercial. It's not really about closing the deal as much as making sure the Trolltech developers were paid during the time you needed their support.
- loeg 10y ago> It's not really about closing the deal as much as making sure the Trolltech developers were paid during the time you needed their support. The OSS license doesn't grant you any support from Trolltech, does it?
- joezydeco 10y agoOf course not. But I could totally see Trolltech getting critical bugfix requests from people "promising" to pay the commercial license once they launch. I would totally understand the response eventually turning into "yeah, we'll fix your bug, but put your money where your mouth is", which is where they are today.
- Grishnakh 10y agoBut do you even need a commercial license to sell your product commercially? It's LGPL, so surely you can just keep the Qt library LGPL. If you're not changing anything at all in Qt (and you really shouldn't be...), and you don't care about getting support (the docs are good enough for you), then why do you need a commercial license at all?
- karmicthreat 10y agoYea, that was my understanding of it also. I think they are trying to make the argument that once the your code is written under LGPL, its LGPL forever and can't have another license.
- lultimouomo 10y agoYour code is never under the LGPL though; you are free to license your code as you please. It's the binary you release that being linked to a LGPL library is subject to its conditions.
- fs111 10y agoIf that was true, then QT would violate this principle itself and could not sell you a commercial license.
- adrianlmm 10y agoQt doesn't violate this principle, cause it is double licensed, Digia is just not using the LGPL version.
- ausjke 10y agoElectron might not be "fast" enough for many serious GUI applications? That been said, I also am struggling with finding a non-Java cross-platform GUI dev platform. The selection pool boils down to between QT and Electron indeed these days.
- jventura 10y agoYou are correct. The only serious frameworks nowadays are Qt or Electron if you're targeting the cross-platform desktop. There's also wxwidgets, although its python 3 bindings are still being built. Personally, I'm keeping my eye open on libui (https://github.com/andlabs/libui/ https://github.com/andlabs/libui/) as it is already possible to do some basic things with it. However, it is pretty much in alpha state and I'm slowly writing the Python bindings for it at https://github.com/joaoventura/pylibui/ https://github.com/joaoventura/pylibui/. The thing that I like in the libui is that it is a thin wrapper around platform specific frameworks. Therefore, the library is very small (some 340 KB) and it's as native as the underlying platform calls are.. Regarding Electron, I am writing an application on it, but it is too god damn heavy in terms of memory, disk space and boot time, and web front-end development is absolute chaos these days. Although I'm currently writing my app on it, it is mostly an MVP as I want to make pylibui/libui usable enough to switch to a pure desktop cross-platform library asap..
- c-smile 10y ago"Regarding Electron, I am writing an application on it, but it is too god damn heavy in terms of memory, disk space and boot time," Try Sciter HTML/CSS engine then (http://sciter.com http://sciter.com). It is a monolitic DLL (4-8 Mb) without external dependencies. Works on Win/Lin/OSX and even on Raspberry Pi 2 - http://sciter.com/sciter-on-raspberry-pi-2/ http://sciter.com/sciter-on-raspberry-pi-2/
- jventura 10y agoThanks for the suggestion, I didn't knew about this before! So I've tried it, the lib is small (~9MB on OS X), it renders pretty fast and has python bindings which is quite great. However it lacks in some areas, such as the scrolling which is quite bad, and it does not render the SVG files that I'd need it to render (tiny SVG spec, but lots of defs and rotations). I'm still going to look better into it since I can use Cairo and CairoSVG to convert my SVGs to PNGs, but I still do not know how well it renders some css rules, fonts, etc..
- Nokinside 10y agoWhy can't you ship commercial version with LGPL? It's LGPL not GPL? I mean, if you don't need to modify the Qt-library, you don't need commercial license. You just need to provide link to the Qt-sources.
- FigBug 10y agoYou also need to make it so the user can replace the Qt binaries with a later / modified version which may not be possible on an embedded device.
- ronjouch 10y agoReally? Why? Is this something applicable to all commercial software using GPL/LGPL components? Which clause of the GPL/LGPL makes you say that, or is there prior judgement that resulted in making such a demand?
- ori_b 10y agoThis one: d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.
- 0xfeba 10y ago> Will operate properly with a modified version Sounds like all you have to do is prove your build on your dev machine works with newer versions. Up to the user to update the library on the target machine!
- sigzero 10y agoWhat's his reasoning? As long as you purchase the commercial license prior to releasing why should they care?
- CamperBob2 10y agoAgreed, that policy is utterly nuts. The incentives for me to comply with those terms are nonexistent, which is never a sign of a good contract.
- cplease 10y agoI love it when commercial software developers complain about having to pay for software. How dare Qt demand that others pay them before developing a commercial product using their code?
- karmicthreat 10y agoOr maybe I just want a prototype to prove out a concept and software stack. Rather than just blindly throwing money at a problem. I have no problem paying Qt. I'm just unwilling to do it until I know its the direction I want to go. The current Qt licensing structure adds friction to my making that decision.
- cplease 10y agoOf course it adds friction. It's supposed to add friction. They wrote the code, they're a going concern, if you're going to pay they want you to commit and pay, not "prove out the concept" for free. Qt will give you a license for prototyping, you're just not willing to pay it. Most commercial vendors won't give you their entire product for free until your own product is half-built. Qt is different; they offer an entire free product. You want to have your cake and eat it too.
- karmicthreat 10y agoThe license for prototyping seems to be the same one for release. And Qt isn't offering me a free product, their terms are pay then develop your software. At least in my context. In any event the only issue is the weird quirk of the Qt commercial license preventing you from switching to commercial from LGPL. Which I and apparently a few other people in the thread really didn't get at first.
- cplease 10y ago> The license for prototyping seems to be the same one for release. And Qt isn't offering me a free product, their terms are pay then develop your software. At least in my context. Their standard Qt for Application Development license gives you a free 30 day evaluation period. Also, I don't think any of this encompasses simply examining the free product without use in product development, e.g., reading the APIs, documentation, and source code. That's a lot of freebies, that you don't necessarily get with other commercial products. > In any event the only issue is the weird quirk of the Qt commercial license preventing you from switching to commercial from LGPL. Which I and apparently a few other people in the thread really didn't get at first. There's no weird quirk. As they state, "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 have money, they will take your money. But if you want to develop a commercial product and use Qt up front then you have to budget for it. If you can't afford it then use something else. No one is holding a gun to your head forcing you to develop a proprietary product with Qt.
- pjmlp 10y agoInteresting the focus on QML. It feels like the Qt Company is pushing C++ down the stack, with QML getting the main focus as application development language.
- giovannibajo1 10y agoI don't think it has to do with language but rather with interface patterns. Qt Widget was made to do native desktop apps like Word; QML was made to do touch apps like on mobile. Embedded has shifted to adopt touch screen and copy interface patterns from mobile (where touch based interface were innovated first). You don't want a Word-like app in your car dashboard, but a iOS-like app.
- pjmlp 10y agoExcept that on iOS you can do everything in Objective-C/Swift if you feel like it. Same applies to Android, UWP and even Tizen with their respective native languages. So it is a conscious decision not to provide C++ APIs besides the old QtWidget and make developers use QML and its compiler instead, as far as I understand it.
- distances 10y agoIt's not as clear-cut as that. This is a case for automotive, and there isn't a single native UI widget set that Qt could use/mimic. It absolutely makes sense to use QML for custom UI development, it really shines there -- using Qt widgets for custom UI on touch screens would be madness. I've used Qt myself for desktop, mobile, and embedded development. For mobile and embedded I would not use widgets, and probably not even for desktop. I understand why the widgets still has staunch fanbase, but they do not belong everywhere.