How much cost Qt for Indie developers ?



  • Ok! Thanks. Finally a clear cut answer.
    I can live with those limitations.

    Then I don't have to hunt for and learn another GUI framework after all... ;-)



  • Your freedom even goes a bit further than that, but let's not cloud the issue :)



  • [quote author="Andre" date="1374218615"]Your freedom even goes a bit further than that, but let's not cloud the issue :)[/quote]

    I don't think that would cloud it up in any way, on the contrary I think it would be a nice addition for motivating "indie" developers to use Qt, so, please, make a short list over the additional advantages.

    If you don't feel like posting it to the forum, please pm me with it, as I'm working on a blog entry covering this exact topic.


  • Moderators

    With LGPL:

    • you can distribute your application under any license, including commercial ones
    • you don't have to provide source code of your application to your users

    You have to:

    • provide any large patches to Qt that you are using (for example when you have fixed something in QPoint). Small changes are exempt from this by Qt License extension to LGPL. Also, if you push changes to Qt Project, and they are integrated into Qt, you don't need to provide anything
    • provide license file for Qt
    • allow libraries to be swapped (no static linking)
    • inform your users that Qt is being used (About box, readme, etc.)

    So you can modify Qt itself, but you need to give your users the means to run your application with Qt they build on their own (if they wish to do it).

    With GPL:

    • all your code needs to be GPL'ed, too
    • you need to provide source code to your clients upon request (you don't have to make them publicly available and you don't have to ship them by default. Any recipient can propagate those files, though)


  • While I really like using Qt SDK much more than Visual Studio when I was using it (before C#); Qt Creator is light-years ahead of anything for wxWidgets; I like the idea of running natively to avoid the slow startup and garbage collection vs .NET applications; and I love that it is multi-platform, including phones - it seems overpriced for me. Sure, LGPL is still a good deal, BUT, I am coming across more problems with it than at first seemed apparent when I started:

    1. If you want to, e.g. make VST/RTAS plugins, Qt LGPL is simply a non-starter; unless you are making freeware ones, even if you could solve the technical issues. Users are used to having single DLL's they can re-arrange and copy about; but with Qt5, we are up to 12 DLLs needed to make my application run on a target Windows machine, coming in at 12.5 MB+ (counting one in the "platforms" folder needed to make it run on XP). The same project in Qt4 needed 3 DLL's coming in at a svelte 11.6 MB.

    2. This bloat of DLL's is including things like D3DCompiler, EGL, GLES, and the huge icu*.dll files; most or all of which I'm not even using, but they are required just to run. I assume that statically linked versions are a lot smaller for a total install; since linkers will ordinarily exclude unused functions, etc. This isn't a stopper for me, but developers do like to avoid excess bloat wherever possible. For those who cannot abide the extra bloat, this will be a problem.

    3. If developing for phones, a 36.2 MB program is pretty large; vs. the 12.5 MB my app used to be in Qt4. So, if I want to sell a phone app, must I pay 2995 Eu.; and will my app then be small enough? It's nice that it can cross compile for them, and simulate them, but is it the case that LGPL version is just a non-starter here too?

    For cases #1 & maybe #3, LGPL is a non-starter, and it would be good if they would warn prospective programmers. For case #2, the deliverable install size just bloated considerably, although it is not a stopper. I am not ready to be done with it. Unlike wxWidgets, I can get it to do what I want, in most cases, without undue grief; and they have an excellent IDE (I was really amazed at the ease that it integrated with Git; although I've not needed advanced Git features yet). While LGPL sounds really great, further reflection shows problems with it that are not readily apparent for prospective developers.

    The licensing for Qt is way more expensive than most or all of the competing products. I'd like to see that come down; although M$ doesn't have the LGPL users like Qt. It is quite a boon for FOSS software, of course; but this too cuts into their user base. Will this be a benefit or liability for them in the long run? Time will tell. If you want to develop for both Windows and e.g. Linux, or Windows and say, Andriod phones, when they are supported, am I to understand that one must pay for each, and that isn't included in the 2995 Eu? The cost is staggering to use it in those cases where LGPL doesn't work. I'd suggest that they might have e.g. an enterprise edition and a standard edition, so as to provide something for small developers so they could statically link, and not have to pay what are the highest or among the highest prices in the business.


    Note: edited to reflect the removal of unneeded DLL's.



  • I see people here has discussed pretty much how things really stay and I agree that an indie developer license would be a very nice offer - I would totally buy this license. Still, we're stuck with the licenses that Digia is providing right now and we can't do anything about it.
    I am an indie developer too.. well, not really as much of a developer as I just got out of high school with C++ knowledge and I'm experimenting with Qt. But in my mind I have a lot of projects I'd like to make real, some are very small while others are huge projects; and I'd like to get some money out of them so I could afford better hardware to develop on, and something to live.
    As stated before by others, the only thing that would allow me to make money for free out of Qt-made applications is to use LGPL. But while reading the LGPL license I could not understand all the license statements. It may be because my mother tongue is not English... I don't know...

    So, if that's not too much of asking, could someone please explain the LGPL license in a section-by-section manner, so I can understand all the terms and conditions provided along the license?

    Also, another big issue as I could understand is the deploying size of shared libraries. So, while I still don't get all the terms the LGPL license provides, let's suppose I just decide to use it. Then, when compiling the Qt shared libraries, would I be allowed by LGPL to (and how do I) exclude modules from being compiled in the shared libraries to reduce the final size? e.g. in an application I'm trying to get done right now I don't need to use any other modules than QtGUI, QtCore, QtWidgets and maybe QtNetwork - can I compile just those and exclude all the others?
    And last question, still related to shared libraries; a lot of code on the web (not necessarily Qt) is known to have issues when dynamically linked (probably because of not-that-well-done-code). Does Qt have any of these issues?

    Thanks in advance for anyone willing to answer the amount of questions I made :)



  • @T3STY
    There are argument about statically linking with LGPL licence. Since Digia it self advising not to statically link Qt libraries for LGPL users you might better to stay away from it.

    Technically I don't see a point to having issues with dynamic linking unless there are multiple libraries installed in same system. With proper deployment strategy you can avoid it.

    Just see the "Sierdzio"s answer replied on "July 19, 2013". There are answers for all your questions.



  • If I was to set up a petition to get Digia's attention in order to fragment their license prices [as in "I am an indie developer with absolutely no budget, but I would the like to support the product and to GET support and a voice"] - could I expect to get support from all you indie devs out there, and would Digia listen?

    And, where would be the best place(s) to market this petition apart from here?



  • I have absolutely 0 budget but I would love to develop and sell small applications, and once having the money, buy a higher priced license. I actually think this type of license should be available as a default for any commercial frameworks out there where small/alone developers can be properly introduced to the framework and the business (please, let's not argue about whether it's fair or not for all or specific frameworks... just take my word for the concept). So YES, I will totally support you on this!

    Best place? No idea. I mean, the forums is the best place since it's the closest thing to Digia we have. I don't know Digia's history and I can't tell if in past they've followed any petitions on outside websites or whatever. I'll put my trust in it though, and hopefully they'll give us an answer to why yes or why not.
    Let me point out though that we should always start from a direct (or closest) contact with them; a petition is to be used when we can't directly contact the people we address to (in this case, Digia) to express our needs. Suddenly starting a petition outside could be understood as "we have no faith in you, so hear us while we scream", which I would personally take it as (somehow) offensive. That's not what I (we) mean with this petition, so let's make things the right way.

    Would Digia listen? I don't know... I've seen quite a few Qt devels around, I guess they will read this, eventually, and maybe they can put a good word for us. This thread though makes me wonder if the whole is going anywhere... I mean, it's fairly clear what this thread is all about, what we are asking; Digia has for sure read it by now (or somehow, it may have come to their attention), but there have been no "official" words from Digia... only a few experienced devels have answered us. This doesn't mean they're totally ignoring us, but maybe they're waiting for a more explicit request before making a move.

    So, we can give this a try on the forums and see what happens.



  • Qt is great always has been imo, I have nothing bad to say about them at all. I typically only develop open source any way but I do agree that the price rang is a little bit to expensive... On the other hand if it weren't we might not have it all so...
    [quote author="Volker" date="1324248061"]If it's too expensive for your - nobody forces you to buy a license. Go with the LGPL version and be happy. There's nothing to flame about this. If you run a business making money out of the software you build on top of Qt, it's likely that the license fees are negligible compared to the other costs. And there's more you get for the money than only the license, e.g. dedicated support, bug fixes, etc.

    Let's be happy that there are that much options and everyone can choose what fits ones needs.[/quote]



  • One part of yesterdays announcement needs to be added here.

    We listened to your needs and are bringing a indie mobile package with pricing that makes sense for this category of developers.

    Take a look at the blog post here:
    http://blog.qt.digia.com/blog/2014/09/16/the-qt-company-introduces-a-unified-website-and-20e25-monthly-indie-mobile-package/

    And you can find the indie mobile package directly here:
    http://www.qt.io/download/



  • I am an independent desktop developer and i think i'm fine with LGPL (dynamic linking and no mods to qt).
    While developing a commercial application one element i would like to add is automatic updates for my customers, this implies updating executable, data files and dlls, but as far as i understand because of LGPL the customer should be able to use qt dlls they like, so the automatic update system actually fight against LGPL?



  • Hi,
    I am wondering about license model as well.
    I want to use QT for development of small desktop applications, but I do not want to open up my application source code.

    When I go to qt download page at http://www.qt.io/download/ I need to answer a few questions.
    In case of commercial development I am asked for:
    "Do you want to legally protect your product from reverse engineering?"

    What is meant by this exactely? It means that I have to provide my application source code?
    Or is my source code anyhow part of product deployment?

    In case of answering with "Yes", the download page suggests me to download commercial version.

    But, indeed, for my type of applications the prices for QT commercial version is beyond any profitableness for me!

    Who knows exactely?

    Thanks a lot

    Richard



  • @rrauch The "Do you want to legally protect your product from reverse engineering?" wording is a bit odd. No you don't have to release your sources for code linked against the LGPL Qt... but you do have to enable users to relink with their choice of Qt if they want to, and that means certain options which might be considered to make an application more secure/opaque (principally: use of static linking instead of the dynamic linking generally used to meet LGPL obligations) are closed to you. Quite a bit more on this in the Qt blog post at https://blog.qt.io/blog/2015/02/17/qt-weekly-26-protecting-your-application-against-hacking/ . It's an interesting spin on things which I doubt will convince many who'd otherwise use LGPL; can't really begrudge Qt Company wanting to cook up and promote any reasons they can come up with for why folks who could use free LGPL should go for a commercial license instead.



  • Just an FYI. I contacted Qt about this. I'm willing to spend money on Qt, but as one developer whose projects probably won't make any money, $4200 ($350 a month) is insane.

    I pretty much spelled it out like this, and whether or not my e-mail had any sway, I can't say:

    1. I want to spend money on Qt. I won't spend $350 a month.
    2. I have no problem complying with the LGPL, but would pay to statically link.
    3. If cheaper licensing terms were available for non business/enterprise users, I would buy Qt. I don't even really need support. I'd buy it just for the convenience of static linking.

    In summary, I want to give you (Qt) my money, but you (Qt) don't seem to want to take it.

    Well, I've got good news. I talked with a rep (Rather, he left me a voicemail since I was at the job that actually makes me money :-)). In his Voice Mail, he said The Qt Company was looking at releasing an indie license in 2016 for $25 a month. There are surely going to be restrictions on this, but I can't imagine they're any different than the standard for these types of things. e.g. No more than X number of users, no more than $X revenue per year, or a company of size N.

    I'm really glad that they're considering this. It's pretty common practice: Microsoft does it (VS Community), Unity 3D does it, JetBrains does it (Discounted single user/free student licenses)... It's almost an industry standard at this point, because students and home users aren't (Really, they just can't) going to shell out thousands of dollars a year for a product. Hopefully they're considering student licenses, too. Those are low risk and get young people using Qt who would be more likely to spend cash for business licenses when the get into the workforce.



  • @rrauch

    LGPL explicitly permits reverse engineering of your software, if I recall.

    Here's the deal: there's nothing stopping somebody from reverse engineering your software anyway. It's just that the LGPL specifically addresses this. RE of software is murky at best. It's not something I would be that concerned with, since it's not something you can prohibit a user from doing.



  • Hi,

    Yes, small / indie licenses are pretty common and we do know that there is a need for them. As far as I know they are still hammering out the details of the license (exactly those "$X revenue, Company size Y" sort of things), but we should have something in the near future.

    Reverse engineering is a long and complex topic. Clean room reverse engineering is legal, but most organisations do not have the required resources to engage in it (it is hard and complicated to prove that you worked in a clean environment). So in practical everyday use the term to my understanding has come to mean non-clean reverse engineering approaches, which for commercial code can be denied in the license. (I'm definitely not a lawyer, so if you really want to know, find a good software lawyer and ask)

    Also as a side note to the older posts, the commercial Qt licenses have traditionally been targeted at larger organisations, who in some cases (whatever their reasons be) do want the limitations and protection of a commercial license.



  • @tekojo

    Hi
    So I see this conversation started quite some time back but your latest comment at the time of writing this is less than 3 weeks ago. Does this mean that "Indie licencing" or similar is being revisited with a fresh offering as the blog post I came across seemed to suggest that it had been tried and then abandoned?

    Re: http://blog.qt.io/blog/2015/07/06/indie-mobile-available-until-aug-31st/



  • @just_in
    It is being considered and worked on, just not in the form it was before.
    The old 'indie-mobile' license didn't work out as expected, so there needs to be a different angle for the indie developers.



  • So Qt pricing has "improved" from a "one time 6000 euro" to "4200 euro annually". Wow, just wow...

    As for the LGPL license, and the ability of well paid lawyers to interpret things, it seems that while "small fishes" will probably be relatively safe using Qt under LGPL, any well selling app's author will be maliciously prosecuted by a pack of lawyers. Because reality check - if you can't afford 4200 euro annually for Qt, you definitely won't be able to afford good defense in court.

    As others have already noted in this thread, the model where developers have full freedom and their minds at ease, and Digia just gets like 10% of the author's app sales. That seems fair enough.

    At any rate, current Qt pricing is preposterous and absolutely not justified. Get in touch with reality. Qt is pretty much the "best" tool in its category (C++ application dev frameworks), but it is far from great objectively speaking. There are a lot of missing features, there are a lot of features which work backward, there is a lot of feature duplication, bloat and inefficiency, and there are a lot of bugs. It runs perpetually behind schedule, and even bugs which people bothered to report remain unaddressed for years, even if they are highly voted by the community.

    Also, it begs the question, if Qt pricing is now on a per-month basis, does this mean I can purchase Qt for a month, make an application with it in a month, then stop using and paying for Qt and keep selling the app I made in that one month? Or you have to pay for Qt even if you don't use it in order to be able to sell the stuff you made with it?

    As for why I think the pricing is not justified - that can easily be illustrated by means of comparison. In this particular case, I chose a popular content creation suite's subscription plan - Adobe Creative Cloud. It is a suite of applications for creating a wide range of content - audio, video, raster, vector, application and web development, and a bunch of other features, plus content and cloud storage - and all this for 60 euro a month - about 1/6 of the price of Qt, capable of doing about 6 times as much as Qt...



  • Hi,
    As part of yesterdays license update information, we did announce a license for small business use. The details are still being finalised, but it definitely will be on a completely different price level than the pro licenses.

    I can relate with the annoyance of us having not had a license for the small business segment, but it is not a simple thing to try and cater to every possible part of the market. So far it has made most sense to have pro licenses for big companies, while at the same time remember our open source roots. Now we should have everything in line to cater to small companies and start-ups too.



  • So how much is it? At least some approximate price?



  • @iter I'm under the impression that the price would be about one magnitude lower than the current pro licenses, but I really am not involved in those talks. Anyway something that is much more in line with small companies / indie developers expectations.



  • @janfaroe said:
    "As long as you don't modify Qt and don't statically compile, you're good to go."

    @sierdzio said:
    "With LGPL: ... You have to ..."

    IANAL, but I do not believe that this information is complete and totally correct.
    Part of the Qt LGPL states (from http://www.qt.io/FAQ/):

    "The user of your application has to be able to re-link your application ..."
    "... the user needs to be able to run the re-linked binary ..."

    You cannot run your linker to link an updated or modified application with just the copy of your "commercial" exe file and any Qt dll lib files, so you must distribute complete obj files of your application source code. It does not say "re-compile the Qt dll", it says "re-link your application". There is no other way to interpret this license statement.

    It goes on to state:
    "It is your obligation to provide the user with all necessary tools to enable this process."
    "... this includes making the full toolchain used to compile the library available to users."

    So you cannot just give the end user your commercial application exe file, the Qt dll(s), and the Qt source code.
    You must include obj file(s) of your application source, all Qt source, plus all of the tools to re-compile and re-link a new modified exe and dll(s).

    It also states that you must include all of this content in your software package or on your own hosting site address, you cannot simply provide the end-user with an Internet link to www.qt.io to the source code and tools.
    "... a link to the source code provided by the Qt Project or Qt Company is not sufficient."

    If this is not true, then all of the wording of the LGPL license is incorrect.
    Bottom line, it isn't as easy and straight-forward as you may think...


  • Moderators

    Hi, and welcome to the Qt Dev Net!

    @DRGreen said:

    You cannot run your linker to link an updated or modified application with just the copy of your "commercial" exe file and any Qt dll lib files, so you must distribute complete obj files of your application source code. It does not say "re-compile the Qt dll", it says "re-link your application". There is no other way to interpret this license statement.

    IANAL too, but I don't think the linker is required if you use dynamically linked libraries. With the latter, linking occurs when you launch the application, just before it starts running.

    For example, let's say I downloaded a program that was built against Qt 5.5.0. I want to re-link it against Qt 5.6.0 for some performance improvements. All I need to do is replace the Qt 5.5.0 DLLs with Qt 5.6.0 DLLs. Then, the next time I launch the application, it will automatically link against the new DLLs. I do not need to modify the original .exe.



  • @JKSH - Hi and thanks.

    I do agree with your statement:
    "the next time I launch the application, it will automatically link against the new DLLs."
    But this is not what the license states.

    Sorry, I don't mean to split hairs, but in my 35+ years of software development I have never heard of dropping in new DDLs referred to as "re-linking your application", which is how it is stated in the license.
    The license specifically says, the end user must be able to re-link your application.
    It does not say, your application must be able to link against updated or modified DLLs.

    If the DLLs are replaced with another compatible DLL build version, upon execution the application "links the new DLLs" (loads and maps them into its address space), the updated DLLs do not "re-link the application".
    The only way to "re-link the application" is to use the linker on the application obj files.

    I can give you Internet links to millions of websites regarding using DLLs and all of the terminology agrees with what I wrote. So this is what I understand the Qt license to mean, and why I never use open source DLLs with a commercial executable.

    "One advantage of DLLs is that you can change and enhance them without forcing all the applications that depend on them to be relinked or recompiled."
    The use of "relinked" in this example phrase means "re-linking the application obj files", and Qt's license specifically says exactly that, "re-link the application".

    If Qt actually means something different in the license, it would be nice if they clarified it.
    Thanks.



  • If Qt clarified their license, and if in fact it was possible to use the open source version of Qt in a commercial application, so long as:

    1. The developer linked the Qt DLLs dynamically (vs static linking).
    2. Made the Qt source code available for download on their own website.
    3. Included a Qt copyright in their application About dialog.

    Then there would be virtually no reason for Qt to have to come up with a less expensive small developer subscription, as the only main difference between the free open source license and expensive commercial license would be dynamic versus static linking.

    However, the "re-link the application" statement in the license is too obscure to make me ever consider using the open source version in a commercial application. And to me, this statement does not mean what some others here believe it means.

    edit
    Or change Qt from LGPL to the MIT license.



  • Has there been any more news about the startup licensing?

    I would love have the option to use Qt on my projects, but $420/month is just not a justifiable outlay for a one-man-band - we're talking about software that has yet to make me any money at all. That's a big gamble, especially since you can't start development under LGPL and go commercial later.

    It's obvious a lot of people would rather pay for Qt than deal with the hassle of the LGPL. I'm willing to pay for tools - but at $5k/year, Qt commercial is currently not an option.



  • So, does this mean that if I provide object files, allowing the end user to recompile and relink, I can use a static Qt build and just forget about the deplymend/dependency hell that Qt is with dynamic linking?

    It is sad to see that the management takes Qt in a direction that makes its free use less and less convenient. While surely - corporate greed ain't nothing new, this will eventually be Qt's undoing. Right now they are enjoying having an easy time milking Qt, only because there is no direct competitor, but this won't last forever, and when a competitor pops up, users will remember this lowly behavior even if then management is forced to improve Qt for free use.


  • Moderators

    @DRGreen said:

    Sorry, I don't mean to split hairs, but...

    No worries; this is sometimes necessary, after all :)

    The only way to "re-link the application" is to use the linker on the application obj files.
    I can give you Internet links to millions of websites regarding using DLLs and all of the terminology agrees with what I wrote.
    ...
    to me, this statement does not mean what some others here believe it means.

    I see your point, and after a bit of Googling I agree that your definition of "re-link the application" is currently the common one.

    However, reading the license again, it seems to me that allowing users to re-link is simply one of the ways to achieve LGPL compliance. See the full license text: http://doc.qt.io/qt-5/lgpl.html

    What you've described sounds like section 4.d.0 of LGPL v3. The license says you must do 4.d.0 OR 4.d.1. (The equivalent sections in LGPL v2.1 are sections 6.a and 6.b). The full text of 4.d.1 is

    "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."

    So, in other words, if you use shared libraries (dynamic linking), then you are not obliged to allow users to re-link the application. Would you agree?

    the "re-link the application" statement in the license is too obscure to make me ever consider using the open source version in a commercial application.

    Above, we've seen that you are required to allow re-linking OR use shared libraries, but not both simultaneously. Does this change anything for you?

    the only main difference between the free open source license and expensive commercial license would be dynamic versus static linking.

    That's definitely not the only difference. The commercial licenses also offers:

    • Access to official, timely support
    • Prioritized bug fixes
    • Access to extra modules*
    • Access to extra tools*
    • Access to extra software stacks
      • For reduced time-to-market
    • Access to Qt on extra platforms
    • Permission to statically link against Qt in proprietary applications
      • There was a time when this was needed because Apple disallowed dynamic linking, meaning that developers couldn't use LGPL Qt in a proprietary iOS app.
    • Permission to modify Qt without releasing the modifications
    • No requirement to provide Qt source code and the tools/instructions to build it
    • No requirement to even mention that Qt was used at all
    • Peace of mind^

    ^ Large corporations are funny beasts. Some need to buy a license, even if the library is in the Public Domain (meaning that the library authors already gave everybody full freedom to do whatever they want with the library, with no restrictions whatsoever).

    * Things will change slightly in Qt 5.7. Modules that used to be only available to commercial customers will be open-sourced too, but only under the GPL which is unambiguously disallowed in proprietary applications.


  • Moderators

    @edmundmk said:

    Has there been any more news about the startup licensing?

    Not that I've seen, I'm afraid.

    @edmundmk said:

    That's a big gamble, especially since you can't start development under LGPL and go commercial later.

    You can't? Why not?

    @iter said:

    So, does this mean that if I provide object files, allowing the end user to recompile and relink, I can use a static Qt build and just forget about the deplymend/dependency hell that Qt is with dynamic linking?

    I'm not sure, but I think if you use static linking you must provide the source code for your whole application too. Have you tried reading the license?

    @iter said:

    It is sad to see that the management takes Qt in a direction that makes its free use less and less convenient.

    What do you mean? There have been no major changes to licensing requirements since 2009... May I ask how has it become less convenient for you recently?



  • @edmundmk said:

    Has there been any more news about the startup licensing?

    Just a bit more patience please. We are in the final stretch for Qt 5.6, and that is taking up everyone's time.

    I would love have the option to use Qt on my projects, but $420/month is just not a justifiable outlay for a one-man-band - we're talking about software that has yet to make me any money at all. That's a big gamble, especially since you can't start development under LGPL and go commercial later.

    Well, if you start development now before we have the small business/indie license out, and then ask The Qt Company sales really nicely, they probably will be open for discussion. It is a special situation as the small business/indie license will be a new product.



  • @iter said:

    So, does this mean that if I provide object files, allowing the end user to recompile and relink, I can use a static Qt build and just forget about the deplymend/dependency hell that Qt is with dynamic linking?

    With a commercial license, yes. When on an open source license, static linking means you would be using GPL and thus would have to provide your source for anyone who asks.

    It is sad to see that the management takes Qt in a direction that makes its free use less and less convenient. While surely - corporate greed ain't nothing new, this will eventually be Qt's undoing. Right now they are enjoying having an easy time milking Qt, only because there is no direct competitor, but this won't last forever, and when a competitor pops up, users will remember this lowly behavior even if then management is forced to improve Qt for free use.

    Let's get back to basics. Qt from it's start has been dual licensed.

    If you do not want to contribute to the community, you have the option of getting a commercial license and doing whatever you want with no need to think about providing object or source files, static or dynamic linking.

    If you don't want to pay for a commercial license, then you can contribute to the community in the normal open source way.

    The convenience of free use has not gotten any harder since Qt became available under the LGPL and GPL licenses, and that is ages ago. Those licenses change as times change, Qt now followed the times with adopting version 3 of those licenses. The changes are not fundamental, except for people making embedded devices, then you need to read the GPL and LGPL license carefully with a lawyer.



  • Thanks for the swift replies, I am really looking forward to having the option of Qt!

    Not sure I'll actually take the plunge as usually my brain forces me to write things from the ground up no matter what, but as far as cross-platform widget libraries go I really don't think there is a better one out there.

    Qt was really invaluable when I was using it a couple of years ago on an internal tool - achieving what I did without it would probably have taken five times as long.


  • Moderators

    @edmundmk said:

    Has there been any more news about the startup licensing?

    Not long now! http://blog.qt.io/blog/2016/03/08/qt-start-ups-awesome/ Introductory price of $49 per month.



  • @JKSH said:

    @edmundmk said:

    Has there been any more news about the startup licensing?

    Not long now! http://blog.qt.io/blog/2016/03/08/qt-start-ups-awesome/ Introductory price of $49 per month.

    Once again, sugarcoating - that price is a limited time offering and will not be applicable long term. The actual cost is like a 1000$ a year, while a significant improvement over the full commercial license, it is still discriminatory - it is too much for the standards of Eastern Europe and Asia - demographics, in which a significant fraction of the Qt developers is focused.

    There is the same amount of overprice as in the commercial license. For example, VS Enterprise costs 250$ monthly, whereas Qt is almost double that. Comparing the feature set of the two products, I'd say a sane, adequate price for the full Qt commercial license outta be no more than 200$ monthly. And no more than 35$ for the indie license - I think that's acceptable compared to something like xamarin indie.

    The 100000$ limit annually is a rather generous one. If you make somewhere near the end of that limit, you are by no means a small time developer who is too poor to buy Qt even at 400$ a month. And from the indie developers I know, there is no one who is making anywhere near that on Qt applications - it is usually custom stuff requested by a specific customer you don't sell en masse. I personally make 2-3k a year using Qt on the side from my main occupation, meaning if I opt for an indie license, it would eat a third to half of my income from it. 2-3k annually might not sound as a lot to someone, lucky enough to have been born on a greener pasture, but for many people it is a nice and very welcome addition.

    The management is not thinking rationally - 2/3 of the Qt developers live in places with fairly low standard of living. They will not benefit from the indie license as it is priced today - only small startups from richer demographics will. IMO digia will make less money on a 79$ indie license than on a 35$ one, the number of people willing to buy it at 35% is probably about 5 times higher, meaning despite the lower price, revenues from indie licenses will be more than double. Quite often, less is more where it really counts, and I'd say adoption rate and revenues outta be what counts the most to digia.

    @JKSH said:

    What do you mean? There have been no major changes to licensing requirements since 2009... May I ask how has it become less convenient for you recently?

    There might not have been major license change, but there has been quite a lot of changes in Qt, here are a few reasons why the open source is not convenient:

    • deployment - dependencies for Qt have been growing and growing, currently it is like 70-80MB of DLLs you have to ship with an average Qt application, and the deployment tool in my experience is entirely broken, pulls in unnecessary DLLs, omits the required ones, and does even worse bringing in QML modules. Static linking would solve that, at least when QML + static build is finally fixed.

    • security - aside from Qt not providing any, LGPL makes it next to impossible to implement some yourself. After all, you have to be "plug and play" with the libraries, so that substituting them with other versions must be possible. This makes exploits very easy - you can inject whatever code you need in by simply compiling it in a DLL and changing the original with it. It is even worse for stock QML modules - as they are essentially plain text with no checks for integrity whatsoever, you can open stock module QML file deployed with the project and type your code. Due to the dynamism and structure of QML, the entire GUI part becomes an open book. Not having to support plug and play library/module substitution can address those issues.

    • license ambiguity - there have been a lot of "it's OK" from digia employees, however, it is not what unaffiliated people say, what they say is "there is only one way to be sure, and that's paying for a lawyer" - and their advises sure don't come cheap, you might as well be paying for the commercial Qt license you can't afford. There is simply no ease of mind when using LGPL in commercial applications. There are lot of people who don't really care about support and all that stuff, and just want an affordable solutions for their legal woes.

    A final question - seeing the possibility for a "more flexible option" - to buy Qt indie monthly for 99$, is a Qt license necessary only for developing an applications, or is it necessary while you are selling the application, even if you are not working on it?



  • I've been monitoring this thread for a while and have just read about the new $948/year start-up licence. I'm very disappointed by the price as it's roughly double what I was expecting.

    I was considering using Qt on a commercial project that probably won't make any money. For $400-500 per year I would have given Qt a go, but $948 is way too high. It's certainly not competitive against Visual Studio Community Edition, which allows individuals and companies with up to 250 employees can develop commercial MFC applications for free.

    I prefer MFC to Qt so the only reason to use Qt is because it allows you to support Linux. There's no money to be made selling software for Linux, so the only reason you'd support Linux is to try and encourage Linux adoption. I'd pay $400-500 per year to support Linux, but I definately wouldn't pay $948.

    It looks like MFC is the only way to go for small commercial projects. On the up side at least I won't have to use Qt's container classes. Just why did you waste all that time writing something that's vastly inferior to the STL?



  • Hi @MJ9797
    I understand that you are disappointed with the pricing. However when looking at the competition in the commercial space, that level is approximately what is normal.

    Have you considered going with the LGPL version of Qt?

    If you only plan on working on Windows, then native tools make sense. Qt is cross platform, and if you plan on working on any other platform is makes a lot more sense.

    Comparing STL and Qt is a strange thing to do, they really aren't in the same category at all.



  • Nothing wrong, much less "vastly inferior" with Qt containers - their performance is on par with std containers, and Qt containers use is actually less verbose and much easier to use. std containers are overly verbose, pretty much all operations require iterators.

    He is right about the pricing though. It needs to be cut at least in half to become reasonable.



  • This post is deleted!

Log in to reply