Hi all,
This is going to be a sorta longish post about GNOME vs KDE which has been done to death ad nauseum but its something that I feel I should have written a long time ago.

I had been thinking of writing this one for quite some time but then saw this and had to put a rejoinder to it. Similar to the author though, I am not a traditional KDE user guy but do use few applications from KDE though (Palapeli and Kshishen come to mind). Now I did briefly mention about KDE but that was quite some time back and put frankly while I did look at it as an alternative had to turn back to GNOME 3 fallback at least for the interim. Here are few of the things I have found irritating to see :-

a. Feature list :- Every new release of any desktop environment most of the times is new features, while I cannot say for all, couple of the games I have played don’t seem to have had any new features. I usually purge and then install whenever new versions of KDE packages come out so no old stuff (configuration files) remain on the system, still haven’t seen any changes. I could understand it if it the packages were highly mature but both of them I have found to be buggy or need to have basic features in place. For instance I filed a bug/ticket with the KDE guys for Palapeli about a year back and still haven’t heard about when the feature is going to be integrated. Talking offline to the developer involved has said its going to take awhile but no dates or releases given 😦 . Either way I know now its not something they are going to fix/add in a hurry. I am sure some people would call it a strawman argument but then you feel what you see.

b.Breaking packages and having individual packages :- Now from something KDE 4.6 and continuing forward from what I know/understand the KDE guys are breaking monolithic package bundles/metapackages and making them individual packages. The idea behind it from what I understand is similar to GNOME KDE is also attempting to discard old frameworks and libraries or what not and moving to new things with each release. Now its not possible for reasons unknown to me for each developer to release a new version on time (they follow similar time-based schedules like Ubuntu so every 6 months users get a new release) and hence they are breaking it. But this comes with an issue in itself. For instance as a user if I’m searching for a package and do not know of its existence, with package bundles or metapackages there is a chance to find such a package/program but without it, the chances whittle down greatly. You can see the same thing happening in KDE games and kshisen for e.g.

$ aptitude show kdegames
Package: kdegames
State: installed
Automatically installed: no
Version: 4:4.7.4-2
Priority: optional
Section: kde
Maintainer: Debian Qt/KDE Maintainers
Uncompressed Size: 62.5 k
Depends: bovo (>= 4:4.7.4-2), bomber (>= 4:4.7.4-2), kapman (>= 4:4.7.4-2), katomic (>= 4:4.7.4-2), kbattleship (>= 4:4.7.4-2), kblackbox (>= 4:4.7.4-2), kbounce (>= 4:4.7.4-2), kdiamond (>= 4:4.7.4-2), kgoldrunner (>= 4:4.7.4-2), kiriki (>= 4:4.7.4-2), killbots (>= 4:4.7.4-2), ktron (>= 4:4.7.4-2), kjumpingcube (>= 4:4.7.4-2), klines (>= 4:4.7.4-2), kmahjongg (>= 4:4.7.4-2), kmines (>= 4:4.7.4-2), knetwalk (>= 4:4.7.4-2), kolf (>= 4:4.7.4-2), kollision (>= 4:4.7.4-2), konquest (>= 4:4.7.4-2), kpat (>= 4:4.7.4-2), kreversi (>= 4:4.7.4-2), klickety (>= 4:4.7.4-2), kshisen (>= 4:4.7.4-2), kspaceduel (>= 4:4.7.4-2), ksudoku (>= 4:4.7.4-2), ksquares (>= 4:4.7.4-2), ktuberling (>= 4:4.7.4-2), kfourinline (>= 4:4.7.4-2), lskat (>= 4:4.7.4-2), kubrick (>= 4:4.7.4-2), kblocks (>= 4:4.7.4-2), kbreakout (>= 4:4.7.4-2), ksirk (>= 4:4.7.4-2), palapeli (>= 4:4.7.4-2), granatier (>= 4:4.7.4-2), kigo (>= 4:4.7.4-2)
Recommends: kajongg (>= 4:4.7.4-2)
Description: games from the official KDE release
KDE is produced by an international technology team that creates free and open source software for desktop and portable computing. Among KDE's products are a modern desktop system for Linux and UNIX platforms, comprehensive office productivity and groupware suites and hundreds of software titles in many categories including Internet and web applications, multimedia, entertainment, educational, graphics and software development.

This metapackage includes a collection of games provided with the official release of KDE.

Tags: role::dummy, role::metapackage, suite::kde, uitoolkit::qt, use::gameplaying, x11::application

Now does anybody notice that kshisen is not mentioned there anywhere. That’s right its not there because it is now a separate package . See :-

$ aptitude show kshisen
Package: kshisen
State: installed
Automatically installed: no
Version: 4:4.7.4-2
Priority: optional
Section: games
Maintainer: Debian Qt/KDE Maintainers
Uncompressed Size: 453 k
Depends: kde-runtime, libc6 (>= 2.2.5), libkdecore5 (>= 4:4.7), libkdegames5a (>= 4:4.6.2), libkdeui5 (>= 4:4.7),libkmahjongglib4 (>= 4:4.6.2), libphonon4 (>= 4:4.3.0), libqtcore4 (>= 4:4.7.0~beta1), libqtgui4 (>= 4:4.5.3),libstdc++6 (>= 4.1.1), phonon, kdegames-mahjongg-data (>= 4:4.7.4-2)
Description: Shisen-Sho solitaire game
KShisen is a Shisen-Sho game where the player removes adjascent pairs of Mahjongg tiles to clear the board.

This package is part of the KDE games module.

Tags: game::strategy, implemented-in::c++, interface::x11, role::program, suite::kde, uitoolkit::qt, use::gameplaying,x11::application

I am sure you have noticed something called Tags, that’s Debian at work but that does not absolve KDE from its responsibility of having packages together. I seriously have no idea whether it was the reason or something else which made them take that decision as they did.

c. Documentation :- Documentation seems to be an issue with KDE as well. See the Games page for that.As can be seen quite a number of games are not listed there at all. While there is a general lack of documentation in most of the FLOSS projects, I have seen KDE to be slightly at worse keeping tabs.

d.Changelogs and Developer info :- While I’m no programmer or packager I do like to know who is/are the developers behind specific stuff I use so I can ask for support and put up bugs or feature-requests. In KDE I find it hard to figure out who the developers are on occasion. For instance it took me quite sometime to figure out Frederik Schwarzer is now maintaining and developing kshisen. The relevant developer info. was not in :-

$ kshisen --version
Qt: 4.7.4
KDE Development Platform: 4.7.4 (4.7.4)
Shisen-Sho: 1.8.3

Similarly, its not there in the just released KDE SC 4.8 as well. It was only via seeing the git commit history (Git – Version Control System) that I was able to figure out that he’s now leading/developing the game and in fact it is only a day or couple of days that he committed the developer info. on that so it should be available in the next version (KDE SC 4.9). What felt wrong is that this info. should have been handy.

Now as far as changelogs are concerned, its again some sort of mismanagement. I have looked and used quite a few projects and still do and most of them have a nice changelog to see,inspect and understand what the changes are. For instance here are two different packages for which I had wishlist bugs sometime back. While one is more mainstream than the other it does not take the fact back that its good to have sensible changelogs. For many of the games and specifically for palapeli I did not see any changelogs anywhere 😦 Most of the changelogs are found within /usr/share/doc/$packagename) for instance here’s the directory about Git :-

/usr/share/doc/git$ ls
changelog.Debian.gz contrib NEWS.Debian.gz README.Debian README.source
changelog.gz copyright README README.emacs RelNotes

and here’s Palapeli

/usr/share/doc/palapeli$ ls
changelog.Debian.gz copyright

As can be seen the only changelog is Debian changelog. Even if there were no changes within this version of palapeli (palapeli 1.2) it should have had a changelog. This is inexcusable. From what I have seen of most Debian Developers and Maintainers they usually package or have changelogs if they are easily found. Changelogs are necessary for even users as its hard to know and use any new features if there are there or even if they are not to just know there is nothing missing. Without this sort of info. we are just lost.

e. Roadmap, licensing and support :- Now for big projects like KDE they usually should have robust roadmaps defined for short-term, medium and long-term. Its sorta there but not really. Either they lack good people to communicate their vision to people at large or whatever, I found it confusing. I just know that there are couple of frameworks and QML (for mobiles) which is supposed to be the new shiny thing for KDE SC 4.9/5.0 but nothing that makes me feel excited. Just don’t get the big picture.

As far as licensing is concerned, its not so much the licensing but Nokia’s support. From what I have seen for quite number of years, it has been a roller-coaster ride and now with Nokia firmly on Windows bandwagon I don’t know what the future holds for QT/KDE although Nokia has made encouraging voices for the platform but don’t know. Commenting about something and funding it another matter altogether.

Lastly, I find the support and even the way to access it as laughable. The user list is private (means cannot be accessed by the general public) directly. There are ways though, using gmane or becoming a member of the list by subscribing. The former solution only applies if you know the existence of gmane and the latter if you are really keen to get support, both of which are not good for a mainstream project like KDE . I don’t know whether they have bandwidth and hence finance issues for that or some other matter, it just doesn’t bode well.

f. Lastly Resource usage and crap on terminal :- Many of the apps I have tried over time I have found KDE to be more resource intensive than GNOME (and GNOME is supposed to be the fatty one). I have seen and experienced weird cases of lockups and not letting go of memory around couple of years back when I was using KDE intensively. I don’t know if the lockups and zombie processes are still an issue or not but do know and see that they do take more resources.

As far as crap on terminal is concerned, its just laughable. Let’s say you have the terminal and you have also some tabs on it. You will find something like this :-

$ kshisen
kshisen(7829)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
kshisen(7829)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
Warning: option --plugin-path no longer exists.
Warning: option --plugin-path no longer exists.
[0x2c53248] main services discovery error: no suitable services discovery module
kshisen(7829)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:

The kind of messages you see would alarm a user as some of it is pretty scary. The part about main services discovery error or the part about deprecated signal or plugin-path all of which are not comforting messages. Add to that you would have a message :-

kbuildsycoca4 running...

on another tab of the terminal. This I have seen with quite a few of the apps, especially kbuildsyscoca stuff. If somebody is asking me why you use the terminal, its so that I can know if something breaks down where or what broke it so at least I could inform about it to the distro guys in my free time. That’s my contribution to it as well as this.

Of course, it would not be right if I would not say that KDE in Debian is going through a transition phase right now so at the last bit may be something to do with some of the stuff that needs to be worked out at Debian itself, don’t really know only time (and any comments) will tell.

Till l8er.

One thought on “GNOME vs KDE

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.