2003 vs. the KDE platform

Seth Nickell wrote a blog entry about the relation between Gnome and KDE. The short summary is that Gnome and KDE are just two flavours of the free desktop(.org) that are technically too different to be merged, but work toward a common higher goal and should thus share as much components and standards as possible.

I disagree. While I see reasons why is necessary (integrations with platforms like Wine and Java, legacy apps and everything else that is not available for KDE yet), a free desktop is not the ultimate goal for me. A free, well-integrated, high-level platform is the goal. Gnome is not the target, Java and .Net are.

I want to use Qt and its derivates, like KDE and OPIE, as a platform for everything from handhelds to servers. If I like KDE's functionality for writing desktop applications there is no reason why I should not use it when writing software running on a web server or extending an ERP system. Free software lacks a coherent and comprehensive API that would allow efficient development of high-level applications. There is a huge selection of free low-level C libraries that do not follow a common coding, naming or documentation standard. There are specialized libraries for languages like Python that are pretty useless for everybody else. There are clones of the class libraries for proprietary VMs like Java and .Net, but you can not easily use them from compiled languages and their developer's goal is compatibility, not a good API. KDE could be the missing framework that allows free software to reach a similar or even better developer productivity.

Becoming a complete platform is inevitable. A desktop platform that is able to compete with .Net needs at least 80% of what a complete platform has anyway. You need a good XML framework, networking, web services, access to directory services, a security framework, database access, telephony APIs... it would be stupid to produce such a huge amount of code and then just use it for desktop applications.

There are, of course, a few pieces missing in KDE. The most important is a good way to access KDE/Qt APIs from scripting and VM-based languages, without having to maintain wrappers manually. Also important, if KDE's APIs are destined to grow, they need a better structure.

When you see KDE as a platform, and not just as some code that implements a nice desktop, at least my stance on many proposed freedesktop components changes. When you want a desktop that mixes KDE and Gnome applications, a unified virtual file system with components written in low-level plain C (like DBus) may make sense. But when your goal is a platform this is less important, and there is a huge disadvantage: such a system would require KDE developers who want to add a new plugin or debug the virtual file system to learn another programming framework. And, when plain C is used, one that is less productive. There are cases when using C components is necessary, because the cost of producing a replacement is prohibitive, or nobody is interested in implementing it using KDE technology. XFree is a good example of that. But in general the goal should be to have at least good integration with KDE at both the API and UI level, and ideally it should be implemented in KDE-style, for the sake of debuggability and code re-use.

Qt/KDE's APIs still need many features before they can be a competitive platform. A lot of Posix functionality is not available without accessing low-level C APIs, the XML implementations have a feature set that is comparable to 1999's Java or MSXML APIs, there is no suppport for security and encryption APIs, and I could probably go on and on (just look at Java's package list). But it is a solid foundation, actually a better foundation that everything that I have seen so far, and there is no competitor in sight.


However, i do think that applications should look/feel just as much at home in either of the DEs.

By KDE User at Wed, 09/10/2003 - 02:28

> The short summary is that Gnome and KDE are just two flavours of the free desktop(.org)

He didn't say that they are, his whole text deals about consequences *if* this would happen.

By KDE User at Wed, 09/10/2003 - 06:26

In the text the author is asking questions and then answers them himself. Then he gives the final question, without answer, but the text implies that he thinks that the answer can and should be yes.

By KDE User at Wed, 09/10/2003 - 07:38

Can: yes, being: no.

By KDE User at Thu, 09/11/2003 - 04:23

I think you are coming at this from a developer's point of view, looking at what KDE alone can achieve over the next few years. But what is the use if nobody uses it? And are your goals really so incompatable with freedesktop?

I strongly believe in the value of freedesktop; both efforts to unify UI elements so it looks and feels the same, and underlying elements so they can work together better, are really important. And think about it this way: if KDE and GNOME become so compatable that running a GNOME app in KDE is really no worse than running a GNOME app in GNOME, then both GNOME and KDE gain a huge boost in terms of applications that work well in them.

By KDE User at Wed, 09/10/2003 - 10:55

I think you are coming at this from a developer's point of view

Definitely. Users don't care about platforms in general. But they are affected indirectly: having a platform that's easy to use for developers increases the quantity and quality of the software, and decreases the costs.

I strongly believe in the value of freedesktop; both efforts to unify UI elements so it looks and feels the same, and underlying elements so they can work together better, are really important.

Being able to use Gnome applications seamlessly (with all consequences, like VFS etc) in a KDE environment has the obvious advantage that you can use several good Gnome-based apps that currently have no KDE equivalent. But it would consume a huge amount of work that could be invested in improving KDE itself, and would almost inevitably result in a worse platform, because of all the compromises that something like this would require. Having a standard can also stop progress in the standardized field, since you can not easily change it anymore. IMHO right now is the time to catch up with other platforms, not the time to get a few additional apps and pay with inertia.

By tjansen at Wed, 09/10/2003 - 11:29

I agree with you tjansen. I think it is important to evolve KDE into a platform, as opposed to just a Desktop environment. It's very important that we provide developers with flexible, well intergrated and quality tools. A developer is a only as happy or as creative as the flexibility and quality of the tools at his disposal. If KDE can't attract developers, then we can't expect quality apps, and consequently we can't expect more users.

I don't agree that GNOME and KDE should be united. As long as both projects adhere to agreed upon standards, via forums like, every other similarity should cease there. I can't overemphasize the significance of attracting developers, via flexible and quality tools. KDE will only be as great as the inspirations of the developers. Screw them, and say bye bye to KDE and its users.



By KDE User at Sat, 09/13/2003 - 02:21