Linked by Thom Holwerda on Wed 7th May 2008 08:54 UTC, submitted by elsewhere
Qt Yesterday, Trolltech released the final version of Qt 4.4, their graphical toolkit which forms the base for, among a lot of other things, the KDE project. It still features the dual-license model (of course), so proprietary developers can license Qt, while open source developers can get a GPLd version (both GPL 2 as well as 3). Read on for a quick overview of the new features, as well as some findings by Ars Technica.
Thread beginning with comment 313259
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: The BEST!
by danieldk on Wed 7th May 2008 13:34 UTC in reply to "The BEST!"
danieldk
Member since:
2005-11-18

Overall, I like it as a GUI toolkit. But I don't like how it tries to replace the STL with its own counterparts, or how it uses the Meta-Object Compiler to extend the language. That, combined with its dual-licensing policy, I tend to prefer other toolkits.

Though, I have to admit this is primarily taste ;) . Obviously things like QString curently provide advantages, like good internationalization support. But you are locking yourself into one toolkit, which can be OK for applications, but is less nice for e.g. libraries.

Reply Parent Bookmark Score: 3

RE[2]: The BEST!
by jacquouille on Wed 7th May 2008 14:26 in reply to "RE: The BEST!"
jacquouille Member since:
2006-01-02

The concern about replacing parts of the STL has, in my opinion, been adressed in the 4.0 release when Qt was split into smaller modules. For instance, if you use QString in a library, you only need to link to QtCore. That is a reasonable dependency just like another. It is much lighter than linking to all of Qt -- which practically no app or library does.

It is perfectly OK to replace the standard library and Qt is certainly not the only such alternative. For example Boost also provides replacements for many classes, and I think that GTK (and GTKmm) also does. The standard library is rather old-fashioned and C++ programming has evolved since the times when it was designed, 20 years ago. You mention better unicode support as an advantage of QString over std::wstring, and I would mention at least another one: copy-on-write. Being able to write a function that just returns a QString without paying the overhead of uselessly copying that string, is awesome.

About the Meta-object-compiler, (MOC) what's wrong about it? It provides huge advantages that one just can't achieve otherwise. The biggest one is introspection. Ever wondered why Apple uses Objective C instead of C++? Introspection. The MOC brings introspection to C++, and that's huge. QObjects can e.g. enumerate their own methods, call methods by name, etc. This allows for much more flexible signals-and-slots than is possible with tempate solutions (a la GTKmm). Hugely valuable for a GUI toolkit, to connect to dynamically loaded components. It also improves the i18n system. Trust me the MOC brings enough benefits to justify its existence ;) And by the way who said C++ was an immuable thing that nobody may improve except for an ISO committee ;) Some more info here:
http://doc.trolltech.com/4.3/templates.html

Edit: one important precision, the MOC is, like the other Qt tools, Free software released under the GPL 2/3. So it's not at all a "proprietary extension to c++" as is sometimes trolled.

Edited 2008-05-07 14:31 UTC

Reply Parent Bookmark Score: 12

RE[3]: The BEST!
by axilmar on Thu 8th May 2008 12:49 in reply to "RE[2]: The BEST!"
axilmar Member since:
2006-03-20

No doubt that the MOC has many benefits, but some programmers (myself included) may not use the IDEs sponsored by Qt, and therefore having to call the MOC manually. If Qt also supported signals and slots templates, there would not be a need to invoke the MOC manually.

Reply Parent Bookmark Score: 1

RE[2]: The BEST!
by lemur2 on Wed 7th May 2008 14:45 in reply to "RE: The BEST!"
lemur2 Member since:
2007-02-17

That, combined with its dual-licensing policy, I tend to prefer other toolkits.


What exactly is wrong with the dual-licensing policy?

If you are going to use Qt in a closed, commercial, for-your-profit application, you have to pay Trolltech a license for using Qt as part of your product. This is the same deal as with any other commercial toolkit.

If you are going to use Qt in a give-code-back-to-the-developer-community open source application, then Trolltech are happy that you need pay them no license fee for that.

It seems like a perfectly fair arrangement to me.

Edited 2008-05-07 14:49 UTC

Reply Parent Bookmark Score: 13

RE[3]: The BEST!
by FunkyELF on Wed 7th May 2008 15:05 in reply to "RE[2]: The BEST!"
FunkyELF Member since:
2006-07-26

If you are going to use Qt in a closed, commercial, for-your-profit application[...]

If you are going to use Qt in a give-code-back-to-the-developer-community open source application[...]


You forgot another one.
If you're going to use Qt in your for profit company for in-house code you can use the open source edition too.
http://www.gnu.org/licenses/gpl-faq.html#InternalDistribution
To me, that is pretty clear.

Others may even say, but I wouldn't wanna try it, that you don't have to buy the commercial license to dynamically link to it and sell commercial software.
http://en.wikipedia.org/wiki/GNU_General_Public_License#The_GPL_in_...
That one, is not so clear cut.

Reply Parent Bookmark Score: 3

RE[3]: The BEST!
by danieldk on Wed 7th May 2008 18:59 in reply to "RE[2]: The BEST!"
danieldk Member since:
2005-11-18

What exactly is wrong with the dual-licensing policy?


There are some other good GUI toolkits with licenses that allow both use in free software and proprietary software. So, this can be an advantage of some toolkits other than Qt.

It seems like a perfectly fair arrangement to me.


This starts to look like a straw man ;) , I never said their arrangement unfair. Troll Tech created Qt, so it's their call to draw the lines. But this, and the other properties of Qt I mentioned make it less attractive to me, and possibly others.

Remember, not everybody is an absolutist ;) .

Edited 2008-05-07 18:59 UTC

Reply Parent Bookmark Score: 4

RE[3]: The BEST!
by zima on Thu 8th May 2008 02:15 in reply to "RE[2]: The BEST!"
zima Member since:
2005-07-06

BTW, I wonder recently about one thing about Qt licensing.

AFAIK if you want to do closed-source app, you have start with bought Qt license right away, you can't tinker for some time with GPL version and, seeing that it's a viable project and works out nicely, buy commercial license then.

But...what if later, at some point, rms preaching will make you feel guilty ;) and you'd like to GPL app that was developed, up to this point, using commercial Qt license?

(I'm sure this is answered somewhere, but I'm on mobile acces currently and this seems ontopic...)

Reply Parent Bookmark Score: 1

RE[2]: The BEST!
by evangs on Wed 7th May 2008 19:06 in reply to "RE: The BEST!"
evangs Member since:
2005-07-07

That, combined with its dual-licensing policy, I tend to prefer other toolkits.


The price of a commercial license is extremely prohibitive. It's approximately $4k a year per developer. Some people might laugh at that and say that's no big deal. To put things in perspective, Visual Studio 2008 Professional sells for $689 on Amazon. Codegear's (was Borland) RAD Studio costs $1k. REALBasic costs $500.

Qt is really expensive, and it's quite hard to get that purchase order approved. Especially when Visual Studio + wxWidgets is a lot cheaper and isn't really much worse off.

Reply Parent Bookmark Score: 3

RE[3]: The BEST!
by leos on Wed 7th May 2008 20:09 in reply to "RE[2]: The BEST!"
leos Member since:
2005-09-21

The price of a commercial license is extremely prohibitive. It's approximately $4k a year per developer.


Not quite.. Yes that's about the price of the initial purchase, which gets you the license + 1 year of support + upgrades. After that you can stop paying if you want.. You can develop with your version of Qt for as long as you want. It's only when you want access to new versions you have to pay the support fee (which is about 1/3 of the initial purchase price) to gain access to them + another year of support.

So yes, I agree with you that it is relatively expensive, but I think (and apparently lots of other companies agree) that the license cost easily pays for itself in increased developer productivity.

Qt is really expensive, and it's quite hard to get that purchase order approved. Especially when Visual Studio + wxWidgets is a lot cheaper and isn't really much worse off.


I agree that it can be hard to get it approved if the benefits aren't proven yet to the company. From my experience it is easily worth it, but I can see why it could be a hard sell without prior experience with it.

However I disagree that wxWidgets is essentially the same thing. It's not. It's not even close. That's not to say wxWidgets is a bad project, but you just can't compare it to Qt because Qt has had probably tens of more man-years invested in it and that has made it excel in many areas.

Reply Parent Bookmark Score: 8

What happend to the qt price page?
by mtilsted on Wed 7th May 2008 20:53 in reply to "RE[2]: The BEST!"
mtilsted Member since:
2006-01-15

I think the price used to be less then 4000$ if you just need a single platform, but I could not find the prices at the trolltech website.

Does anyone know if they have removed all pricing information, or have they just moved it someware where neither I nor google could find it?

Reply Parent Bookmark Score: 1

RE[3]: The BEST!
by anda_skoa on Wed 7th May 2008 22:19 in reply to "RE[2]: The BEST!"
anda_skoa Member since:
2005-07-07


Qt is really expensive, and it's quite hard to get that purchase order approved. Especially when Visual Studio + wxWidgets is a lot cheaper and isn't really much worse off.


Interesting.
Do you have any numbers how much commerical wxWidgets support costs and which companies do have such offers?

Reply Parent Bookmark Score: 3

RE[3]: The BEST!
by elsewhere on Thu 8th May 2008 06:33 in reply to "RE[2]: The BEST!"
elsewhere Member since:
2005-07-13

The price of a commercial license is extremely prohibitive.


That's a subjective argument, not an objective one.

It's approximately $4k a year per developer. Some people might laugh at that and say that's no big deal.


If a developer is paid $40K per year, that amounts to 10% of their salary. If Qt reduces development time by more than 10% on any given project(s) over the course of a year, then the company sees positive ROI. It gets better the following year.

Since many developers are paid more than $40K per year, the ROI comes even quicker if Qt can reduce time-to-deliver for projects, particularly with a support infrastructure behind it. That's why many of Tt's customers pay even to use the framework internally, when they could simply use it for "free".

And I'm being simplistic, at that. Even a $40K/yr developer would cost an organization considerably more when benefits, taxes and overhead costs are factored in, so any tool that makes that developer more efficient could bring considerable value.

The people that "laugh" at that are the ones that understand the value equation that companies use when determining value. Static price is meaningless on it's own, it's only relevant when compared to the value the product in question offers.

That's not to say every organization would see value in Qt, but it's about ROI, not upfront cost.

To put things in perspective, Visual Studio 2008 Professional sells for $689 on Amazon. Codegear's (was Borland) RAD Studio costs $1k. REALBasic costs $500.


Apples, meet the oranges, I'd like to compare you.

VS2008 and RAD Studio are development environments, not application environments. REALBasic? Seriously.

Microsoft charges a developer fee similar to Trolltech. The difference is that MS spreads that cost out across the purchase price of all Windows licenses, which means the users are paying it incrementally, and not the developers. Tt has to try and offer better value over and above the "free" development licensing for platforms such as Windows (or OSX, or linux, etc.), to justify the price, and that's not a bad thing. Given that they've been around this long, despite several years of armchair posturing that their model won't stand against Gtk or wxWidgets, I'd say they're doing something right.

Qt is really expensive, and it's quite hard to get that purchase order approved. Especially when Visual Studio + wxWidgets is a lot cheaper and isn't really much worse off.


Expensive in who's opinion? Yours. Commercial organizations don't make decisions based on price, they make them based on value. It gets very tiring to hear this argument brought up time and time again. The issue isn't the cost of the license, it's the value it brings. There are many intangibles that Tt brings to the table for Qt, including a road map and an infrastructure to provide high-level support for the product they are selling, aside from the capabilities of Qt/Qtopia itself. While many outside of the corporate world may dismiss these as frivolous, the commercial world places high value on such things.

If you're already carrying the expense for a team of developers to work on a project, $4K per developer can simply an incremental cost, if it means your team can reduce development time and doesn't need to rely on forums, mailing lists and IRC for support in order to meet or exceed a deadline.

I used to sell commercial firewall software. I'm sure there are people who would scoff at the thought of paying 50 or 100 grand for firewall software, yet none of those companies I sold into ever bickered over the price based on the fact that Best Buy sells linksys firewall routers for $200. That's because those companies would never select a $200 firewall over the functionality of an enterprise-class firewall, just because it's cheaper, even though they have some basic functionality in common.

Price and cost are two different concepts. For businesses, time is money. Upfront expenditure to mitigate expense down the road is not a foreign concept. It's the way business works.

Again, not to say that every organization, or even independent developers, would find value in the license/support cost. Only saying that it is very myopic to assume that they won't.

Reply Parent Bookmark Score: 11