George Staikos: A Quick Cost Analysis of Qt vs GTK

Last week, CORBA-lover Michael Meeks released some slides that caused something of a stir amongst some in the KDE community. In his slide, Michael Meeks attempted to make the case for GNOME as the only viable desktop on Unix by directing the heat of his argument at the cost of Trolltech's Qt -- the wonderful cross-platform toolkit on which KDE is based -- for proprietary development. Rising up to the challenge, George Staikos has written a nice article that compares the cost of Qt vs GTK in the real world.

George successfully makes his case independent of the specifics, but there are few things in particular about Michael's slide that bother me. For one, Michael seems to be making a skewed comparison of GNOME to Qt as opposed to comparing GNOME/GTK to KDE/Qt. If comparing KDE to GNOME, then certainly two of the three points in favour of GNOME count for KDE.

Other than the points George makes in Qt's favour (check out the dirt on the new tab widget!), and the fact that KDE more or less maintains a copy of Qt in CVS, KDE has a very open development model, and I would even argue that in many ways KDE development is more open and accommodating to contributors than the GNOME development model which is heavily influenced by the commercial powers behind the GNOME Foundation. Personally, I have also seen a lot of whining about how closely-controlled (by Red Hat) GTK development is. And, of course, the ABI/API stability Michael claims for GNOME certainly applies just as equally to KDE/Qt.

Another thing that puzzles me are the prices Michael quotes for proprietary Qt development. He is talking about proprietary development on Unix, and yet he quotes the prices for Qt on three platforms (Mac/Windows/X11) which is twice the price of Qt for X11 alone. And if he does that, he really ought to take into account the state of GTK on Windows and Mac (ports of which do indeed exist). But these quibbles are sort of besides the point, since indeed Qt does cost something for proprietary development whereas GTK is gratis up front.

So, by all means, read George's article carefully, then tell us what you think about this whole matter. Have you used Qt for free or proprietary development? If so, what have been your experiences?

Comments

by Fredrik (not verified)

"Qt doesn't need to for KDE as much as GTK needs to for GNOME, as KDE apps can pretty much override everything in Qt (easier than the OO in C approach in GTK at least!)"

Not really, no. They can't really extend qt itself transparently. What they are doing is subclassing Qt classes. That's why we have KApplication instead of QApplication etc. But the applications must do this explicitly (unless you use a LD_PRELOAD hack but C programs can use them as well).
GTK can do this as well AFAIK, it's one of the basic features of object systems.

by Roberto Alsina (not verified)

Oh, well, we could if we hacked qt-copy while maintaining binary compatibility.

I know, I know, not what you had in mind ;-)

by George Staikos (not verified)

The tab widget example was not false. It was an unexpected double example of how Qt developers audit all changes going into Qt, and implement them -right-. They clearly didn't agree with the change as it was submitted, but they had a better idea of how to accomplish the same goal. I think it was a shining example.

by FooBar (not verified)

While you KDE guys are wasting your time whining about how GNOME is evil, Microsoft is getting a greater and greater advantage over you. If this keeps up, one day Microsoft will kill off the entire open source community, KDE included.

Open your eyes people! Microsoft is the *real* enemy here! Instead of spreading anti-GNOME propaganda, write code and make KDE/Linux/whatever BETTER than Windows XP! If you don't, you will eventually be destroyed by your own blindness.

by wzzrd (not verified)

Although you show us your tendency to overreact, and MS isn't gaining any more momentum than they already have (imho), I must respond to the stop-flaming, start-cooperating part with: "Hear hear!"

Someone should also say this to 'certain'-Gnome devvers though :)

by Iain (not verified)

"Someone should also say this to 'certain'-Gnome devvers though :)"

Let me know who and I'll tell them next time I see them.

by Thomas (not verified)

I agree, but I don't think this can be stopped. The community is strong, but all these artists, coders, translators, idea-contributors.... can simply not compete with a big global player like MS... We always think the Open Source community is enthusiastic about what 'we' all have reached 'together'...

Question: Have you ever seen a real Ms employee, how enthusiastic these people are? That's far beyond imagination. From my point of view I always think they have left earth long ago and living on Mars already. The thing is: they really _believe_ in Microsoft (and the companys politics) much more than the OO community believes in itself. This (of course) makes Ms an unbeatable competitor.

MS: thousands of people having exactly the same idea

OpenSource: thousands of individuals having different (but nevertheless bright) ideas working somehow together with a lot of 'friction losses'

by Aaron J. Seigo (not verified)

having thousands of people blindly buying into whatever the party line is only works if the party line is infallible. if, however, there is room for exploration, more than one possible answer and competition is actually a benefit then such narrow minded views are not a benefit. rather, they are a liability. the fact that in the Open Source world there are hundreds of active, well populated and indeed thriving individual communities all exploring their own visions is one of the things that makes it so strong and impervious to attack and even internal mistakes.

by Janne (not verified)

So GNOME-folks can whine how TT/KDE is evil and sucks, but KDE-folks can't provide any counterarguments?

by FooBar (not verified)

The GNOME folks don't whine about how TT/KDE is evil. Find me an anti-GNOME article that is less than 6 months old from an official GNOME site. I dare you.

Notice the "official GNOME site" part. NOT a random post from a single individual!

by anon (not verified)

The REAL enemy is not KDE or GNOME, it's YOU.

This article you are replying to is nothing official. It's from single individuals. Just like Michael Meek's slides to THOUSANDS of OOo developers. Or should I say Ximian?

by FooBar (not verified)

> "The REAL enemy is not KDE or GNOME, it's YOU."

Keep Yast Online Update out of this!

by Anonymous (not verified)

> Find me an anti-GNOME article that is less than 6 months old from an official GNOME site.

You want to say that GNOME is missing self-criticism? Agreed.

by FooBar (not verified)

Err.... typo. o_0

2nd try:
Find me an anti-KDE article that is less than 6 months old from an official GNOME site.

by Janne (not verified)

Ummmmm... How about the slides everyone is talking about here? How GNOME is "free", while QT/KDE is "less so"? For reminder, here is the url:

http://www.gnome.org/~michael/XimianOOo/img7.html

What's that website? www.gnome.org? That's what I thought....

And are there any anti-GNOME posts in official KDE-websites? Nope. The counterarticle in question was not on official KDE-website. It was on www.staikos.net.

by Janne (not verified)

And besides, if we should be concentrating on MS instead of other free projects, why is Michael Meeks attackign Qt and KDE? Shouldn't he be convincing people how MS sucks and how they should be working on GNOME and/or Linux instead?

Instead of whining how KDE has "lost track of the real enemy", shouldn't we also be whining how GNOME and Michael Meeks has lost track of the real enemy?

by Iain (not verified)

I don't really think that slide was a flame of KDE.
I think the (KDE) in brackets was to say that KDE use QT.
and I think the only real mistake was putting GNOME instead of GTK
He could have put GTK+ (GNOME) like the QT (KDE).

But are there any lies on the slide?

The LGPL does give you more freedom to do what you want than the GPL
(which is both a strength and a weakness of the GPL)

I personally think everyone is overreacting...

by Iain (not verified)

"http://www.gnome.org/~michael/XimianOOo/img7.html"

When it has a ~ in it, it stops being an official GNOME site.

by Datschge (not verified)

No, that would be users/members/whatever.gnome.org/~. The fact that it's on the same server means that either everything there is endorsed by the project or you can't accept anything there as official since I see nowhere a rule that "~" or whatever else makes the project not responsible for the content.

by anonymous (not verified)

umm... I used to work at an ISP that had some neo-nazi pages and had the ~username, and of *course* we didn't endorse that sh-t. But in America we have a thing called freedom of speech.

by lit (not verified)

Alright, a note to Michael Meeks then:

While you GNOME guys are wasting your time whining about how KDE is evil, Microsoft is getting a greater and greater advantage over you. If this keeps up, one day Microsoft will kill off the entire open source community, GNOME included.

Open your eyes people! Microsoft is the *real* enemy here! Instead of spreading anti-KDE propaganda, write code and make GNOME/Linux/whatever BETTER than Windows XP! If you don't, you will eventually be destroyed by your own blindness.

by Apollo Creed (not verified)

No true. The people who _do_ further KDE development don't waste time on discussions like this one. How many postings from Waldo, Faure & c:o do you find on this page?

by ThreeFarthingStone (not verified)

There is no particular reason to choose GNOME or Windows as a "real" enemy. Both are competitors to the KDE desktop.

Perhaps Windows has a much larger user base, but at times GNOME can be more threatening for being able to run on the same OS as KDE. Windows, though, threatens to take people off X11, while GNOME users can still run some KDE programs (even konqueror!).

by FooBar (not verified)

"Perhaps Windows has a much larger user base, but at times GNOME can be more threatening for being able to run on the same OS as KDE."

Isn't that a *good* thing? KDE can run GNOME apps too.

The average user *wants* interoperability. They don't want any of this "it's either us or them"-stuff, they want to be able to run both.

by oGALAXYo (not verified)

> Isn't that a *good* thing? KDE can run GNOME apps too.

It definately is but the question is:

a) why running GNOME apps under KDE ? The KDE apps are far supperior, integrated, polished and configurable over GNOME apps.
b) the reason why GNOME runs KDE apps is because they are missing native ones.

by Andreas Silberstorff (not verified)

> b) the reason why GNOME runs KDE apps is because they are missing native ones.

Gnome lacks some applications, KDE does as well!

I love KDE, for me it is the best desktop. But surely I am very glad being able to run gnome apps like the gimp or zapper on it.

I find this flaming very anoying. I don't need a kde-competitor to the gimp or whatsoever. Though a kimp-frontend for a gimp-library might be great.

by George Staikos (not verified)

I think it's pretty clear that this was not an attack at Gnome. It was a response to FUD intentionally spread about Qt and posted on public forums. You're right, there are better targets for venting frustration and competing against. Hopefully responses like these are unnecessary and infrequent in the future.

by Navindra Umanee (not verified)

Hello dc, also known as Stof. Boy have you lived on this site. Even got banned once, I see... you sure do keep at it.

by Tom (not verified)

The "reasonable" developer costs you 9000$/year in Easter Europe or even less in Russia, India, China. Qt costs you 2300$, and additionally, upgrades cost almost 1000$/year and it doesn't include compiler ( on Windows ), so Qt isn't an option there.
It probably isn't an option if you want to distribute your programs as shareware for 20$ ( for students or out of work development ).
It isn't an option for Sun and other commercial companies who can't tell their customers that they have to buy a second licence from Trolltech in order to use their product.
It isn't an option for all in-house script-makers, so it never become a main GUI toolkit on Unix.

by Thomas (not verified)

Developers in China and in Russia develop with whatever they want. Most choose Microsoft platform with Visual Studio (now .net), because most of them do not pay for licenses at all (oh dear, what world are we living in... sad... :-)
Remember Microsoft, that shiny bright big western company that pays sallaries an eastern europe/chinese/russian developer can only dream of?. They all want to step up to this bright new world, and MS sills are the ticket, because everybody needs to make a living! GTk-skills are not a ticket at all (QT skills neither)......

by Tomten (not verified)

>It isn't an option for all in-house script-makers, so it never become a main GUI toolkit on Unix.
We’re in that situation, using wxwindows instead. What would happen if Troll tech decides to tipple the license cost? They're not in it for charity. One of the biggest attraction with free software is the freedom to not bug the economic department. I think this will be one of the biggest issues for KDE in the corporate sector.

by Jonathan Belson (not verified)

>It isn't an option for Sun and other commercial companies who can't tell their customers that they >have to buy a second licence from Trolltech in order to use their product.

You do not need to buy a license to use a program built using Qt:

http://www.trolltech.com/products/qt/licensing.html?cid=4

--Jon

http://www.witchspace.com

by ch (not verified)

But if you have a plugin system for your application that requires GUI elements, then no one can create plugins unless they buy QT (even if your plugin system wraps the GUI with a scripting language). That's no good.

You can use MFC (or .NET forms), Aqua, Gtk+, or whatever and plugin developers won't have any problems.

by Eric Laffoon (not verified)

> The "reasonable" developer costs you 9000$/year in Easter Europe or even less in Russia, India, China. Qt costs you 2300$, and additionally, upgrades cost almost 1000$/year and it doesn't include compiler ( on Windows ), so Qt isn't an option there.

This is an absurd argument. It's like saying "sure the on board computer is a small percentage of the cost of a Mercedes 600 class but it's a larger percentage on an econo box". This begs the question... what are you going to do with all the money you save?

You should check your facts. The scenario you are describing bears some resemblance to theKompany's business model. It has also opened doors for them on portable devices where QT is the only option. Whatever you want to say about them last I checked they continue to produce software... invalidating your argument.

by Rajeev Narayanan (not verified)

Use WxWindows
Provides a Wrapper to a existing toolkit (GTK on Linux).
It works on Linux,Win32,Mac
No licensing issues.
Powerful and provides easy migration path for MFC programmers.

I beleive KDE /Gnome should have common reusable binary architecture (Like COM)instead of bonobo /Kparts,
since
Bonobo sucks due to complexity
Kparts is very much tied to QT.

Rajeev

by David Johnson (not verified)

"Bonobo sucks due to complexity
Kparts is very much tied to QT."

And COM isn't tied to Windows? Geez, at least get your arguments straight!

by Jörgen S (not verified)

No, COM isn't tied to Windows. Read a book, get a clue.

by Jim (not verified)

I got as far as:

"Where I conveniently conclude that it can be the only solution on Unix for now"

...before giving up. If the rest of the slides are as obnoxious and argumentative as that, I don't particularly want to read it. The same would apply if the slides were promoting KDE instead of GNOME - it's hard to take a dickhead seriously.

by xtian0009 (not verified)

this was also my reactionto these slides.

by Mike Hearn (not verified)

I think the reason Michael included the cost of Qt on other platforms is because OpenOffice is (like a lot of large open source projects) portable between platforms. If OO was to use Qt, the cost would be a lot greater.

I've also seem some people imply that GTK/Win32 is not very good or something, check this out, see for yourself:

http://gtk-wimp.sourceforge.net/screenshots/

Rather clever that, I'm still trying to figure out the XP theming APIs :)

GTK Mac is a rather sad state of affairs 'tis true.

I'm not trolling, but I wish dot.kde.org was more like gnomedesktop.org - ie where most of the posts are to do with cool programs and the latest toys, as opposed to here, where most of the stories seem to be about trashing GNOME or pumping KDE/Qt. I do check here every so often because I am interested in KDE development, but only rarely is there a story of interest about the technology (sigh).

by anon (not verified)

Mike you are such a tool!

The only time I see you in here opening your pie hole is when you can criticize KDE in some minor way and/or tout your GTK/GNOME flamage.

I don't see you post when Derek gives the weekly CVS updates on all the cool technology. I don't see you post when Navindra and the other editors post articles about KDE technology.

The _only_ reason you come here is to post these passive aggressive comments that are really pathetic! It is the same on all the other forums... You claim to be so above the troll's but look in the mirror buddy, you are just a troll with a _weak voice_. Damn, I can't stand such passive aggressive people like you.

by Mike Hearn (not verified)

[ Mike you are such a tool! ]

Thanks. I love you too.

[ I don't see you post when Derek gives the weekly CVS updates on all the cool technology. I don't see you post when Navindra and the other editors post articles about KDE technology. ]

I don't normally have much to say about them. I do in fact read them though (well, skim the cvs updates, they are rather long). I don't usually post on the GNOME stories on gnomedesktop.org either, unless I have a question for instance. You can't draw any conclusions from that.

[ The _only_ reason you come here is to post these passive aggressive comments that are really pathetic! ]

Oh hardly. I read comments, and when I disagree with people, or believe they're not in full possession of the facts, I respond. The people posting on this board are normally

a) Very knowlegable about KDE and
b) Slightly (sometimes strongly) biased in its favour.

I'm not an expert on either desktop, but I tend to have differing beliefs on GTK/GNOME to most posters here, so I post my thoughts. That IS what a comments section is for right?

Unless "troll" now means, "doesn't rejoice in the glory of KDE constantly", I don't believe I'm a troll at all. If I went around using abusive language, posting unsubstantiated opinion and passing it off as fact etc, then perhaps, but I don't (or try not to).

So just chill dude, ok? Qt is a fine piece of software for sure, and KDE is a great project. But I like other stuff too, and I don't like to see people making stuff up about other projects - if that makes me a troll then I'm going straight to hell anyway.

by anon (not verified)

"I don't normally have much to say about them."

Right. You don't have shit to say unless it involves criticizing KDE in some way or touting your GTK/GNOME flamage. It's as simple as that so quit with your passive aggressive 'dot.kde.org should be more like gnomedesktop' and take your biased overwrought passive aggressive self to some other forum. Quit bemoaning the state of the dot and passing this off as intelligent commentary.

You're a tool and it's frightfully obvious from everyone that reads your posts that you are biased and passively hostile towards KDE and Qt.

"Oh hardly. I read comments, and when I disagree with people, or believe they're not in full possession of the facts, I respond. The people posting on this board are normally "

You make every effort to apologize for everything GTK/GNOME and passively criticize every little thing about KDE and Qt that you can. Anyone brings up Qt and you gush about gtkmm. Some one says that C++ is superior to C and then you claim you know nothing/little about C++ and besides gtkmm is great while Qt is somehow not 'real C++'. You just love all the bindings that GNOME provides and bash KDE bindings...

"But I like other stuff too, and I don't like to see people making stuff up about other projects - if that makes me a troll then I'm going straight to hell anyway."

But you make stuff up and apologize when others make stuff up about Qt and KDE. That makes you obviously biased. Coming here (a KDE site) and posting your obviously biased crap ad nauseum makes you a troll.

by Mike Hearn (not verified)

[ It's as simple as that so quit with your passive aggressive 'dot.kde.org should be more like gnomedesktop' and take your biased overwrought passive aggressive self to some other forum. Quit bemoaning the state of the dot and passing this off as intelligent commentary. ]

I never claimed it was intelligent commentary, so clearly you think it is - thanks :)

I don't understand this passive agressive rubbish. If you mean I present my views without hurling insults at people, then yeah, bring it on. It's called civilised discussion in other parts of the world.

[ You're a tool and it's frightfully obvious from everyone that reads your posts that you are biased and passively hostile towards KDE and Qt. ]

It's not obvious at all - apart from the fact that it's not really possible to be "passively hostile", I used to use KDE and think it's a cool project. Yes, I criticise it sometimes, I don't think it's perfect, and if you do then... well, you need to take a step back and get some perspective. Things can always improve.

[ You make every effort to apologize for everything GTK/GNOME and passively criticize every little thing about KDE and Qt that you can. ]

No I don't. That's completely unsubstantiated, where have I said things about Qt that are not irrefutable fact? Pointing out details of TrollTechs licensing isn't criticizing every little thing btw.

[ Some one says that C++ is superior to C and then you claim you know nothing/little about C++ and besides gtkmm is great while Qt is somehow not 'real C++'. ]

Where did I say Qt isn't "real C++"? It clearly is. It redefines a lot of stuff in the STL, will you deny this? That doesn't make it "fake" C++ though, I was simply drawing a comparison between them. Clearly George Staikos is allowed to compare the two, so why can't I?

[ You just love all the bindings that GNOME provides and bash KDE bindings... ]

Where did I bash KDE bindings? You're the one making stuff up now, and it's not even about technology, it's about people, which is far less constructive.

I mean for gods sake dude, get some perspective ok? We're discussing WIDGET TOOLKITS here, not war or politics!

by anon (not verified)

"I don't understand this passive agressive rubbish. If you mean I present my views without hurling insults at people, then yeah, bring it on. It's called civilised discussion in other parts of the world."

The only reason you post on this forum is to criticize KDE/Qt wherever possible and laud GNOME whenever possible. You are a troll and a liar. This can be seen quite readily.

"Yes, I criticise it sometimes ..."

No, you go out of your way to criticize it and tout GNOME in it's place.

"Where did I bash KDE bindings? You're the one making stuff up now, and it's not even about technology, it's about people, which is far less constructive.

You sir are a liar.

http://developers.slashdot.org/comments.pl?sid=56544&cid=5480863

From a thread responding to Richard Moore:

"I do apologise. I didn't make myself clear. What I meant was: Language bindings that work, and are useful for something other than feature checklist wars on slashdot.

In terms of working, useful language bindings KDE is a C++ environment only. Now kindly fuck off, loser.

autopackage [autopackage.org] - Linux portable packaging"

How freaking embarrasing Mike. LOL. Now why don't you go crawl under a rock and quit trolling on the dot. Sucker.

by Mike Hearn (not verified)

Uh huh. You do realise that I didn't write that, don't you? If you seriously believe I'd write "fuck off loser" at the end of a post, then you need to review my other posts, because I've done that .... er, oh yeah. Never.

I find it pretty disturbing that somebody is imitating me via my sig on Slashdot. I never post anonymously, and when you DO post in AC mode, your sig disappears, so whoever tried that was either extremely stupid, or doesn't understand how slashdot works.

That's a pretty transparent attempt to discredit me, and shows that clearly somebody has concluded that my arguments are sound, so it's easier to try and make me look bad.

How flattering.

by anon (not verified)

"That's a pretty transparent attempt to discredit me, and shows that clearly somebody has concluded that my arguments are sound, so it's easier to try and make me look bad. "

Ah so now you appeal to paranoia! You deny that you made that post with your bald face hanging out. That's so rich.

ROTFL

by Mike Hearn (not verified)

Well like I said, AC posts on slashdot don't show your sig (for obvious reasons, wouldn't be very anonymous if it did, would it?).

So really, that post speaks for itself - why would I post as an AC but copy and paste my sig? Might as well use the karma bonus.

I'm not going to reply to this thread anymore, it's a waste of time. The discussion has long left the realms of reality, and is no longer about issues, it's about how much you hate me and what I have to say, which isn't interesting to talk about.

by sadened kde user (not verified)

this site has really slid downhill, these sorts of pathetic irrational flame posts are now the most common kind. its a shame and an embarassment to the whole KDE community