head The Insidious Big Brother Database head

Fri Aug 10 2012: After years of stagnation BBDB is again finding a lot of developer love. Roland Winkler has stepped up to the task of taking BBDB forward with a pretty extensive rewrite, already known to the world as BBDBv3 - which is usable, but alpha quality, code today (but no official release yet). Development is no longer hosted on Sourceforge, so head over to the Official Project Page on Savannah to learn all about the exciting bleeding edge of BBDB, and grab a copy to try it for yourself.

While v3 is a massive rewrite, most concepts of the user interface have been preserved (plus many new concepts have been added to make BBDB yet more powerful) and v3 will transparently convert a BBDB database from v2 into a slightly modified database file format on startup. However, beyond that v3 is not backwards compatible with v2. The list of things that you should be aware of include, but are not limited to: Therefore, the rest of this page will be kept around "in state" at least till these issues are addressed to some extent.

Quicklinks: get the bbdb | mailing lists | links | manual | FAQ | project home | freshmeat entry

What is The Insidious Big Brother Database?

The Insidious Big Brother Database (BBDB) is a contact management utility created by Jamie Zawinski for use with Emacs. For many years it was maintained by Waider. Since February 2007 BBDB is maintained by Robert Widhopf-Fenk.

It is tightly integrated with several mail and news readers (see below), allowing it to create database entries directly from mail and news messages. As is usual with applications for Emacs, this record creation can be configured in many ways, ranging from a boolean create/don't create setting to creation based on the result of a user-supplied function.

Database records can be used to store many types of information, from name and address to URLs and X-Face images. This information can be displayed when a message from an entity named in a database record is recieved. In addition, messages from database members can be tagged in the Gnus Summary Buffer, and Gnus scoring can be configured based on the contents of database records. Supercite citations can even be preset through the use of records in the BBDB.


Supported versions of Emacs

Starting with 2.35 there is no active support for Emacsens < 21.4!
Gnu Emacs
versions 21.4 and above
versions 21.4 and above

Supported Mail and News readers

The BBDB can be used without a mail- or news-reader. It has, however, been optimized for use with one.

Getting the BBDB

BBDB 2.35 is the current stable released version, released on January 30, 2007.

The current development version, 2.36, is the head of the CVS tree. If you wish to try it out, you should check it out with CVS as described below.

Compilation notes:

  1. BBDB uses autoconf to generate its Makefiles, so it should work anywhere that autoconf works. The tarballed version comes with prebuilt configure script and Makefiles; the CVS version will require you to use autoconf to generate the configure script. If you don't have autoconf, you can get download a prebuilt configure script. Please note that the Makefiles in the tarball are built using the defaults, i.e. Emacs to compile with and no extra directories specified.
  2. Texinfo 3.11 (or later) is required to compile the texinfo documentation. It is available at the GNU FTP site. Precompiled info files are included in the tarball. Some work has been done by ShengHuo ZHU to make this unnecessary.
  3. Building on platforms without make or running BBDB uncompiled can be assisted by downloading a prebuilt bbdb-autoloads.el. A make.bat for Windows platforms is in the works; see the mailing list archives for more details.

CVS tree

The development and release versions are available via Anon-CVS to the CVS tree at bbdb.cvs.sourceforge.net. To access the tree, log in with the following command:

cvs -d :pserver:anonymous@bbdb.cvs.sourceforge.net:/cvsroot/bbdb login
The password is blank; just hit return at the prompt.

To check out a version of the BBDB, use one of the following commands:
cvs -d :pserver:anonymous@bbdb.cvs.sourceforge.net:/cvsroot/bbdb checkout bbdb
cvs -d :pserver:anonymous@bbdb.cvs.sourceforge.net:/cvsroot/bbdb checkout -r rev bbdb

The first command will check out a copy of the latest version. Usually this latest version will be a development version, but it may fetch a release version if the command is executed soon enough after a release version is made available.

The second command allows control of the version retrieved, through the -r rev argument. The rev portion of the argument should be replaced with a word of the form:


x and yy are components of the version to be retrieved, as in x.yy. Note: unoff should be appended to the above word for all versions prior to 2.00.

To retrieve version 1.90, use the following argument:
-r BBDB_1_90unoff
To retrieve version 2.34, use the following argument:
-r BBDB_2_34


You may browse HTML version of the texinfo manual that accompanies BBDB, which is generated by texi2html.

Mailing Lists

There are two mailing lists for the BBDB:

General discussion about the BBDB, both for users and developers. The archive for mails up to end of April 2000 can be found at http://www.mail-archive.com/bbdb-info%40xemacs.org/. Since April 2000 mails are archived at http://www.mail-archive.com/bbdb-info%40lists.sourceforge.net/.

SourceForge has built-in archiving which didn't initially seem to be working, but is apparently okay now. You can find this linked off the project home on SourceForge.

Announcements of new BBDB versions. This list is moderated, and has very low volume.
To subscribe to either mailing list, send mail to listname-request@lists.sourceforge.net with subscribe as the body. You will receive a reply requesting confirmation of your subscription; return the confirmation as described in the email, and you're on the list. Alternatively you can visit the list signup page, linked from the project page.


Several people have been hacking at BBDB and have pages describing what they're at. Please check which version of BBDB they apply to before attempting to use them!

Robert Widhopf-Fenk (based on Waiders and Matt Simmons' BBDB page)

Hosted by