Improving freedesktop.org

Havoc Pennington hp at redhat.com
Mon Sep 4 08:10:43 PDT 2006


Frans Englich wrote:
> I think the wisest thing to do is to turn Free Desktop into a huge whiteboard 
> and push the specifications into standard bodies. The latter would indeed be 
> part of Free Desktop's mission, in order to ensure that it actually happen, 
> instead of them staying on FD's server(such as turning DBus into an RFC).

There are good reasons freedesktop.org is not a standards body; it would 
simply be too slow and too much work, and open source developers would 
not bother with it. The goal originally was and always has been 
pragmatic - the idea isn't "standards" but "people have a place to talk 
to each other and see they could share code or an approach."

I think you're right that the way to go if anything really needs 
standardizing is to send it through IETF or W3C or X.org or whoever else.

In many cases I have to say I don't see the point, simply because the 
only people who care at all are X-based desktop implementors, and 
there's no real value to expanding the audience or the number of cooks. 
You're right that it involves work and money, and we shouldn't blow 
either our own work/money or that of a standards body when it won't have 
real value.

Where I'd see the point of a formal spec: something that we'd truly 
expect to be widely reimplemented.

If you look at freedesktop.org successes, most of them are 
implementation standards (cairo, fontconfig, dbus, Xlib) that may happen 
to have a spec, but the real win was the shared implementation.

Formal specs usually have long lists of implementations, while 
freedesktop generally has 2 or 3 at most, and even in those cases we'd 
probably rather have 1.

So one question is which specs are these? Are there any specs that we're 
looking to have widely used outside of a short list of known open source 
desktop projects?

EWMH is the only freedesktop spec I can quickly think of that has a 
fairly large number of implementations.

Another argument for formal specs has been ABI/API guarantees, but 
personally I think stable ABI comes from good implementation maintenance 
and good compatibility testing, I don't think spending a lot of time on 
specs does much more than cover asses ("you relied on unspecified 
behavior!").

In particular there's a long history of people whining about ABI changes 
/ lack of guarantees and proposing various documentation/policy 
solutions, when the real problem is just finishing the code such that 
it's maintainable and we have something ready to be frozen and widely 
used. i.e. usually we need hacking, not specs, on the ABI front - 
whether fixing the way things work to be sane enough to freeze, or 
coding compatibility tests. IMHO of course.

A final reason I get the sense people like formal specs - they want to 
impose a spec top-down when it isn't getting "naturally" adopted. I 
think all the core maintainers are pretty against this, and it leads to 
deeply broken specs with no relationship to reality.

Again here I think the solution is code, not specs. Take the "font 
problem," we could have written specs (and whined about fragmentation) 
for years, but just pragmatically writing fontconfig was a better solution.

The same holds for current problems such as the "vfs problem" or "applet 
problem" or whatever. Coding work will fix these, specs will not.

Havoc



More information about the dbus mailing list