The current standard/specifications followed by most of the major UNIX desktop enviromnents, such as Gnome, KDE, XFCE, LXDE, and ROX, is called freedesktop.org. See http://www.freedesktop.org/ for detail.

Freedesktop.org is formed by a group of developers. Developers duscusses on the so called ‘xdg’ mailing list to come up with some specs which will be followed by major desktop environments. The specs developed by Freedesktop.org are not formal standards, but they are widely used in Gnome, KDE, and XFCE.

Freedesktop.org standards defines the way window managers work, they way how file types are recognized, how icons are named, the way to define the main application menu, to exchange data between applications and different desktop environments, and more.

The process to form those specs, however, is quite inefficient and problematic. All discussions are held on their xdg mailing list. If someone has a proposal, he/she then writes a draft of the spec for it, and then post it to the mailing list. Then, if you’re lucky enough, or you’re a big guy (famous Gnome or KDE developers), you’ll get attentions and some feedbacks. After lenghthy discussions, if there are no obvious objections, the draft will be added to freedesktop.org repository, and was posted on their wiki. This is roughly how the specs are formed. Nevertheless, if there is no one implement your spec, your spec soon became useless. That means, either Gnome or KDE should support your proposal, otherwise no one will use it. How can something be called ‘standard’ when nobody is following it?

Later, if someone has some good ideas regarding to improving the spec, he/she can post his/her proposal in the mailing list with a patch, and if there is no objection, the patch *might* be applied to the spec. However, once the original author/maintainer of that spec doesn’t like your idea, your proposal will never be accepted. Or even worse, your messages got omitted by the original author/maintainer of existing specs, then there is no way to improve anything in existing specs. This is a real problem in freedesktop.org.

Besides, another big issue here is, most of the specs/standards are advocated by Gnome or KDE developers, and they don’t even consider the needs of other desktop environments. The so-called cross-desktop standards are actually well-implemented in Gnome and KDE only. XFCE tried hard to follow all those standards, but never get everything work flawlessly. LXDE tried to follow those specs, too, but found that many of the specs are very complicated and inefficient, which can slow down our desktops and add bloatness. Nowadays they are trying to add more things, and get modern desktops more and more complicated. It’s nearly impossible to keep lightweight if you want to follow ‘all’ the standards developed by Gnome and KDE. So that’s why we only supports the parts we need.

Recent changes in freedesktop.org, like PolicyKit and ConsoleKit, are mainly developed and implemented by Gnome-related developers. Then the KDE guys are forced to follow them. They even drop their well-designed and high performance IPC mechanism, DCOP, and adopt dbus, which is mainly advocated by Gnome developers. Some people even suggested that KDE should replace their own VFS with GIO/GVFS developed by Gnome. Some new technologies are developed by Gnome first, and then they wrote freedesktop.org specs for them. Later, those things are copied to KDE and they soon have their KDE equivalence. Unfortunately, all other desktop environments are forced to follow those standards whether they really need it or not, to keep the compatability with those two major desktop environments.

Why should we always be forced to follow all those things we don’t like or don’t even need? If we don’t follow them, we lost compatibility with many existing Gnome/GTK+ and KDE programs. In addition, they modify the specs frequently, and always break backward compatibility. So our precious time are wasted on re-implement everything in their new specs and try to fix all broken compatibility left by them. It’s enough!

Sometimes things developed by the two major DEs are quite awesome and useful. However sometimes those specs just don’t suitable for other DEs and they didn’t consider the needs of users of DEs other than Gnome and KDE.

So, every enthusiastic developers/users of lightweight desktop environments, please join their xdg mailinst list and join their discussions and let them listen to your voice. If you don’t want to be forced to use things developed by Gnome and KDE, please let them hear your voice in the mailing list. Since they are now moving gnome libs into GTK+, like it or not, all gtk+ applications will be affected. Desktop environments other than Gnome and KDE might have some special needs and goals and those Gnome standards might not suitable for us sometimes. So we need to let them hear our voice and we should be part of the decision making.

So, please, join the xdg mailing list and get involved if you can.

Subscribe to xdg mailing list at http://lists.freedesktop.org/mailman/listinfo/xdg .