General question on D-Bus design considerations

Thiago Macieira thiago at
Sat Aug 21 01:22:09 PDT 2010

On Saturday 21. August 2010 05.29.58 Havoc Pennington wrote:
> Only minor things really. GVariant has some type system improvements
> such as maybe types that could be nice. I would change more about the
> libdbus implementation, which has various flaws. My opinion is that
> the protocol itself works very well for what it's intended to be used
> for. I'm sure there are minor things here or there to improve but you
> know, it works, which is why a lot of stuff uses it, and it even has a
> lot of nice aspects. If I do say so myself. Most of the things that
> could be improved are (in theory) improvable via extensions, too.
> The implementation side has been rockier, with the reference libdbus
> being too low-level / least-common-denominator to make anyone happy,
> though at the same time those properties led to fairly wide adoption.
> And the higher-level bindings (for GLib anyway) never got done until
> recently with gdbus, while the rather questionable dbus-glib just sat
> there tricking people into trying to use it. So people tried to use
> dbus-glib (ugh) or libdbus (too low level) and got annoyed with those.

I'm with Havoc. The only thing I'd change in the base protocol is to make it 
more friendly to future extensions. Right now, the only reaction to an unknown 
extension is to disconnect, because it's an unrecoverable error.

The reference implementation has its problems and I'm not going to add to it. 
Safe to say that QtDBus also had its share of problems using it. But it's just 
a library and doesn't require flushing the protocol down the drain because of 

Thiago Macieira - thiago (AT) - thiago (AT)
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the dbus mailing list