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

I think he meant it the other way around ie Quanta is better and that the comparison with Bluefish simply doesn't hold. :-)

by Spencer (not verified)

In the context of his first comment I think it is clear he menat that Quanta is far ahead of BlueFish.

by oGALAXYo (not verified)

Sorry for being not precise.. As the other 2 repliers told you:

Quanta > BlueFish

by billy gates doe... (not verified)

Hey man, thanks for chewing me out and telling me about your fine experiences with Gentoo!

I love gentoo now myself!

Anyway, I think oGalaxyo or whatever does not speak english as his first language (sorry if I am wrong), but he was saying that Quanta is light years *AHEAD* of Bluefish, which is very very very true.

Thanks for all the work making such a great project!

Will be buying cat toys soon!

by joe (not verified)

And KDE's equivalents to Evolution, The Gimp, GnuCash, gaim, red-carpet, rhythmbox, gnumeric, abiword, are equally laughable.

by meh (not verified)

While the GNOME desktop itself is *extremely* laughable compared to KDE.

by ggg (not verified)

so on that comment, you have a great desktop, and shitty applications? Thats good, we're all in agreement here.

by chillin (not verified)

Sorry to burst your bubble, but bluefish is a GTK app, NOT a gnome one. It has no Gnome dependancies whatsoever. By your logic, I could make ANY window manager (for example XFce) the #1 desktop by just grouping it with a bunch of neutral gtk apps. And to be honest, most people can't even FIND Anjuta2, yet alone benifit from it's immature state (or Galeon2 either for that fact...)

by Dekkard (not verified)

Galaxy, I'll skip the flames and will give you some good news. I'm sure you'll like it, since you only intend Gnome to improve, though I believe you choose the wrong methods.

Gnome documentation page updated:

http://developer.gnome.org/doc/API/

Now, with some devhelp books of that and finishing some incomplete docs there will be no reason to whine <:-)

by oGALAXYo (not verified)

Dekkard, dude I'm not clueless or limited or something. I'm well aware of the API reference manuals for a long, really long time. Many of them existed for GNOME 1 already. I was more refering to GNOME developer documentation that explains the purpose of the libraries, the purpose of the functions itself and how common tasks are meant to be done e.g. avoiding deprecated functioncalls, future target of GNOME, the means of libegg, how things are being handeled e.g. which functions are being removed, which replaced and so on (These are just some examples). I know a lot of libraries from their API reference manuals and a lot of them from investigating into the library code of my own but this doesn't change the general fact that serious documentations are missing e.g. Bonobo and more. A complete set of good documentations for the programmer to work with. The same you find here on KDE or for Motif. Even if I don't necessarily speak for myself here but look it the general way for new developers on the GNOME plattform. You are getting new users (if so) but no real new developers.

by anon (not verified)

Good points. Everyone needs to work harder and then we will find out who "won". :)

by anonymous cow herd (not verified)

> [...]who "won".

that's easy... that would be the terrorists.

by binner (not verified)

"Recently, Zack Rusin and Stephen Binner took the initiative to enhance the tab widget in Qt, and within days their code was already appearing in development snapshots for the upcoming Qt release."

This is not correct. Zack and me created some patches against the original QTabWidget implementing much requested features like buttons besides tabs, colors in tabs and close buttons within tabs. We knew that not all these would be integrated when sending the patches. So it happened: For the first part Trolltech's engineers developed a more flexible and nifty (line- and API-wise) solution. The colors in tabs were rejected because they can be implemented in a derived widget, same for the third for which Trolltech even wrote a small example proposing a different solution. In summary: No code we sent will appear in Qt but necessary changes allowing to implement these features were made.

by George Staikos (not verified)

Well you have proved one of the points in my article! Thank you! The TrollTech process works. Their developers, who are -the- experts of Qt, were able to audit your work and take what is appropriate, reject what is not appropriate, and rework what was necessary. That's an example of an open process that works, and works well. Congratulations!

by Roberto Alsina (not verified)

Well, if that's how it works, then I am the one who made Qt have styles!

My themes-for-qt-1-without-touching-qt-source-hack was so overwhelmingly evil[1], they had look into themes, or else I might release it. I think a Troll's words were something like "that's incredibly awful" or something like that.

So there, threats against good taste help free software, too! ;-)

[1] evil in the "perverse abuse of innocent API" sense.

by Richard Moore (not verified)

I remember that code - even *you* thought it was pretty evil! ;-)

Rich.

by Roberto Alsina (not verified)

I still have a copy somewhere. I should write an archelogical article about it someday :-)

by My Left Foot (not verified)

is the argument here.

Who can forget the millions that Eazel burnt through to give GNOME Nautilus, a file manager that while pretty, is rather ho-hum compared to the competition in functionality?

Compare that to Konqueror, built for almost nothing, yet far exceeding Nautilus in usefulness, especially considering its web browsing capabilities.

Or compare Evolution to the forthcoming Kolab PIM application. Millions of dollars of development went into Evolution, and it's had three years to stabilize, yet it still crashes more often than my developed-on-a-shoestring Kolab RC build, and barfs on HTML emails that embedded KHTML renders perfectly.

Real-world examples show up the lie that GTK+ is cheaper to develop with.

by Me (not verified)

And why should you care? If Ximian spends millions of money and they eventually go out of business, isn't that a GOOD thing for you?
You should *encourage* Evil Companies(tm) to use GTK+ so that they eventually waste up all their money and go bankrupt. Then everybody will be happy.

by Mike Hearn (not verified)

Uh, so the fact that Eazel burnt cash like there's no tomorrow is entirely due to their choice of toolkit?

I think you need to check out the facts before you draw conclusions from completely unrelated starting points. Eazel were just a hopelessly mismanaged company. Need I remind you that Redhat write all their config tools using Python GTK, and they're doing alright, aren't they?

by KDE User (not verified)

> they're doing alright, aren't they?

I don't think so. Last time I heard, they were still making
a big fat "-" very year. Can't go on like that forever...

by FooBar (not verified)

They made a profit of several thousand dollars last year...
And yes, that *is* a good profit, especially since we're in the middle of an IT economy crisis.

by Roberto Alsina (not verified)

Actually, they lost many many thousand dollars last year.
What you wanted to say is that they did a profit of several thousand dollars in a quarter last year. But go see the numbers for the FIRST quarter of last year, now.

And no, that is not a good profit. Come on, *I* made a bigger profit than Red Hat, and I am not even a company ;-)

by Plato (not verified)

> And no, that is not a good profit. Come on, *I* made a bigger profit than
> Red Hat, and I am not even a company ;-)

Red Hat doesn't have mouths to feed, cars to run, holidays to take ...

by Roberto Alsina (not verified)

Well, I have no car, only one mouth, and one holiday or two a year at most ;-)

But really, Red Hat has lost tons of money.

In Q4/2001, lost 8.57M
In Q1/2002, lost 4.59M
In Q2/2002, lost 1.95M
In Q3/2002, made 214K

So, last year, they lost 14.6 million dollars, not "made a few thousands"
It does show a good tendency, though.

http://quote.fool.com/Snapshot/financials.asp?currticker=rhat&symbols=rhat

So, unless you lost 15 million dollars lately, you also made more money than Red Hat last year ;-)

by FooBar (not verified)

All the other Linux distributors (including the ones who ship KDE by default_ aren't doing much better.
Heck, even many closed source companies have lost lots money last year.

by anon (not verified)

Trolltech is kicking ass and expanding. They are sure making money and they are one of the largest contributors of Free Software. Three cheers for Trolltech!

by Mike Hearn (not verified)

As pointed out, they are currently hovering at "net income" = 0, so it's hardly big fat. Last quarter they made a small (insignificant) loss, but ramped up R&D spending by a lot, the quarter before that they made a small profit.

Basically, they are indeed doing alright.

by KDE Fanatic (not verified)

Yeah well Apple paid a lot more to buy the dead-tech that was NeXT ...

Nautilus as a technology at most cost a few 100K -- probably 2-3 full time developer-years max. The rest was services development, sales and marketing and golf. It was supposed to be a business remember? If you remember the dot.com era you'll remember that web sites like Dr.Koop .com burned through gazillions and even more wahcky sites like fuckedcompany.com charted the fall and charged $ for membership.

by Adrian Bool (not verified)

I think Michael's sides were specific to Xiaman's OpenOffice implementation where they are looking at their software moving a different route than both open source/free software and normal commecial software.

It seems their intent is to create a non-free OpenOffice implementation (hence the need for a non-free QT if their software was based on QT) yet - unlike normal proprietory software writing - they wish 'the open source community' to contribute code to their software. For these open source hackers to contribute to this code base they would each require a paid-for copy of QT. Hence the comment of '5000 coders'. Naturally that would be very expensive.

Most commerical software companies pay the people writing their software, it seems that Ximain wuld prefer to get them for free, hence the QT licences being a massive proportional cost...

Now, whether any open source hackers would contribute to such a project is a different matter...

by Mike Hearn (not verified)

[ It seems their intent is to create a non-free OpenOffice implementation ]

Evidence please?

People seem to forget that not all programmers who'd wish to write non-GPLd software for Linux/UNIX (maybe bsd, maybe proprietary, whatever) are paid huge amounts of cash and work in teams.

I once considered writing a commercial app using Qt, cos I wanted it to work nicely on Linux and Windows, but the sheer cost meant I'd instantly be in the red. Scratch that idea.

by ao (not verified)

Man you are daft. Meeks says that they want 5000+ developers in the community working on OO and Ximian stuff. He also says that they will need commercial TT licenses. 1+1=2. Meeks is saying that Ximian wants 5000+ _proprietary developers_. Read the article next time.

by Mike Hearn (not verified)

Uh, I did. Meeks said he'd *like* 5000 developers, I'm sure any open source project would like that amount of manpower.

Bitching about the cost of Qt for non-X11 platforms is IMO justified in this case, because OpenOffice runs on more platforms than just X11 based ones. My office uses it on Windows for instance. If all developers working on it for Windows needed to pay for Qt, OO development would be shafted.

I don't get why you guys are so worked up about this. There are plenty of stories posted to the dot about why KDE is so cool, why GNOME sucks, rah rah so when a GNOME developer half-seriously talks about why he thinks GNOME is cool, just take it in your stride ok? It's hardly world domination stuff.

by anon (not verified)

Quit apologizing!

Michael Meeks said he wanted to see 5000+ developers join him and implied that Qt (KDE) wasn't up to the task because Qt required those developers to purchase proprietary licenses. He said that KDE was less Free because it uses a GPL library which is in direct and total contradiction to the FSF and is another putrid example of crap that GNOME people will say to disparage KDE. The slide said nothing about cross platfrom OO rather the title of the slide was 'Why GNOME on Unix' and he conveniently concluded that GNOME was the only solution and then he lists his crap FUD about Qt.

We are so worked up because it is just another in a long line of top GNOME developers spreading this ridiculous FUD that they know is patently false and repudiated by the FSF and then GNOME apologists (_you_) come here to our site and apologize for this dung. This is not a legitimate criticism and it is horribly hypocritical. It just shows the ethical lapses among some of the GNOME developers.

by Phil Thompson (not verified)

I have coded two projects that had identical functionality implemented using both GTK and Qt. The number of lines of GTK specific code was 20% and 40% greater than the number of lines of Qt specific code. Applications, and their related costs, aren't finished at the end of development - maintenance costs are significant. While the law of diminishing returns applies (for small developments), the larger a development is, the stronger the direct relationship between total costs and lines of code becomes.

In other words, the question is how many programmers do I need if I use Qt, and how many do I need if I use GTK. For a serious commercial application (where development costs, ie. programmer time, have to be recovered) the difference is significant and certainly greater than 1. (For smaller applications, or for open source projects where the development costs do not have to be recovered, it's less of an issue.)

Reducing the number of programmers required has benefits other than the reduction of the salary bill. Smaller teams are more productive, per person, than larger teams. The major cost of team management is communication with and between team members. This increases non-linearly with the size of the team.

In short, paying for Qt licenses saves you money. This is a statement of the bleeding obvious, otherwise Trolltech wouldn't be in business. It's also the reason why companies are willing to pay out even more money on things like PyQt because it provides their programmers with yet another productivity boost.

Phil

by AC (not verified)

This is a somewhat dangerous argumentation, since proponents of proprietary software (in particular Microsoft) do the same: Windows is more expensive because it makes you more productive...

by Thomas (not verified)

It is very simple:
The Microsoft argument is a lie. Windows is expensive compared to the productivity you gain... You are less productive a a high price level (development costs _and_ license costs)

With Trolltech's Qt Toolkit you _can_ be very productive at a moderate price-level (no need to lie here)..

With GTk you can be productive at a moderate price level (please take development costs into account, not only the cost of the license)

This is the status at the moment. Maybe it changes in the future, who knows...

by Janne (not verified)

In a way this is a matter of open vs. Proprietary. Here we have Qt which is free when used to write free software. And you have to pay if you use it to write closed software. So it encourages people to write Free software instead of proprietary software. I fail to see the problem.

Obviously, people can use Gtk and Gnome to push their proprietary software. And that is a good thing because....??

Only people who whine about Qt and it's licencing are the ones who want to write closed and un-free software. They want to use Qt for free so they themselves could profit from using it. They want to profit from their software, but they obviously think that others (in this case Trolltech) don't have the right to profit from their work (Qt in this case).

"Do as I say, not as I do!"

by Petr Balas (not verified)

What about open software on Windows? OpenOffice on Windows is very usefull. There is no GPL edition of QT for Windows :-(((.

by David Johnson (not verified)

But there is a free-beer version for Windows that let's you use an Open Source license.

by Maynard (not verified)

Trolltech could start charging for that. free!=Open-source. Not equivalent too. Why no GPL. All it takes is a decision.

by Phil Thompson (not verified)

The proponents of any software (open source or proprietary) will say it makes you more productive - that's the whole point of software. The judgement call is between the cost vs. benefit of different packages that claim to do a similar job.

All I'm saying is that productivity benefits (and associated cost savings) of Qt easily outweigh the cost of the license.

by Derek Kite (not verified)

Up till recently there hasn't been any RAD environment comparable to delphi or vb, for quick bang-off database front end jobs. It was more expensive to take a free tool, write data io routines, compared to paying for something that had it built in.

This is one example of the cost/benefit analysis that needs to be done for a commercial project.

The goalposts are changing quickly however.

This whole issue is moot if a person writes and releases gpl software. Either gtk or qt allows that possibility. Microsoft, among others, doesn't.

Derek

by Mike Hearn (not verified)

Did you use the same language for each? Did you use Glade in GTK and Qt Designer in Qt?

by Carlos Ceasr (not verified)

Your comment is right on target.

Commercial Qt subsidizes GPL´d Qt. Eventually, GPL´d Qt applications
will displace commercial Qt ones. I also fail to see the problem.

Cheers,

Carlos Cesar

by Tim (not verified)

I programmed quite a lot with glade and gtk, which made a simple program which
just needed an simple interface pretty easy... 2h to get a frontend.

Recently i had taken a look at qt and the widgets and the signal/slot model
seems apealing.

So from a technical point of view qt seems more advanced although i don't have seen
the newer gnome 2.0 libraries.

as long as qt is free to develop on my favorite platform with gpl'd sources i don't really
care if there is money involved on the windows side. (i think windows existence is
mainly based on money imho anyways).

OT: The main reason that i didn't start with qt/kde was that kdevelop was not available
as easy as glide on the debian platform and there was no vi kpart for the editor.
Is the kvim part finished btw and available as debian package?

by Ralf Nolden (not verified)

try this:

deb http://ktown.kde.org/~nolden/debian/kde woody main

You'll get the latest KDE and kdevelop from there for woody. If you use unstable you're fine there too by just using the debian mirrors.

Ralf

by jay say say (not verified)

Read on:
msg01043.html
till

msg00042.htm from michael meeks:
"...Ultimately D/BUS doesn't matter 1 tiny piece. What really matters is
that Gnome has no conflict resolution process, nor shared vision, nor
way of articulating one - this means that people can abuse their
position ( as a distributor, maintainer of core components etc. ) to
achieve their particular goals. It also leads to a gladitorial
development where people waste vast amounts of time and effort."

and eventually go to the famous (as in slashdot) post:
msg00026.html from mdi:

"Reading today's Slashdot comments, you can see that our desktop is
falling behind stability-wise and feature wise to KDE. It is of course
your time that is being spent on D-Bus, and maybe you do not have a lot
of choice on what you get to spend your working time on, but end-users
which do not care about the royalty issue do feel that KDE is a better
desktop."

Those ximian people are really messing things up since they got those 15 000 000$.
Can you say mono ?

by Ryan (not verified)

How insightful, you take two peoples comments totally out of context, and made no real conclusion. Yes I can say mono, whats your point? That it is a more standard language than Java? Can you say Java? Are you a developer, do you know anyhting about C# other than it was developed at microsoft? Maybe I should take your comments out of context and prove you are a moron.

Sheesh,
Ryan

by Anonymous (not verified)

> $26,000 is probably close to the amount of money spent on free t-shirts and stuffed monkeys distributed at trade shows by software companies.

:-)