[arch-general] [OT] What is wrong with DBus anyway?

Denis A. Altoé Falqueto denisfalqueto at gmail.com
Thu Dec 3 13:42:25 EST 2009


On Thu, Dec 3, 2009 at 4:14 PM, Arvid Picciani <aep at exys.org> wrote:
[...]

Well, let's see:

1. DBus has an user space daemon

I _think_ that this eases the transition of messages between the
applications and the user space bus. This also happens with Jack Audio
Connection Kit. Indeed, clients can't connect to it if the daemon is
started by root and the clients are started by normal users.

2. Some applications don't work if DBus is not started.

This is a possible bug in the application, is not a failure of DBus.
Maybe the developers think that is not feasible to support more than
one type of IPC mechanism, so they choose one and go with it. If you
can convince them to use DBus optionally, and the features that depend
on it can be simply turned off without the application losing too
much, fine. I think that indeed that is the case with X server, isn't
it? It is only a matter of configuring xorg.conf  to disable it (maybe
I'm confusing thing here).

4. There are other IPC mechanisms

Yes, there are. But I think that each one has some drawbacks too.
CORBA, for example, is too heavy for simple use (Gnome developers can
tell a good story about that). XMLRPC needs a HTTP server or something
like that and the overhead of the communication protocol is not very
efficient for local use. Maybe there's another IPC mechanism that is
good, but maybe it doesn't have everything that DBus have (for
example, activation of daemons on demand).

5. DBus is hierarchical

As is your filesystem too. There's a good reason for that. Hierarchy
per se is not a bad thing and in DBus it is well used. It separates
objects in categories, so that functions with different purposes don't
get mixed in a big namespace. Maybe you don't like the Object Oriented
nomenclature, but it doesn't need to be called like that. You think in
modules, containers, categories, bags, whatever name carries the idea
of a collection of related operations. The fact that it is implemented
as an object or not is not important for the client and the provider
of the service don't need to be an object.

Thanks for the people who posted (and keep posting!). The discussion
is interesting, even if just for the anthropological point of view.
And I'm not yet convinced that DBus should not exist :)

-- 
A: Because it obfuscates the reading.
Q: Why is top posting so bad?

-------------------------------------------
Denis A. Altoe Falqueto
-------------------------------------------


More information about the arch-general mailing list