Qt Commercial License Terms, Independent Developers
I am a software developer - lately I've begun writing an independent mobile App (possibly more in the future). I am interested in using Qt to do cross platform development on iOS and Android. When I release my App, I wish to keep it closed source. What are the licensing requirements for releasing a closed-source app linked to Qt?
I see that I can buy a 1 month license for $350. As a cost to release my App, this is acceptable - but I can't afford a perpetual $350 fee every month and, if that turns out to be the case, I will choose something other than Qt for development. Can I pay for 1 month of the license and release my app during that month and be covered for my app in perpetuity? What if I do a second release of the same app (after the month I paid is up), am I still covered since my app was released with a valid license? Do I need to purchase a monthly license every time I do release? Do I need to purchase a license every time I want to merely work with the source code linked to Qt?
I read all the information on the Qt website here:
But these still leave me confused. I've emailed Qt, but they aren't responding. I also saw this post:
Which is somewhat useful, but 4 years old and doesn't answer all my questions.
I am also interested in knowing what a permanent / perpetual Qt license costs for all apps I may develop. I can't find any info on this except Qt saying to contact them. I have, but have yet to receive a reply.
Any help anyone can give would be much appreciated!
The license should be valid when you develop the app and release it. Making a new release implies that you have worked on the app, and thus should have a license.
I'm not a lawyer, so I don't honestly know how to answer the question of "What if I just release and leave it there?"
Also as you noticed we don't have a good solution right now for small/indie developers like yourself right now. We know this is a problem and are looking at options to get a better solution on the market.
So what about the following case:
You develop your application core logic - all the stuff abstracted from Qt that doesn't use Qt, then in the final development stage, you simply hook it to a Qt front-end.
So while you may have developed the application itself over the course of many months, you haven't used Qt in that time, you only use Qt in the final stage of the application development, for a month, which I'd say is sufficient time to develop and hook up quite a lot of UI code.
When is the Qt license required? While you are working on an application that eventually uses Qt, or while you are using Qt?
Is a Qt license needed during the phase where you don't use Qt just because you will eventually use Qt? What if you develop your core logic into a separate library and then use that for a Qt project?
Once upon a time there was a Indie license that would have covered your case, don't know what happened to it though.
I'm mostly a FOSS dev but if there was a 99$/yrs option that would help around the dev and perks, something less business centred and more community oriented, I would take it without a second thought.
Something to show my support of the Open-source side of Qt.
On the top of my head, 2 things I would love:
- Yearly Qt T-shirt with a cool unique design (for those who can't go to Qt summits)
- Tools for Raspberry-pi like boards (cross-compiling is a pain)
So nothing that would impact businesses anyway but an entry level to help my everyday life as a dev and I'm pretty sure I'm not the only one that wished there was a more affordable option.
@iter tough one. But a potentially realistic scenario. Though you would probably benefit from doing the logic in Qt from the beginning, I could see someone doing libraries in plain C++ and then hooking them up at a later stage.
Our sales people would say all the time :)
Also bouncing on and off a license will probably alert our sales to ask questions on what you are doing.
But I would approach it more as a conscience matter. Do you intend to use Qt from the beginning and are you contributing back to Qt in some way?
Qt lives on contributions, both code and license revenue to pay our developers. In the big scheme of things, both need to be there. The revenue from one small business license isn't critical, but the general idea of supporting Qt is.
Not a very clear answer, but I would more like to convey the idea. From a strict legal perspective both options (have a license all the time / have it just at the end) are ok. But it is more about supporting Qt.
@Kernelcoffee there is the small business license, that is intended for small business. It isn't 99 a year, but 49$/month isn't too much for small companies http://blog.qt.io/blog/2016/03/08/qt-start-ups-awesome/
We are testing t-shirt sales (yes, I know we should shout about it more) at https://shop.spreadshirt.net/TheQtCompany
I'll talk to our marketing / design about the regular custom shirt idea.
And now that you mention the RPi, yes, they are very popular and we are trying to figure out what to do there. Do you have suggestions on what would be the best way to help? Is it more about documentation, settings in Qt Creator or the toolchain? Raspbian has pretty up to date packages in it's repositories.
@Kernelcoffee there is the small business license, that is intended for small business. It isn't 99 a year, but 49$/month isn't too much for small companies
Sorry, but IT IS NOT 49$, that price is a limited time offer, which you can only take for a short period of time, and even if you take it, it only lasts a year and then it is 99$ a month, which is what I assume KC intended to write. And where is the guarantee this licensing scheme will last? Where is the guarantee it won't go the way of the old indie license once it fails to meet the unrealistic expectations of management?
On the previous subject, I'd say it makes a lot of sense to keep your core logic as standard C++, free of any 3rd party libraries. This means you can improve on your core logic without the need of a Qt license, since you won't be using Qt. And with the dynamism of QML, you can easily implement new GUI forms by means of code generation, so you don't ever have to use Qt beyond the core development phase.
If your application core architecture is designed to be flexible and scalable from the get go, you really only need Qt for integrating and building your core logic. Then you can fix bugs and implement new features without even having Qt installed on your development box.
- it's still for small business (which I'm not),
- Personnaly a small Qt logo on the front (top left) + a big back design on a black t-shirt (2016 edition).
- For the RPi : Mainly it's the toolchain, ideally, having it as a target like Android (being able to d/l it from Maintenance Tool) would be awesome (and would save a lot of time, instead of having to handbuild it for cross-compile).
Basically making things simple and easy.
@tekojo Is there now some kind of license for indies?
AFAIK, if you publish a Qt App on Play Store (or other stores) you need to keep a valid license forever. Because the license terms says you can't "distribuite" a Qt App without a license.
This is a big problem for indipendent developers with small badgets....
It's very important to be able to use latest Qt version for non-GPL application published on stores without the need to pay a fortune.
In particular if you don't earn anything from it but you plan to for future.
@luca You can still fully distribute those kind of apps under the LGPL scheme.
@VRonin But using Qt 5.11/QML (for example) without buying a license I suppose you must release source code.
You might look at the overview in, say, https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License:
The license allows developers and companies to use and integrate software released under the LGPL into their own (even proprietary) software without being required by the terms of a strong copyleft license to release the source code of their own components.
@JonB So the main difference of buying a license is that I can't statically link my App?
I am not an expert, but I believe I know of three differences:
- Yes, you cannot statically link without a license. (And I have a feeling that by definition this may exclude [certain?] mobile devices because they don't do shared libraries.)
- I believe there are a few Qt components which are not in the Community Edition but are in the Commercial.
- Although I pointed out above that the LGPL does not require source code publication, it does have alternative, lesser restrictions, e.g.:
The license only requires software under the LGPL be modifiable by end users via source code availability. For proprietary software, code under the LGPL is usually used in the form of a shared library, so that there is a clear separation between the proprietary and LGPL components.
You may avoid this requirement by purchasing a commercial license.
Please take what I write with a pinch of salt. As I say, I am not an expert, and the advice given in this forum for this issue is to read the T&Cs carefully. I am just suggesting some avenues you may wish to investigate further.
@JonB So in your opinion the point of this thread (from the beginning) simply doesn't exist...
Developing at least for Android you dynamically link to Qt so no static link (no need of license).
For me it should be great but I'm not sure about that.
A requirement of LGPL is that users must be able to replace the LGPL component (Qt) with their own version so you should make sure you don't break binary compatibility (for example using the private Qt modules)
Although I would not be encouraging you to not pay for Qt if you can:
If you link dynamically to Qt, use only LGPL components, do not use private Qt modules or otherwise tinker with the Qt side, and there is nothing special about Android (I think it used to require static linking maybe, but not now) or whatever "app stores" you use, my understanding is that you do not need a commercial license.
Basically, LGPL does not require you to publish your own source code when you link against an LGPL component, even if your app is commercial/you make money out of the LGPL usage. However, in my own case I use PyQt (Python binding to Qt), and that is GPL rather than LGPL, so I do have to make my source available if I distribute.
All statements above according only to my understanding.
@JonB Thanks for the explanation.
I would like to pay for a commercial Qt license to thanks for the good works THEY did, but at the moment it cost too much for free projects (non open source).
The startup plan is not so expensive but it require you to pay forever if you publish your app in an app store.
I hope Qt will find a good solution for all...
I hope Qt will find a good solution for all...
They did, LGPL. :) You can use that with a closed source free application on a web store as long as you link dynamically and Qt can be replaced easily with a version built elsewhere.
Since you can now link dynamically on both iOS and android you should have no issues using the LGPL license for Qt. LGPL was made for your exact use case.
Disclaimer: IANAL make sure to check with a lawyer.
Since you can now link dynamically on both iOS and android
Ah, right, is that what I was thinking I recalled when I wrote
I think it used to require static linking maybe, but not now
? Have they made it so you can now but didn't used to be able to? OOI, is that a change at the Android side or the Qt side to make it possible?
Where can I find a list of LGPL Qt modules for a specific release of Qt ?
@JonB Pretty sure android always supported dynamic linking, although I could be wrong here, I'm not really a mobile developer. I've done one back end library on mobile and that was it.
It was iOS that used to be static only and change to allow dynamic linking recently (like last year or 2).