LWN.net Logo

KDE and FreeDesktop.org

August 25, 2004

This article was contributed by Tom Chance.

FreeDesktop.org always raises a little controversy in conferences - any group trying to integrate some of the most competitive projects in the free software community is bound to do that - and this year's KDE World Summit, aKademy, was no exception. Daniel Stone, freedesktop.org's release manager, gave a well-received presentation on the project to KDE developers, covering both the future of the project, and where he sees KDE fitting in. What follows is a writeup of his presentation, and some reflections from when I caught up with Daniel and Aaron Seigo of KDE later in the summit.

Daniel began his talk by sketching out freedesktop.org's main projects, describing briefly what the future holds for each of them. First on the list was X.org, whose cutting-edge developments has already been covered in some detail on LWN. Happily, Daniel managed to cover entirely different material, but gave a good impression of how X.org development is moving forward.

We should see X11R6.8 released in the near future, bringing Composite and many of the eye-candy enhancements first really developed in Kdrive to our desktops. But freedesktop.org also have their sights set on X11R7, with some major architectural changes planned or in discussion. Since they forked from XFree86, the developers have been trying to modularize the codebase to make it more manageable and digestable, and by X11R7 they hope to have completed this process. They're also thinking about moving the files from /usr/X11R6 to /usr (a pet hate of Daniel's), and after some developers expressed misgivings about CVS they are now discussing which Revision Control System (RCS) to use. Character set problems should also receive some attention, with Smart Common Input Method (SCIM) and Universal Input Method (UIM) bringing proper support to non-Latin character sets like Japanese.

The other major change he discussed was a migration from Xlib, which is said to be too unwieldy, as it is trying to work both for toolkits and GUI developers. A new low-level implementation of the X protocol in C, the X11 C Bindings (or XCB), provide a foundation for toolkits to build upon, allowing them to better optimize their interaction with X and allow developers to focus on the toolkit alone. The X.org project will no doubt attract plenty of attention in coming years.

Of particular interest to many KDE developers was the section on DBUS and HAL. With KDE4 now on the horizon, KDE developers are able to think about major architectural changes. Starting to migrate the internal messaging system from DCOP to DBUS and adapting KDE libraries and applications to take advantage of HAL are both hot topics. Daniel described how they can make the user experience seamless if applied universally across the desktop. DBUS in particular will bring all of the benefits that KDE enjoys from DCOP to the rest of the desktop. It promises an improved system that can, for example, change the proxy settings universally from one place whether it is the KDE or GNOME Control Center or even just a shell script.

When I talked to Daniel and Aaron later, it became clear what KDE will have to do to migrate to DBUS and other freedesktop.org technologies successfully. To begin with, there will be namespace issues that will mean it won't be a straight translation between DCOP and DBUS, though Qt 4 bindings should make accessing DBUS easier. Adapting to composite being available in X will also require removing the pseudo-transparency code found in several KDE applications, and integrating HAL will require entirely new code, although KDE's network/device transparency should mitigate conceptual difficulties. The key, Daniel pointed out, is that KDE can and should migrate gradually, maintaining backward compatibility. Aaron Seigo echoed this sentiment, saying that KDE has to approach the task pragmatically. KDE, he believes, must help drive DBUS and other standards, and properly address problems of how to migrate, what migrated code would look like, how much effort it would take, how compatibility could be preserved, and all the other questions typical for such a change.

The issue of driving standards is particularly poignant given that freedesktop.org is due to release it's first platform, freedesktop.org 1.0, within a couple of weeks. This will provide a stable set of APIs, libraries and standards that developers and companies can use, and it will lay the foundations for freedesktop.org's future. The conservative nature of the freedesktop.org process is best illustrated by the fact that key technologies like DBUS, HAL and Cairo aren't included in the platform, omissions that caused some concern among KDE developers who would like to integrate them within the time frame when the platform will be stable (a matter of years - release 1.1 is planned for late April 2005).

Daniel explained that their omission from the platform doesn't preclude their use in KDE or other desktop environments, and that the process of developing standards is more a matter of trial and error, seeing what works, encouraging projects to coordinate development, and only moving forward when everyone involved can arrive at a consensus. KDE developers were also concerned about this decision making process. Within KDE, technical decisions are made by the person who implements a working solution, and so they didn't want to feel pressured to adopt a solution that freedesktop.org prefers. When talking to Daniel privately, and in the discussion after his talk, he took care to address what he sees as a fundamental misunderstanding about freedesktop.org. The project's decision process is open to all, and the approach is that if people from all the major projects concerned cannot reach a consensus, then there is something wrong with the proposal being discussed. In other words, if developers from any project that relates to freedesktop.org is worried about a particular proposal, they should get involved and either explain why they want it stopped, or how they think it should be modified.

For the moment this loose and conservative approach seems to be working. Aaron Seigo pointed to examples like the icon, .desktop files, drag and drop, thumbnail and menu structure specifications, and the recent decision to drop the systray specification, as evidence that the process has worked well so far. I put it to Daniel and Aaron that freedesktop.org may in fact need to be more assertive. The decision of which multimedia framework to adopt, for example, is one that should be done through freedesktop.org across all environments to avoid yet more fragmentation. Yet this decision requires some body to help form consensus, since the decision is not so simple as: "do we like this proposal?" Daniel agreed, and suggested that KDE, GNOME and other desktop developers need more joint meetings to discuss the more contentious and complex decisions, much like the multimedia track in aKademy; he was, however, uncertain about how this could be done.

The key to freedesktop.org is active participation, a subject to which Daniel and Aaron kept returning. At present, Aaron believes the perception amongst some KDE developers that freedesktop.org is too GNOME-friendly simply comes from the fact that not enough KDE people are involved (particularly in the logistics). Daniel emphasized in his presentation that KDE is underrepresented, which is both dangerous for KDE, since it may find itself having to either accept the dictate of those that participate or to break away, and it is dangerous for freedesktop.org, which relies on the active participation of the major desktop players for credibility and progress.

Aaron firmly believes that freedesktop.org can provide a politically neutral ground upon which developers can cooperatively develop a platform, one which can then compete with proprietary software produced by companies that have these same kinds of processes internally. If developers in competing projects can come together and discuss where it makes sense to integrate, then not only can problems with integration be solved, but the combined skills and knowledge of all free software desktop developers can bring major advances. It is, they claim, a project with no losers, except those that don't take part.


(Log in to post comments)

systray

Posted Aug 26, 2004 4:24 UTC (Thu) by rfunk (subscriber, #4054) [Link]

What's this about dropping the systray specification? Why did they do
this?

I like the fact that I can run a Gtk app and have its systray icon show
up on my KDE panel. I have one there now. (Only problem is that the
icon will occasionally disappear mysteriously and I have to toggle it in
the app settings to get it back.)

systray

Posted Aug 26, 2004 7:42 UTC (Thu) by telex4 (guest, #21370) [Link]

They dropped a proposed new systray spec, and it was vetoed. The old one
remains.

systray

Posted Aug 28, 2004 21:41 UTC (Sat) by daniels (subscriber, #16193) [Link]

Actually, I proposed that the current systemtray spec be included in the
fd.o platform, and it was vetoed on the basis that a new one should be
developed which was less painful.

KDE and FreeDesktop.org - Error.

Posted Aug 26, 2004 10:13 UTC (Thu) by harisri (guest, #4662) [Link]

The sentence "Starting to migrate the internal messaging system from DCOP
to DBUS and adapting KDE libraries and applications to take advantage of
HAL will lie underneath the are both hot topics." is wrong. I think the
"the" in "... lie underneath the ..." is not needed.

Thanks

KDE and FreeDesktop.org

Posted Aug 26, 2004 12:17 UTC (Thu) by zooko (subscriber, #2589) [Link]

The part about looking at a CVS replacement motivated me to update my http://zooko.com/revision_control_quick_ref.html document.

Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds