# Introduction

D-Bus is a message bus system, a simple way for applications to talk to one another.

D-Bus supplies both a system daemon (for events such as "new hardware device added" or "printer queue changed") and a per-user-login-session daemon (for general IPC needs among user applications). Also, the message bus is built on top of a general one-to-one message passing framework, which can be used by any two apps to communicate directly (without going through the message bus daemon). Currently the communicating applications are on one computer, but TCP/IP option is available and remote support planned.

The D-Bus API isn't finished yet, and the design is by no means set in stone. One of our main goals is for lots of projects to use it, so if you wouldn't use it, by all means mail us and say why - design, licensing, indentation style, we would rather know than not know.

D-Bus' only required dependency is an XML parser (either libxml or expat). D-Bus includes many language bindings to the D-Bus system, if you want to build those. The list of projects using D-Bus is growing and they provide a wealth of examples of using the various APIs to learn from.

Trying out D-Bus in sample applications is encouraged - we want to get it widely used and tested. It should be working pretty well these days, and when it isn't bug reports are very welcome.

For more information on D-Bus, see http://www.freedesktop.org/wiki/Software/dbus.