why re-invent the wheel ?

Havoc Pennington hp@redhat.com
04 Oct 2003 12:00:58 -0400


On Sat, 2003-10-04 at 02:37, Tim Barbour wrote:
> 
> (i) Why not use an existing message bus ? There are several open source ones, including
>     Spread, JavaGroups, one from Tibco, and several implementations of the CORBA Notification
>     Service. Some of these are capable of reliable multi-cast (extremely scalable).

Just because something has "message bus"/"multicast"/"IPC" in its
specification doesn't mean it's the same thing as D-BUS _at all_. It's
like saying TLS is the same as GPG because they both involve public key
cryptograpy.

For example, Spread is an entirely different architecture with entirely
different properties.

So to answer your question you would analyze the relevant properties and
create a list of differences, and ask if the differences of D-BUS are
interesting enough to justify their existence. Clearly I feel the answer
is yes.

> (ii) If you must roll your own, why not follow a standard, such as the CORBA Notification
>      Service (particularly since GNOME uses CORBA) ?

CORBA would be hard to use from a technical standpoint while retaining
the other properties of D-BUS, though you could probably use it in some
nominal "tunnel through CORBA protocol" kind of way. I don't think it
buys us anything interesting to do that.

Whatever the outcome of that discussion though: KDE will categorically
not use the CORBA API, a design requirement of D-BUS is that it's usable
by KDE, there's no point thinking about it further. Even if KDE
developers thought CORBA was a good idea, it is so different from DCOP
it would be very hard for them to migrate to. While D-BUS syncs up with
the DCOP design making it easy for them to switch over if they decide
they want to.

The open source desktop development world has substantial experience
with CORBA, so it's not like people did not consider using it (in fact
we _have_ used it, extensively, and multiple implementations of it
even).

The bottom line is: if someone thinks they can achieve the same goals as
D-BUS without reinventing any wheels, in the same timeframe as D-BUS,
they are more than welcome to try! ;-)

Havoc