large 1.0 items

Havoc Pennington hp at
Sun Oct 10 11:57:04 PDT 2004


We had a small BOF at the GNOME summit yesterday to discuss what remains
to get to 1.0. We skipped some of the small/easy things and focused on
the relatively large/hard tasks, and discussed how we might proceed on

No earth-shattering conclusions, but here is the list we came up with of
things that need a fairly large block of attention units:

1. Changes for DCOP/KDE support
    - exact nature of this depends on approach KDE takes for transition,
      and what problems they encounter
    - we expect it to include the "reentrancy allowed in same call 
      stack" change, where we have a unique ID for each call stack
    - includes either finishing Qt bindings in dbus CVS, or having 
      a replacement from the KDE or Trolltech hackers

2. Go through @todo/FIXME for anything that's really critical,
   such as security, and some of the thread safety items

3. The marshaling/wire-protocol change ("recursive types")
   as documented in doc/TODO; this one seems fairly 
   well-defined assuming we take the planned direction

4. The socket multiplexing change, which nobody seemed to 
   feel strongly about either way in the BOF. My view is that
   to make an informed decision yes or no we need to try 
   to design and implement to see what the new API and semantics
   would be like. If we don't do that I think we'll probably 
   stick with the Xlib model of single shared connection for 1.0.
   It will probably be very difficult to change this post-1.0.

5. The GLib bindings, to be sure they work, and so GNOME 
   can start to use D-BUS more widely.
   - because the Mono and Python bindings seem to work 
     pretty well, though, people are pretty confident the
     GLib bindings can be done reasonably
   - there's a patch or two that hasn't been applied that 
     gets the GLib bindings pretty close
   - The next GObject version is slated to include introspection/
     typelib features, so it kind of sucks to have D-BUS 
     specific introspection. GObject is moving a bit more slowly on 
     this than we'd ideally have.

6. Activation; it is currently dead simple and almost certainly
   not quite sufficient for DCOP and Bonobo replacement.
   - on the other hand, it's so simple that it's probably not *wrong*,
     just needs extension, so could be harmless in 1.0
   - still, someone looking at bonobo-activation and DCOP and hacking
     on this a bit may not hurt. I believe there's some discussion 
     in list archives as well.

In my view we could use 1 solid developer to focus on each of these

I stated that we can probably have a couple of Red Hat developers work
on this soon (have to finish our release first), and Jon Trowbridge said
Novell was likely to have someone work on D-BUS for Windows, and could
perhaps hack on one of these items at the same time.

However, that still leaves several of these tasks not covered, so right
now we're moving toward 1.0 pretty slowly.

As GNOME and KDE start to use D-BUS more widely, that may encourage more
developers to hack on it, and also get us more feedback on what needs to
change. But of course it will also make things harder to change as we
have more users.

If anyone remembers anything from the BOF that I forgot, feel free to
follow up.


More information about the dbus mailing list