As Philip says, the desktop platform for 3rd parties is not as attractive as it should be, given the fragmentation on two big, and incompatible for the most part, development platforms.
And it sucks that politics are involved, since that’s the only reason I can think of about glib, for instance, not being used in DBus, adding the need to copy/paste code from glib to DBus code or rewrite already existing/well tested code. This introduces the need to be updating the code in DBus whenever a bug is fixed in the GLib one, and, most important, fails short in the code reuse philosophy free software is supposed to promote.
Of course, this is just a small detail compared to Philip’s cool integration ideas, but I think a good common platform could help in solving all those integration problems.
So yeah, please let’s have some form of committe or something that approaches a similar KDE people committe to try to promote more the code reuse between the 2 desktops, trying to share as much of the platform as possible. Then, once the basics are shared, we’ll just have two different ways of writing desktop applications, just like there are several different ways on Windows (Delphi, VB, C API, Java, etc).
It doesn’t just suck that d-bus cannot use glib code; it sucks that d-bus exists. There’s no reason for it to exist, given the existence of c bindings for dcop. It solves no problem, it has no technical excellence, it has no merits that excuse its existence. It’s just a politically motivated pawn put forward in the pure spirit of not-invented-here.
Hey Anonymous.
Consider reading your own comment and start wondering why we are ignoring people like you.
I completely agree with Philip. /ignore anonymous and let’s move on.
Oh, and you write “It’s just a political motivated pawn” -> what’s your comment?
I seem to recall that DCOP is rather tied to libICE and therefore X, which isn’t entirely helpful for a system-wide messaging bus system. Please correct me if I’m wrong.
DBUS in fact does have a use. It’s completely system-wide, unlike DCOP, which means it can eventually be used to communicate data between programs that *don’t* run in a GUI. (For example, the whole kismet_server/gpsd/kismet_client/snort/aircrack combination of programs could communicate over it instead of using separate protocols.) Second, “not-invented-here” *is* often a good reason to write your own system. If the existing system is 1) in a different style (coding style or architectural style) than your own, 2) tied to someone else’s libraries (it seems like DCOP is related to Qt in some way), or just 3) not how you want it, it’s not a bad move to write your own system. Personally I think it’s a good idea because it spurs development; since the creation of DBUS, I’ve seen it used in a lot of places. NetworkManager, in particular, is a great application of it.