KDE in troubled water
Wednesday 14 May 2008 by Fred
Although I am convinced Qt is a far better GUI toolkit then GTK+, I must admit that Gnome (based on GTK+) is (at the moment) in far better shape than current KDE (based on Qt). I’ve read a lot of so-called “vs” articles and posts (Qt vs GTK+, KDE vs Gnome, LGPL vs GPL, etc). From all those readings I come to these “facts”:
- Qt requires less LoC (Lines-of-Code) than GTK+. The numbers stated range from 30% to 200%. Also, Qt based code is more readable than GTK+ based code. So, Qt is more productive.
- Qt has much better documentation, both online as in books. Most GTK+ related educational stuff is outdated. The online reference is there, but not as powerfull as the Qt reference.
- Both have python bindings, but the same is true for the documentation: The PyQt documentation is much better, both online as in books, as with PyGTK.
- Qt is natively cross platform and performs well on Linux, Windows and OSX, using their native look and feel. GTK+ is cross platform, but it is said it doesn’t perform on Windows very well.
- Trolltech, the company that developed Qt is acquired by Nokia. This is very troubling. Nobody really knows what this will do to the toolkit. GTK+ is owned by nobody, which is very positive. The Free Qt edition is protected through the Free Qt Foundation, but if Nokia so desires, it will just let it fork and give the community there own version of it. Who will then maintain it? KDE devs? That only means KDE development slowing down even more.
- All “big” linux vendors (Redhat, Novell, Ubuntu) choose Gnome as their default GUI, and it shows. There is far more polish in the product. Just try Ubuntu 8.04 and then try Kubuntu 8.04. Kubuntu has one maintainer, Ubuntu many.
- KDE right now is in the transition from KDE3 to KDE4, a massive undertaking. As a result of that, development in KDE3 has ceased mostly, but KDE4 isn’t ready yet either. It’s mostly a mess.
- KDE developers are reluctant to replace KHTML with WebKit, while I see this as very important. Browsing the web with KHTML is pretty painfull. Using WebKit will ensure browsing is on par with Safari. Web Developers don’t give a damn about KHTML. They do about Safari.
- The look and feel of non natvie apps like Firefox and openoffice is very ugly in KDE, but look very integrated in Gnome.
- The general ugly-ness of KDE. Clearly, KDE developers don’t care about aesthetics or are not able to make things look good. As a result, a default KDE install doesn’t look good. It can be made to look better with modifications, but it is the first impressions that count’s. And it is not a good first implession. There is a role for the distro maintainers here too.
- People rant about the smoothness of Gnome, how well everything is integrated, how polished everything looks. The time it takes within the KDE project to get out something as simple as HTML enabled signatures in KMail is unbelieveable. If I change my font settings or mouse pointers of whatever in Gnome, it changes immediately. In KDE I have to logout/login. Why? When I plugin a iPod in Gnome, it’s connected and ready to use in the sound app of Gnome. In KDE (Amarok) is needs to get configured, and then “connected”. Why?
- Word is that OpenOffice under-the-hood is a big mess. It’s bloated and takes a long time to start (getting better though). My great hope is that Koffice 2.0 will be great. It has a much cleaner codebase.
I sure hope the KDE project will get on it’s feet again. KDE4 looks promising, but it’s current state is not good. KDE3 is on a standstill. KDE4 with Koffice2 are my big hope. If it doesn play out well, it will be the death of the KDE project. Right now Gnome is in much better shape.
I _want_ to develop using Python and Qt4. I Like the toolkit and I like the cross platform capability. I already invested in a Qt4 and a PyQt4 book. But, as this post shows, I am in doubt. Should I invest my time in learning (Py)Qt or (Py)GTK?
*sigh* - yet more “sky is falling”-ism about the KDE project - I’m getting quite weary of people predicting its demise
Anyway:
5. You’re positing an absolute worst case scenario with nothing to back it up. Nokia killing off Qt after acquiring it would just be shooting themselves in the foot - see e.g.
http://www4.osnews.com/story/18444/Nokia_Pushes_for_GTK+_3.0
for a hint as to why Nokia wanted Qt - basically, GTK just isn’t cutting it and isn’t likely to in the future. Again, killing off Qt is not at all in Nokia’s best interests. We may as well running around panicking about what would happen if the GNOME community all suddenly retired to a desert island to live as hermits!
6. This is really nothing new, so I don’t see the sudden cause for concern.
7. Yes, it is a mess, as these kind of major changes always are, but it’s a temporary mess. GNOME 2.0 had a similarly rough release (see Erunno’s comments here for interesting parallels:
http://www.newmobilecomputing.com/thread?304220 ) as did Linux 2.6.0, Apache 2.0, Mac OS X 10.0 etc and it has done absolutely no lasting damage to any of these projects.
8. The architecture of KDE makes this a non-issue: someone just needs to finish off the work on the QtWebKit KPart and this can be switched-in to Konqueror on-the-fly (even when Konqueror is still running) by distros if need be. They don’t even need to patch the source code!
9. This is a purely cosmetic issue, and a fairly unimportant one, to be honest.
10. This is one I agree with, at least for KDE3 - Keramik, in particular, was horrific, and must have put people off in droves. KDE4 looks much, much better to me, though, although GNOME definitely seem to manage to attract a larger community of artists/ usability experts.
11. Cherry-picking. “The time it takes within the GNOME project to get out something as simple as restore from trash is unbelieveable”.
” If I change my font settings or mouse pointers of whatever in Gnome, it changes immediately. In KDE I have to logout/login.”
Font settings, colour schemes, widget styles etc all change instantly in KDE for me, and have for as long as I can remember. The mouse-pointer thing was fixed recently and was a few lines of code, IIRC - I don’t think I’ve ever heard anyone actually complain about this, so I guess that’s why it took so long
“When I plugin a iPod in Gnome, it’s connected and ready to use in the sound app of Gnome. In KDE (Amarok) is needs to get configured, and then “connected”. Why?”
This I don’t know about.
–
The health of an open source project depends on its developer community (although having several tens of millions of new users coming up soon is not to be sneezed at
:
http://aseigo.blogspot.com/2008/04/deploying-kde-to-52-million-young.html
) and you only need a cursory glance at some of the stats to show that KDE is a picture of health. cia.cv and ohloh.net are good sources of information. Note that cia.cv’s GNOME stats also include GTK, whereas KDE’s do not include Qt, which is good for (by all accounts) at least another 1500 commits per month.
“If it doesn play out well, it will be the death of the KDE project. Right now Gnome is in much better shape.”
These statements are, at best, debatable. Even in terms of functionality, many will claim that bleeding-edge GNOME hasn’t even caught up with KDE3, despite the latter being effectively on life-support for almost 3 years. KDE4 is developing at a frantic pace, and it won’t be too long before it has feature-parity with KDE3 (many of its apps have arguably surpassed their KDE4 counterparts already) and after that, given the very vigorous developer community and the quality of kdelibs and Qt which allows them to accomplish more with less, it’s all cake after that
I find it hard to conceive of something killing a project that gets on average 300 commits per day and which even seems to be accelerating.
Thanks for you’re reply Anon! You mentioned some posts on the Net I haven’t read before and it does give some more insight. It looks like Nokia tried GTK and didn’t like it. So they aquired Trolltech to have a solid (mobile) platform. Nokia’s concurrents using Qt will probably abandon it, because else they would have a dependency with Nokia. So the knife cut’s on both ends. As a bonus, Nokia is able to develop closed source Qt based progs without having to pay any license costs, they would be paying themselves :-).
As mentioned in a previous post, I choose KDE years ago in favor of Gnome. It’s just that while KDE is in this major shift, Gnome based Ubuntu is very polished. Bad timing, but unavoidable I guess. I won’t start the why-did-you-release-KDE-4.0-in-this-state discussion again.
I will wait and see how KDE 4.1 works out. It sure looks very promising. Until then, I give it the benefits of the doubt and will keep on learning the Python / Qt4 combo, and I will keep on bug hunting on KDE4 based distro’s.
1. From my experience, this is quite true
About iPod, seems that you b0rked you configurations 
2. Absolutely, just go to doc.trolltech.com
3. Can’t agree more
4. If Qt has to be forked, there will be a lot more people willing to work on it, not only from KDE, since more people will use Qt if more permissive license is used.
5. True, but seems that despite of hard push from Linux vendors, KDE remains desktop of choice. KDE has won a lot of DE polls (even though Gnome also wins polling occasionally)
6. IIRC Kubuntu has one paid maintainer, Ubuntu has 2 paid maintainer. But Ubuntu has more volunteer I guess.
7. Yes, but we must see the future, how the new technology will serve us for quite long time before next restructuring is needed and why introducing new technology is better now. Also KDE 4.1 will be ready soon, we expect people start migrating from KDE 4.1.
8. They will ship a WebKit KPart with 4.1. And IMHO, web developers should try best to follow standard, not what kind of browser (maybe a bit too idealist, though). It is also very nice if KHTML remains alive so that we can have an alternative engine.
9. Somewhat true, but Gnome looks like ugly by default, only when distros customize the desktop things become better (and prettier) - But nonetheless I hate the Ubuntu brown theme and those huge buttons.
10. You don’t need to logout actually, AFAIK the new settings will be applied to newly started applications
11. KOffice 2.0 will be great, but surely will lack some features once it is released, it needs a lot of time because of major code restructuring - trust me, I’m working on KOffice ;).
Also, like Anon has pointed out, KDE is in very active development and has a lively community, you can see from cia.vc or ohloh or from KDE dot news
(I guess if the Linux users don’t want KDE anymore, there will be a lot more Windows users who welcome KDE applications on their land
- so I’m not afraid KDE will die)
As for PyQt vs PyGTK, maybe you can research more on tutorials, write some simple code and decide yourself. IMO, programming in Qt is always much easier, but you stuck with GPL or commercial. (I personally prefer GPL than LGPL though)
And hey, we have the same name
@fred. Thanks for you’re positive reply. Since the original post, a lot has changed. Lookes like KDE4.1 is in better change. Heck, we’ll even have Wobbly Windows and a Cubed desktop, what else could one ask for