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)