quietly working since March 2001 to improve interoperability between X
desktops. Unlike ostensibly similar groups like the
Free Standards Group
freedesktop is not a standards organization. Freedesktop's
is achieved by getting developers to informally hash out ways to interoperate rather than
legislating formal standards documents. Its specifications are hammered out
quickly on mailing lists or IRC, instantly tested in real-world code and
patched accordingly. This speedy, informal approach allows developers to build
interoperability specs without having to disrupt projects with interim hacks
while a standard is finalized. The expectation at freedesktop.org is that the
standards created this way will eventually get
"blessed" by an organization with a mandate to legislate standards.
The benefits of interoperability are often ignored. Nowadays, we take it for
granted that we will be able to cut-and-paste or drag-and-drop
between GNOME and KDE applications. This casual acceptance is a good
thing. Applications should "just work" whether or not they are on
their native desktop. Thanks to freedesktop, they mostly do.
Contrast this with life under very early versions of GNOME and KDE.
Standards simplify the lives of developers trying
to be desktop-neutral. The standardization of
desktop entries and
for example, allow ISVs to easily install icons for their applications without
having to worry about the end-user's desktop environment.
The developers of a
skinned media player can be assured that their app will look and behave
the same under all compliant window managers if they use the hints
defined in the
Window Manager Spec.
Freedesktop.org has published
that have wide acceptance across X desktops. For example, the
Window Manager Spec,
which defines window manager behavior, is supported by GNOME,
KDE, XFce and many other window managers. The qt and GTK+ supported
spec is a protocol to embed one application's controls into another.
clipboard spec is a consensus on using the X clipboard.
Several draft specifications haven't been widely implemented.
For example, the one that defines application
has only been implemented by GNOME, but KDE and XFce
have indicated support in future releases. The
MIME Database creates a common library of MIME types to be
used file handling tools. It's currently implemented only by
and slated to be part of GTK+ 2.4.
Recently, freedesktop decided to expand the scope of its work to
hosting desktop oriented projects,
especially those that provide needed infrastructure to desktops.
The DRI project recently moved
its CVS repository
to freedesktop.org, for example. Other projects hosted on freedesktop
- a vector graphics library,
- a message bus system,
A particularly interesting new project is HAL, which aims to create a
standard abstraction layer through which desktops can configure and use hardware
devices. It's an ambitious project, but one well worth the effort.
to post comments)