Ikke's Blog

Post details: To Philip

Jun 19
To Philip

Don't get too frustrated ;-) Lots of people know about these issues. Lots of them care. But as you mentioned, people need to get together, and come out with real-world solutions for real-world problems.
You're right when you state there's a lot of flaming on xdg. But not on all subjects. Take D-BUS and HAL, two promising technologies that get widely accepted, and are truly desktop-agnostic. Both Gnome and KDE start to make heavy use of it.
I'm not really familiar with the copy-paste issues. But as far as I know there is a clipboard specification on fd.o. If that's not sufficient for new applications, everyone is free to propose extensions for the specification. But why do we need a spec if applications don't use it? Currently Gnome got no real clipboard manager, I heard KDE does though.

Some parts of the desktop should be standardised, and shared between both (or should I say "all"?) Desktop Environments we got in the Free Software world. A normal non-techie desktop user wants to be able to copy-paste between Kmail and Gaim without any problem. And he's right when he wants this.
Low-level non-interfacing libraries like D-BUS and HAL should be shared too. It'd be pointless if both Gnome and KDE would start writing up something like HAL. I've been following HAL development for a logn time already, and it's taking lots of effort and thorough decission-making to develop it (kudo's to the devs, especially David :-)), so duplicating something like it is a wasted effort. We could use the amount of work the devs put in the 2nd implementation elsewhere.
Same goes for D-BUS: we all know the story of CORBA and all it's implementations. Finally, with D-BUS, sending some simple dumb signal becomes a matter of writing 3 lines of code (now don't count, it's just a number), a dev does not have to write up IDL files and whatever more. Some people told me once only the guys that wrote Bonobo know how to use it, and maybe they were right (although I know D-BUS and CORBA/Bonobo aren't 100% the same thing, bleh).

But where is the line? I mean, if both Gnome and KDE should share everything (not only in standards, something they should share, but also in libs) we can as well just start dropping one of them and only developing on the other one. And we all know what happens when someone gets a monopoly ;-)

So (finally, the key matter): DConf. I did follow the lengthy discussions (url is just one of the many threads) when they were on xdg. And I must admit, at that time, sometimes they bored me to that. I also laughed when I read that "Over my dead body" comment. Actually, I used it several times to demonstrate what's going on between Gnome and KDE. Although there's one big thing to note: the comment was made by someone who was, afaik, no KDE developer. Waldo, who is one, did participate in a positive manner IIRC.

Now why do people accept something like HAL, and tend to be against something like DConf? I think it's fairly simple: currently both KDE and Gnome got their configuration infrastructure, KConfig and Gconf. Almost all apps who target one of these environments use the corresponding configuration libraries and standards. This is a large part of all desktop apps, including some of the largest (well, except the Mozilla and OOo stuff).
So I can understand some people are a little reluctant when all at once someone on xdg comes to tell them we need a new, common configuration interface. I'm not saying this is a good thing, just trying to understand how they think:

  • When KConfig or Gconf would be dropped one day in favour of Dconf, lots of code that accesses configuration settings should be rewritten to use the new API's
  • It is possible even the internal logics of this code will need to be rewritten, if they use some special features of the system they use now that won't be included in Dconf
  • "We already got a config system that does what we need, why can't the (fill in other/'rival' DE) guys just use ours?"
  • "Dconf offers this and this, but hell, I don't need all that! It only makes my simple I-administrate-one-desktop life more difficult"

and there could be more than 100 other reasons.

So what's the big difference between, say, HAL and Dconf? HAL is new. Desktop developers can just say "Hey, that's some cool new technology, let's write some application (gvm/ivman/kvm/...) around it, or add some functionality to something we got now (gnome-vfs/kioslaves/...) using it".
Dconf will also be something new. But the functionality it offers won't be. So existing things will have to be adapted or rewritten.

Summary: I agree with you on large parts of your rant. Basic libraries like GStreamer should be adopted by both platforms (as long as the development team does, well, a good job... together), duplicating effort is useless there.
Standards should be written and implemented, so a normal desktop-user shouldn't care whether he's running KDE applications or Gnome apps in some random environment. Copy-paste between two Gnome apps should be as easy/workable as doing it between a Gnome and a KDE app.
But we should not make just one melt pot of both platforms. Some concurrention is a good thing ;-) I hope you're not saying something like "Hey, let's drop GTK+, let's use Qt too, to avoid duplicate efforts".
As for ISV's: it's not a bad thing they should choose between GTK+ or Qt. Both platforms got their strengths, every ISV got it's preferences and knowledge. And both platforms get vendors that use them: GTK eg by VMWare, Qt by Skype. But we should make sure indeed VMWare can run flawlessly on a desktop running KDE, taking care VMWare should not use any special tricks to get that working (eg configuration management). Like this all ISV's can choose their preferred platform, without being forced to ask the client "Hey, what desktop are you running?"

Somewhat unrelated: we, in the FOSS world, should make sure we get more enterprise-ready (and Dconf is one step in the right direction). We are not limited to single-desktop employments. There are some good efforts like Sabayon, or Fedora Stateless, and maybe some non-Gnome-based counterparts I don't know of, but these need much more attention, as they are not completely usable yet (as you can see while reading our experiences with Fedora Stateless). 100-workstation deployments should become fun for the administrator, not a hell as it is now. If we could ever reach that goal, FOSS would get the oportunity to get a strong share in the corporate desktop market, as deploying concurrent desktops in a big environment isn't always a breeze either these days (wink@Jeroen and DICT, if someone'd ever read this).

Bleh, I dislike writing long rants as I'm not good at it so I stop here. By the way, didn't we agree not to blog on Dconf and keep it silent for a while? ;-)

Completely unrelated: I got some email from Nokia saying I'll get a code to get one of their N770's at 99


Leave a comment:

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))


Who's Online?

  • Guest Users: 471


XML Feeds

What is RSS?