A Quick Cost Analysis of Qt vs GTK
An anonymous reader writes "George Staikos responds
to Michael Meeks' arguments
of using GNOME over Qt. There is also a discussion of events at KDE.News. In Meeks' same set of slides, he states that Ximian OpenOffice is much faster to start than native OpenOffice."
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 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.
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. This is not a legitimate criticism and it is horribly hypocritical. It just shows the ethical lapses among some of the GNOME developers.
One of the biggest lies that the Gtk/GNOME people like to spread is the myth that commercial third-party software companies prefer Gtk over Qt because of the licensing issue. This despite the absolute majority of facts dictating otherwise. Trolltech is perhaps the most successful Free Software company around and they have no shortage of commercial third party software companies that choose Qt. Here is one such statement from the dot:
As someone who works for a company that owns Qt commercial (for unix), I'd like to offer my point of view.
Management tended to be overly estatic about this Linux development environment because it's "free". So, obviously, there needed to be some justification of making a $2300 purchase in order to support this "free" linux system.
When first learning about what was available a few years ago (GNOME and KDE) I set up machines to evaluate both. We chose KDE, and it was 95% because of Qt; it's API, it's professionalism, the signal/slot idea, etc. All of the software we've developed with it has been proprietary in house stuff; we haven't made any money off of software sales - just off of its use.
But I'm sure other people may feel differently. Obviously if you're a lone consultant, it may be a bit too expensive for you to attempt to spend money up front in order to make money off of software. I suppose that's part of capitalism.
But I am a happy Qt commercial user, and we will continue to support KDE development, and pay for Qt, as long as we're still writing software for Linux.
If a GNOME advocate can point me in the direction of information/screen shots of something that can match the power of Qt/KDE/ and KDE kiosk mode, while providing clean documentation, a quarterly newsletter, and 1 year of e-mail support, I'd be interested in finding out more information.
Until then, KDE and Qt well exceed our needs, and I'm happy to be able to use them.
If using Qt means you're more productive then in some cases the extra cost of a Qt license (or licenses) is going to be worth it. I think we all know how TCO figures can be skewed any which way to support almost any point of view. If you like GTK use GTK. If you like Qt and can afford the license fees use Qt, or go GPL and don't worry about license fees.
I thought about this when the slides were linked to last week in another story, and I thought I'd throw it out there.
As I understood it at the time, if you use free Qt then your program can never be non-GPL (or at least non-free). That is, any work done with free Qt has be free software, which means that even the original developer (who is normally free to fork to a non-free version) can't fork his/her project into a commercial, closed version.
Take, for example, TuxRacer. There is a non-free version of it for sale, and a free version from the source before the fork. If it had been developed with free Qt, then my reading is that it could not have been forked and made into non-free software for profit.
Since GTK+ is only LGPL, then I feel that it allows projects to grow in a free software world and, if and when it is deemed necessary by the author (copyright holder), forked into a project that is non-free.
Not that I think that's a very friendly thing to do (if you accept the RMS view), but it does seem to me to be a fairly significant limitation on what one can do with software originally developed with free Qt.
This is just my view after reading the free Qt FAQ. I'd be happy to hear arguments against my reading of that document, or if someone wants to go through the free Qt license and ensure that it indeed says something different.
Curmudgeon Gamer: Not happy
Just take a look at the documentation to know which to use.
The GTK project seems to have gotten away with not having updated its documentation for 1.2 since it was 75% done in 1999. Looking over the documentation requirements and comparing those to what I expect from good documentation, they were really more like half done.
The GTK 1.2 documentation is still in that state, & GTK 2.0's documentation doesn't appear to be much better.
Not every function or object has a complete description, almost every struct has an incomplete description, not all methods of objects are explained fully, almost no signals have any useful documentation about what they do beyond what can be gleaned from their names. The various states for widgets and GTK as a whole are barely even mentioned.
Assuming QT has documentation that at least approaches professionalism (which I guess is safe since QT is a professional company), I know what I'd pick.
There's the TCO, then there's the time and money it takes to train your staff. On GTK+, I think that the investment on doing that would be simply unreasonable.
They've actually finally gone and updated the 2.0 documentation very recently... I think most of it is up to date now, with a bit more (last I saw anything about it on the mailing list archives) remaining to go.
The GTK 1.2 documentation is still in that state, & GTK 2.0's documentation doesn't appear to be much better.
I like the ambiguity of your using the word "appear" - shows that you know GTK+ 2.0's documentation is in fact much better than 1.2's, but don't want to admit it. Yes, Qt does have nice documentation, but it still uses that poxy slot and signal mechanism along with a daft preprocessor.
Chris
If you want to transform your OS application into a commercial one, go and buy a Qt license. It is that simple really.
They got it nail down pretty well: you want to benefit from our work? OK but it is only you or others in an "altruistic" basis.
You want to become the next Bill Gates? That is fine, but you stood in our shoulders, so cough up the dosh.
IANAL but write like a drunk one.
No, it's that I haven't sat down and read GTK+ 2.0's documentation because the only project I'm working in right now are GTK+ 1.2 && isn't going to be ported to 2.0 until the next release.