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

Ng Oon-Ee ngoonee at gmail.com
Thu Dec 3 18:02:14 EST 2009


On Thu, 2009-12-03 at 22:55 +0100, fons at kokkinizita.net wrote:
> On Thu, Dec 03, 2009 at 11:29:51AM -0600, Aaron Griffin wrote:
> 
> > Mechanisms have existed for like 20 years before dbus to communicate
> > with other programs. dbus is just another way to do it that has a
> > smell of "architecture astronomy" - as if they all scoffed at the
> > actual ways to do IPC on various Unicies and said "Oh, I can design
> > better".
> > 
> > That's why I dislike it.
> 
> I agree, and there is more.

Isn't it in the nature of programmers and people in general to have just
enough egotism to say "I can do better"? Progress is based on that. In
dbus' case it seems (to this ignorant user) that the attempt was to have
a single system which everyone could use. Or in other words, world
domination. Which is the goal of most software tools, to be so good that
noone would use anything else.

> - It uses glib types instead of the plain C ones.
>   So it smells GNOME from the start. Why should
>   an app that has nothing to do with GNOME be
>   forced to use its headers ?

Sorry, unable to comment on the programming details. Aren't glib types
basically C ones with a bit of added checks though?

> - It uses XML configuration, no system tool should
>   do that - it's bloated, ugly, and in most cases
>   impossible to read. No system tool should depend
>   on the presence of XML libraries.

I dislike reading XML, and editing it. It does have some advantages,
however (else it wouldn't exists). Chief among them, I think, is the
ease of (and availability of tools to) parse automatically. In this
case, as with other software, the devs chose a config to run with and
did it. End-of, in my opinion.

> - It is being abused in major ways. Any app that 
>   uses it to 'enhance the user experience' should
>   be able to work without it just doing its core
>   function, but in almost all cases things are not
>   implemented that way.
> 
> The latter is part of a culture that dictates that
> everything should be automatic and based on what
> 'most' users prefer. Could be, but that is no reason
> to force these things on those who don't want them.
> And in almost all cases it is impossible to change
> this behaviour, any attempt at manaul configuration
> is viewed as an attack on the system.

I would tend to agree here, but the bigger cultural thing is what is the
issue. Apps, like it or not, are dealing with the profusion of choice on
Linux by tying themselves to a single base-point. Currently, that
base-point happens to be Gnome, sole-ly due to user numbers. From the
viewpoint of app designers, they only expect their creations to be used
on Gnome, that's all they test for, and everyone else can go patch
themselves a new one.

Not right, but when you're basically writing apps selfishly for
yourselves (as most do in Linux), its the prerogative of the developer.
As previously mentioned, the main problem would be that apps which don't
have to depend on it do. This should be solved at the individual app
level, not by wishing dbus didn't exist. Or lobbying for it to be
removed.

Agreed that manual configuration should ALWAYS be possible. Am not sure
how much configuration is needed for an IPC however, which is not
normally (if at all) user-visible.

> That said, dbus is probably one of the minor evils
> originating at freedesktop.org. The Kit family is
> much worse.
> 
> Ciao,
> 
Different discussion =). Now THAT would be interesting.



More information about the arch-general mailing list