Why KDE is a … (unfinished)
Why nobody should ever use or contribute to the KDE project.
1. TODO Body
1.1. Intro
Using Free Software for decades makes the person develop a certain intuition on which things are going to work and which are not.
The KDE project is an interesting phenomenon in the desktop Free Software movement. Like not other it helps this intuition to get developed. Why? Because it is:
- Very attractive in the beginning, looking as if it is trying to actually make a convenient desktop environment that is full-featured and easy to use.
- Very frustrating at the mid-stage, when the issues with it are making the user lose his temper at an inability to accomplish even the most simple tasks.
- Very amusing at the later stage, when the user (who has long abandoned any attempts to get productive with KDE) is seeing the project throwing resources over and over and over on the projects that are clearly not going to work.
- Very impressed during the rest of his life, as he sees that people never learn and that new people keep burning their youth at contributing to something which is never going to work, and yet the project still manages to attract large numbers of people.
1.2. What is a Desktop System?
A desktop system is something which works as “driver” for the user. In this context a “driver” is something that provides the bridge between a device and an operating system. I understand that this is somehow confusing, explaining an unclear term using another unclear term, but it should not really be that hard. Operating systems have functionalities: they run programs, coordinate input and output through device drivers, provide some common sets of APIs for processes to use. Humans interacting with the computer can be seen just as some kind of a “device”. For the system, there is not much difference between a stream of characters coming from a serial port and a stream of characters coming form a keyboard connected via a serial port. (Nowadays we use other ports, but the principle is the same.)
1.3. Why would you even need a desktop system? Why cannot you just assemble a jigsaw puzzle in the way the WM (i3/fluxbox) fanboys do?
The very reason for the existence of a system rather than a jigsaw is that programs from a system are expected to work together in tight cooperation, sharing the data in a way that independent components cannot.
In fact, even independent components can, to some extent, cooperate. For example, there is ICCCM, EWMH, “Clipboard spec” https://specifications.freedesktop.org/clipboard/latest/, Cache directory spec https://bford.info/cachedir/ , FHS, and many others, designed so that programs could cooperate consistently.
But no standard can compete with a well-coordinated system, where programs can make many more assumptions about each other’s behaviour.
1.4. Troubled history of KDE trying to find its niche.
Short answer: because it keeps rewriting itself over and over from scratch, breaking working patterns, over-promising and under-delivering, producing a lot of software which is duplicated in purpose, confusing for the user, and non-functional. Its programs do not work in coordination, and often they impinge on programs from other software ecosystems, resulting in a mess.
1.4.1. TODO Nepomuk
1.4.2. TODO kioslaves
1.4.3. TODO ksysguard + system monitor https://en.ubunlog.com/kde-introduces-the-new-system-monitor-app-that-replaces-ksysguard-and-other-future-changes/
1.4.4. TODO KDE activities (https://pointieststick.com/2024/02/06/whats-going-on-with-activities-in-plasma-6/)
1.4.5. TODO Konqueror
1.4.6. TODO Dolphin
1.4.7. TODO Falkon
1.4.8. TODO amaroK
1.4.10. TODO Zoo of multimedia players
It’s not worth even starting…
- Kaffeine
- haruna
- Kplayer
- KMplayer
1.4.11. TODO aRts
1.5. Conclusion
Now it should become possible to start seeing the pattern.
Develop something, fail, drop, repeat. Over and over, with each generation, with each aspect of human-computer interaction.
Instead of actually taking any HCI idea and finishing it, making it work, and establishing yourself as an example of something which other can see as a model, KDE keeps trying something, finding out that they are incapable of developing it, and dropping it half-way.