Trying to justify commercial cost...
-
Hello all,
I was researching downloading Qt for VS 2015 (due to a possible need to upgrade soon) and I came across the asking price for a Qt commercial development license (because my initial answers to the questions asked were a bit ambivalent). Right now I am prototyping so I don't need a license; but...All I can say is WOW. $350 a month PER developer? I find that completely unjustified. Microsoft VS 2015 Professional with full MSDN benefits is only just over twice that PER YEAR (after the initial $1199 for the first year) and it comes a full featured IDE with a lower learning curve; extensive libraries; free SDK's; and support for 4+ languages. A developer subscription without MSDN benefits is only $49 per month with free upgrades etc... Why does a commercial Qt license cost so much? I will NOT be able to find an eventual publisher with that kind of a price tag. Can I just get a one time deal with a perpetual licensing term?
EDIT: I am going to have to seriously reconsider using Qt as my platform if this is for real.
-
@primem0ver said:
Can I just get a one time deal with a perpetual licensing term?
Hi! This is a user forum. For licensing questions contact The Qt Company's sales department.
-
Hi @primem0ver
First off, I work for The Qt Company. Not in sales, but with the community. If you want to hear the full list of benefits Qt brings, contact sales.
That said, you are really comparing apples to oranges.
Visual Studio is aimed as Windows development, where Qt is a cross-platform toolkit, with targets ranging from desktop to embedded devices, iOS to Linux.
Usually Qt customers value ease and speed of development, not needing to learn several different environments and the potential to deploy to multiple devices and screens. Of course the support that comes with the commercial license is a thing.
For the price comparison, also take into account that if you go with Qt, you can go with the gcc toolchain and not get MSVC (of course you can, but you don't have to).
But I take it from your description that you will be targeting Windows only? If this is the case then honestly going with Visual Studio only is a valid option.
It's always a case by case comparison on what suits your needs. -
-
No, I am not just targeting Windows. Otherwise I would have just gone with Visual Studio. In addition, Apple users have a higher number of enthusiasts in education (which is my target audience). My project is so vast that having to translate the entire thing between platforms will be a formidable task. (However... see my last point below).
-
While theoretically Qt is cross platform, practically speaking the size of your libraries makes developing for the phone and smaller portable platforms impractical at this point; especially since the application I want to go commercial is module based and could potentially use a significant amount of drive space.
-
Qt development is significantly slower than .NET Development for at least four reasons; 1) .NET comes with probably 5-10 times as many out of the box controls (Widgets). 2) IN .NET one doesn't have to deal with layouts if they don't want to. (Natively, .NET doesn't use layouts). 3) Visual Studio's modern approach to rapid development is far more intuitive and feature rich; targeting features that increase productivity. 4) .NET does not require the user to figure out which libraries need to be packaged with the target application. I have been told by your community that doing this would be impractical if not impossible... which is incorrect. If I was interested in taking the time, I could develop an application that could do this if by no other way than by using the currently loaded module set that is being targeted. The only thing that should be required to be done by the user is customization (if there is an unconventional set of modules)
-
Yes... I could go with the vastly inferior (from a productivity perspective) gcc set of tools and increase my developing time even more. The only two benefits that your tools currently bring is that they are less proprietary and as a result, more universal across different platforms. Personally, I would potentially rather spend the money to get a professional IDE for each system. Heck... I would rather learn those system and translate between them than use the Qt RAD/IDE were it not for the sheer size of my project (though the size itself is another reason that Qt's RAD is so inferior. Managing large projects in Visual Studio is a breeze).
-
Performance wise, .NET GUI applications are far superior; especially text rendering.
-
From an adoption perspective for web based companies, Qt is already vastly inferior since .NET has its own browser based ASP platform that makes web based integration of service applications seamless.
-
Ultimately my point comes down to this: The bottom line is that as with most solutions; there are benefits and costs to choosing one over the other. Apples to oranges is on some level an apt statement. However, in no market are oranges going to cost 8+ times the amount an orange does (except during a temporary situation such as an environmental crisis). Both systems accomplish the same goals. Both systems have pluses and minuses. I don't mind paying more; i don't think that others will generally mind paying more; but when the price tag difference is so steep that it not only seems impractical but unwarranted, it significantly lowers the chance that my project will be picked up by other developers, not to mention a publisher, My current employer (Edgenuity) is interested in entertaining what I have to offer but I can already tell you that your prices will more than likely keep them from converting from .NET to Qt and adopting what I have to offer.
Please understand that I am NOT a .NET or Microsoft enthusiast or advocate. I personally believe that the further we get from Microsoft addiction/reliance, the better off we will be. But the alternatives make that exceedingly difficult. If Qt wants to be a competitive alternative; it will need to adopt competitive pricing.
The bottom line is that I may not be able to afford your "convenience" on several levels. Which is really agonizing considering that my current 67000 lines of code under the Qt platform is just a drop in a vast bucket for a software platform that will change both educational software and education itself if it ever sees the light of day. I really want it to... our educational system is in serious need of an overhaul.
-
-
Qt development is significantly slower than ...
These claims are laughable at best. I'm sorry but this all just sounds like Herb Sutter's little sister woke up on the wrong side of the bed and is having a rant about products other than MS's pile of /insert a vulgar term of your choice here/ ...
I could go with the vastly inferior (from a productivity perspective) gcc set of tools
gcc is a compiler collection and is vastly inferior to no compiler toolset, and is certainly greatly superior to MS's compiler. Also gcc has nothing to do with Qt, nor with the Qt Company.
Performance wise, .NET GUI applications are far superior; especially text rendering.
Eh, a bold claim ... do you have any structured proof or are we supposed to take your word for it?
The bottom line is that I may not be able to afford your "convenience" on several levels.
LGPL is not an option?
-
- These claims are all based on my 2 years of experience with Qt and many more with Visual Studio. How much have you done with Microsoft tools? From some of your posts you don't seem very familiar with .NET at all. It might even be said that you sound like someone who detests Microsoft. I do not detest Qt. In fact, I think that parts of the API are amazing and superior to what MS has. As I said above... each choice has its pluses and minuses.
I will admit that I am still under the Qt learning curve... but that is part of my point. For general programming and getting the hang of Qt's API has taken significantly longer than Visual Studio did. I can turn out custom controls in Visual Studio (using .NET) in minutes. With Qt a custom widget takes hours.
Most of what I am saying is the result of the four "facts" I pointed out above. Three of these are indeed facts. If you would like, I can document them. The only one of those that really isn't factual is #3. I will admit that reason is opinion based. One might also debate #2 but in general a Visual Studio "layout" is only an issue when embedding autosized controls (widgets) as a collection inside another control.
-
Yes... I am aware that gcc is not a creation of Qt. However the person I am responding to referred to Qt's tools being compatible with the "gcc tool chain." Qt Creator is the only visual tool I have used in this "tool chain" and I find it rather lacking. That doesn't mean that other tools are... but the subject of discussion here is Qt's tool set.
-
This "bold claim" is the subject of several articles/posts on the interenet; including my own post which I believe you have read by now (which includes one reference). If you like I can post some more. Try the Qt blog for starters.
-
LGPL... you mean for what I am producing? Not immediately no; and not in its entirety. In the long run parts of the project will be workable under an LGPL but not the entire thing.
-
So basically you are saying that you are most used to .NET development, but need to run on MacOS (and maybe mobile platforms) too.
The major problem you have is a huge existing codebase. Porting that anywhere will be a pain and cost time and money.
You aren't used to Qt, so it feels complicated. It is different, so that is natural.
It really boils down to do you really want to go cross platform, or spend your time maintaining several different versions for different platforms. And do you have the intention to learn Qt properly. (it's not a time issue, you will spend time learning the other platforms anyway, so it is a question of what you want to learn, and hence what you will be maintaining in the future)
Software is boring in that way, that the real question is always what you will be maintaining.
As for cost, if you are looking at multiple licenses or other combinations, please do contact sales at The Qt Company, they are much better at estimating what makes sense.
-
@primem0ver said:
How much have you done with Microsoft tools?
Few years when I was younger.
From some of your posts you don't seem very familiar with .NET at all.
I haven't worked with .NET; I've programmed with the WinAPI extensively, but as I said it was long ago.
It might even be said that you sound like someone who detests Microsoft.
To some reasonable degree I do and I don't try to hide it.
I will admit that I am still under the Qt learning curve...
Aren't we all? The toolkit is ginormous and is getting bigger with each release.
With Qt a custom widget takes hours.
It will depend on the exact widget, but most of the time you shouldn't need to make custom widgets.
However the person I am responding to referred to Qt's tools being compatible with the "gcc tool chain."
They're compatible with gcc/gdb, but they're also compatible with the MS's set of tools.
Qt Creator is the only visual tool I have used in this "tool chain" and I find it rather lacking.
I'd take the opposite stance. Visual Studio (2013 being the last one I've worked with) is an elephant both HDD/RAM/CPU-wise and is pretty slow, especially the code analysis (intellisense). Creator fares much better and integrates well with all Qt-related stuff (like qmake, moc, uic, designer etc.)
Try the Qt blog for starters.
It's certainly an interesting article, which, I admit, I hadn't read, but do bear in mind it references a 6+ year old release of Qt - Qt 4.6. Although I doubt things have changed much from then regarding the raster engine, a real contemporary (Qt 5.6+) benchmark is warranted.
LGPL... you mean for what I am producing?
Qt's LGPL licensing option. If you're statically linking you'd have to provide object files for relinking and you won't get any (official) support or priority bugfixing, but it seems to me it's some kind of a start.
-
@tekojo said:
So basically you are saying that you are most used to .NET development, but need to run on MacOS (and maybe mobile platforms) too.
The major problem you have is a huge existing codebase. Porting that anywhere will be a pain and cost time and money.
You aren't used to Qt, so it feels complicated. It is different, so that is natural.
It really boils down to do you really want to go cross platform, or spend your time maintaining several different versions for different platforms. And do you have the intention to learn Qt properly. (it's not a time issue, you will spend time learning the other platforms anyway, so it is a question of what you want to learn, and hence what you will be maintaining in the future)
Software is boring in that way, that the real question is always what you will be maintaining.
As for cost, if you are looking at multiple licenses or other combinations, please do contact sales at The Qt Company, they are much better at estimating what makes sense.
Yes. I am used to the .NET environment. I also realize that it takes time to learn something new. Complicated isn't the right word. Different is. I will also admit that some of my statements in my initial post are biased to my initial impressions of Qt Creator when I first tried. it. I remember there being relatively few controls. For instance, I remember four to five container controls compared with the current seven. I just did a recount and I am encouraged to see that the count has risen significantly. There are currently (as of Qt 5.3) 27 unique controls compared with Visual Studios' 30 (as of 2012). I believe I counted around 10 new controls/widgets that weren't there in my first experience with the program (hence my mis-statement of 5-10 times rather than 5-10 more). For example, I don't remember there being a numeric up/down control.
However, I will still affirm that Qt's environment is less production friendly. The tree view in Visual Studio used for navigation for example has different types of views and viewers built into it so that accessing file and projects is handled naturally from a variety of different object types so that you know exactly what your looking at. In Qt Creator, I only have one view format (that works... see below) and the default view doesn't have any additional view options besides a file view. When a file or reason for an object isn't apparent, and no file exists to give you feedback, there is no information/feedback at all. (Different outlining options seem to exist, but they are not automatically populated and most don't seem to work).
I am sure many of you have as many things you dislike about Visual Studio. That is fine and I accept that... but this brings me back to my point. The two are comparable. They both have pluses and minuses (depending on who is using them). VS supports multiple languages. Qt supports multiple OS's (I don't count script languages as multiple languages). If they are comparable, then they should be comparably priced. There is no one out there who likes both (so that a grudge isn't part of the picture) who is going to say that Qt is 8 times as good as VS.
@kshegunov
Can you point me to the details of the LGPL licensing option? -
-
Hi,
I don't have anything to add to the Qt-.NET comparison or the commercial pricing, but here's some other bits:
@primem0ver said:
I don't remember there being a numeric up/down control.
QSpinBox and QDoubleSpinBox have been part of Qt since its early days.
The tree view in Visual Studio used for navigation for example has different types of views and viewers built into it so that accessing file and projects is handled naturally from a variety of different object types so that you know exactly what your looking at. In Qt Creator, I only have one view format (that works... see below) and the default view doesn't have any additional view options besides a file view. When a file or reason for an object isn't apparent, and no file exists to give you feedback, there is no information/feedback at all. (Different outlining options seem to exist, but they are not automatically populated and most don't seem to work).
It's not quite clear to me which view you're referring to, but are these what you're looking for?: http://doc.qt.io/qtcreator/creator-quick-tour.html#browsing-project-contents
Could you describe in more detail the things that "don't seem to work"? (i.e. what you expected to see, and what you got instead)