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 Chris Spencer (not verified)

stay off the drugs

by George Staikos (not verified)

Please have a look at this:
http://freshmeat.net/stats/#license

You will see similar statistics here:
http://sourceforge.net/softwaremap/trove_list.php?form_cat=13

Qt-free can be safely used with the overwhelming majority of free software projects, and in fact can be used with all commercial projects through commercial arrangements. This was not the focus of the article, but it seems to be a constant sticking point for those arguing against it. I find it strange that people who do not even use Qt would be so adamant and vocal against it. It's not perfect for everyone, or there would not be alternatives. However, let's not spread lies.

by Grasis (not verified)

Wait a minute. GPL is compatible with all commercial software?!

Yeah right. Lets say KDE was commercial. Sure, they could sell it, but then anyone who bought it would only need to buy 1 copy for their entire organisation and not only that, but they could turn around and re-sell the software for profit. KDE would sell 1 copy.

Sorry, that doesn't sound like much of a business model.

On top of that someone could buy 1 copy of KDE, then give it away for free. No one would ever buy anther copy from KDE, ever.

by bozhan (not verified)

all this "flame" is about trying to make kde default for redhat..
they don't like it, but mandrake does...
so the things will be better if both side make something about it...
redhat and qt ...

by Datschge (not verified)

Are you aware of the fact that you are the first one writing a post just for the purpose of bringing Red Hat into this mud even though they aren't involved this time?

by KDE User (not verified)

Why do people come here to talk about Gnome, Openoffice etc.

This id dot.kde.org. This is where kde-fans meet to talk about
kde, is that so hard to understand?

by joe (not verified)

Good question. I guess the real question is why the people posting here feel the need to bash GNOME and make false claims about GNOME which the GNOME users and developers feel they have to defend.

by anon (not verified)

Oh, like the GNOME trolls don't spread KDE FUD on gnomedesktop.org and Slashdot. Wow, what saints you are. Now you bring your holy KDE fud and propaganda here.

No thanks.

by Soup (not verified)

Give an example of KDE FUD on the gnomedesktop.org to prove your point. Otherwise it's just FUD you are spreading as well.

by Ryan (not verified)

I agree with you. I dont see why there has to be ANY bashing from anyone.

*sings kumbaya* :)

KDE r0x0rs!

Cheers,
Ryan

by Gunter Ohrner (not verified)

Hi!

Was that an April fools joke or had the dot really been compromised a few hours ago?

Greetings,

Gunter

by Navindra Umanee (not verified)

I'm surprised anyone saw that. :-)

by Gunter Ohrner (not verified)

Hm, is that a) or b)? ;)

Greetings,

Gunter

by Navindra Umanee (not verified)

Well, it was supposed to be a joke but it was only up for a few seconds anyway. :-)

by ItchScratcher (not verified)

The biggest problem with both projects is the mindless cheerleading done by it's individual proponents. As someone who has developed both GTK+ and QT applications, I can tell you that development time for both is exactly the same once you have a familiarity with the library.
George Staikos's entire article is completely inflammatory and does nothing to improve KDE's image. (stuffed monkeys, why michael meeks does not make a living from software?). Someone needs to read or re-read the Advocacy HOWTO.

by Anonymous (not verified)

Ximian is at fault here for their mindless KDE bashing. What GTK+ and Qt applications have you developed, exactly? Show us the code and prove your point.

by Paul Selormey (not verified)

If you wish to program and make money then you know where you must be...on the Windows.
We will have Linux on the server, you can put in any desktop for configuration and management.
The fact is most, if not all, of you here already have Windows so why waste time on useless argumemnt?
With free .NET SDK now available, it is now becoming programming festival on Windows - you are invited ;-)
Why work enhancing and promoting QT for free while somebody is selling it and you cannot or even sell applications you develop with it?

Best regards,
Paul.

by GuestX (not verified)

Well, that's a very simple world-view you seem to have. Firstly, software isn't only shrink-wrapped and sold to punters, many other kinds of financial transactions involving the production of software go on in the technology industry. Secondly, .NET is "free" only in the "no money up front" sense of the word - if you're the sort of person who marvels at how "cheap" games consoles are, for example, I suppose you'll have missed the real point of Microsoft's incentives.

Still, you'll probably realise what Microsoft's intentions are later on, and like many formerly-willing Microsoft stooges, I'm sure we'll hear the whining loud and clear: "Microsoft's licensing just isn't fair!" And so on.

by Mike (not verified)

I've been thinking about this issue for the last week, and for the life of me, I can't think of a scenario where Ximian would need to buy licenses is if they wanted to port a qt-based OOo to Windows, because Trolltech's download page for the non-commercial qt for Windows says that it only supports Microsoft Visual C++. That being the case, Ximian would have to pay for a lot of MS licenses, which most likely would not sit well with them.

by Trevor Harmon (not verified)

Michael and George are both missing an important point: GTK+ and Qt are two very different toolkits.

Michael is forgetting that Qt offers many more features than GTK+, most notably SQL and XML support, plus a UI designer tool, and more. GTK+, on the other hand, is basically just a GUI toolkit with some added utility functions.

As for George, he's forgetting that GTK+ is C and Qt is C++, so when you port a C application to C++, you will likely have a 10% code reduction just by the nature of C++, no matter what toolkit you use. He also fails to mention anything about gtkmm, an LGPL'd C++ wrapper that brings the benefits of C++ to GTK+.

I'm also confused about George's focus on developer support. He seems to think that GTK+ developers will need help creating dialog boxes and custom widgets. I'm sorry, but if the developers on your team need help using the GTK+ toolkit, then you'd better fire them for incompetency. I mean, even freshman CS students are capable of building applications with these high-level kits. KDE, for example, was built mostly by undergrads.

Of course, some developers might need help with the more advanced features of Qt, such as the Motif and ActiveX integration, but then we're no longer comparing GTK+ and Qt, are we? Once again: apples and oranges.

Like so many arguments, the debaters are both right and wrong. The issue is not "How much does it cost?" but rather "How much does it cost for what I want to do?" If you develop commercial, closed-source software and want a free GUI toolkit that works great on Unix systems, choose GTK+. If you need the advanced features of Qt and can pay for the license or distribute your code open-source, choose Qt.

Trevor

by GuestX (not verified)

While I can understand that Ximian and other software companies don't want to be dependent on some other commercial enterprise whilst making money from proprietary software, it seems to me that up-front licensing costs such as those associated with Qt are actually pretty reasonable if your business is "make money by selling software". Moreover, if the software you're selling is GPL'd (like the not unreasonable model The Kompany has/had) you don't even need to pay Trolltech for Qt-on-X11 licences, and X11 is surely the most pertinent platform under discussion here. To top it all off, many people would go for wxWindows in preference to Gtk+ even if the superior cross-platform capabilities of wxWindows were ignored.

It seems to me that the tired arguments put forward by Ximian serve only as a distraction; indeed, one which only Ximian seems to be taken in by.