The Insidious Big Brother Database
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
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:
- Names of many commands and variables have been changed. This means
many of your customizations may not work.
- A database from BBDBv3 cannot be used with BBDBv2 - there is no way
to roll back your BBDB file format changes.
- Xemacs is not supported.
Therefore, the rest of this page will be kept around "in state" at least
till these issues are addressed to some extent.
get the bbdb
| mailing lists
| 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!
- 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.
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
- 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
- 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
- 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.
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:email@example.com:/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:firstname.lastname@example.org:/cvsroot/bbdb checkout bbdb
cvs -d :pserver:email@example.com:/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
-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.
To retrieve version 1.90, use the following argument:
unoff should be appended to the
above word for all versions prior to 2.00.
To retrieve version 2.34, use the following argument:
You may browse HTML version of the texinfo
manual that accompanies BBDB, which is generated by
There are two mailing lists for the BBDB:
To subscribe to either mailing list, send mail to
- 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
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
- Announcements of new BBDB versions. This list is moderated, and
has very low volume.
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!
- Alex Schroeder
has done some work on address
formats and pine/mailrc integration. He's also responsible for
making BBDB handle non-US addresses a lot better.
Küpper has done some work on
bbdb-print, which is now in CVS.
- Thomas DeWeese wrote a PilotManager plugin
called SyncBBDB, and also implemented the
multiple-same-name-records support. SyncBBDB is now
maintained by Aaron Kaplan.
- Noah Friedman is
currently maintaining jwz's bbdb-pilot.el.
Schwenke has written some code to export BBDB records to a Nokia
phone via gnokii. You can find
it at Martin's web
- Aldo Valente has
done some work on making SyncAB (from PilotManager) work with
Beggy has managed to get BBDB working with Mew, a mailreader
with Japanese language support. There's a bbdb-mew.el on his page
which should probably make it into the official tree at some
- Nix has some
expiry code for BBDB which allows you to automatically discard old
is some code by Steffen Liebergeld to migrate lbdb data to bbdb.
bits subdirectory in the source tree contains
random bits and pieces that I've collected but not
integrated, including a generic export filter of sorts and PGP and
Outlook integration/interaction. Please note that at least some of
this hasn't been modfied to work with versions later than
Robert Widhopf-Fenk (based on
Waiders and Matt Simmons' BBDB page)