D-Bus 1.0 ("Blue Bird"), the Freedesktop.org inter-process messaging system has just been released. A collaborative effort between industry and open source developers, D-Bus was created to allow arbitrary applications to easily communicate with each other and exchange data. An additional system daemon allows for communication with system services. D-Bus is known to work on all Unix platforms and has also been ported to Mac OS X, while a Windows port is in progress. This makes D-Bus the ideal messaging system for KDE 4.
This first D-Bus major-release will maintain backwards protocol compatibility throughout its entire lifecycle and, just like KDE, its library will maintain API and ABI compatibility until the next major release. The low level library is toolkit agnostic and only depends on an external XML library but many bindings to higher-level toolkits are available, such as Java, glib and Python.
The Qt bindings are available as part of Qt since version 4.2.
"We're hoping that the Qt bindings to D-Bus will allow application and library developers to easily extend their software into this world of exchange of information", says KDE developer Thiago Macieira, who worked extensively on QtDBus at Trolltech. "We've designed the API under the familiar Qt style and we've made it similar to what KDE developers already knew in DCOP, so as to make the transition easier".
D-Bus-Maintainer John Palmieri adds: "The high quality of the Qt4 D-Bus bindings shows how flexible D-Bus is in fitting into native environments. In turn the participation of the Qt4 binding team in the development of D-Bus 1.0 has helped bring this release to a quality that would not have been achieved without their involvement".
While KDE 3 already uses D-Bus to talk to HAL and Avahi, in KDE 4, D-Bus has completely replaced DCOP as the IPC System of choice for KDE. Its use is also growing, with Kopete recently announcing the initial support for Telepathy/Tapioca, via D-Bus, and the accessibility developers studying using it too.
"I really consider this release as a major milestone for KDE 4, since we're now using it everywhere", says Solid developer Kévin Ottens. "Having strong guarantee about compatibility is really important for an IPC system like this, and that's exactly what D-Bus 1.0 offers us". D-Bus serves as infrastructure for Solid to communicate with system services.