Barry

License: 
LGPL/GPL
Platform: 
GNU/Linux, BSD

Linux users who also use a BlackBerry ™ now have an option for managing their BlackBerry directly from Linux. Barry is an Open Source application that will provide synchronization, backup, restore and program management for BlackBerry ™ devices. Barry is primarily developed on Linux, but is intended as a cross platform library and application set, targeting Linux, BSD, 32/64bit, and big/little endian systems.

Overview

The Barry project began in October 2005 and has steadily added features and polish to Blackberry usage on Linux ever since. We were the first to reverse engineer the battery charging handshake via USB.

Today, it is possible to:

  • charge your Blackberry's battery from your USB port
  • parse the following database records: Address Book, Browser Bookmarks, Calendar, Content Store, Folders, Memos, Messages (Email), Phone Call Logs, PIN Messages, Saved Email, Service Book, SMS messages, Tasks, Time Zones
  • create the following database records: Address Book, Calendar, Content Store, Memos, Tasks
  • export Address Book contacts in text, LDAP LDIF format, or as MIME vCards
  • import data in MIME vCard, vEvent, vJournal, and vTodo formats
  • make full data backups and restores of your device using a GUI
  • synchronize contact, calendar, memo, and task items using the OpenSync framework (memos and tasks require the development OpenSync libraries)
  • use the Blackberry as a modem
  • install and manage Java applications from the command line
  • take screenshots of your device
  • set the device time from the command line
  • use raw channel support to communicate with BlackBerry applications
  • ... and more

Status

  • Latest release: 0.17.1, released on 2011/03/03
  • License: GPL v2 or later
  • Download official source and binary packages from Sourceforge
  • General Sourceforge project page
  • Barry git repo
  • Additional binary packages for the following distributions are available from various volunteers. Note that these packages may already be available in your distro of choice, using the normal package managers.
  • Known Issues:
    • International characters in calendar and contact records cause some devices to switch to a different low-level protocol, which Barry does not yet support.
    • Restoring backups for some databases on newer Blackberries doesn't work (for example, on the 8120, 8700g)
    • Syncing is not supported on Fedora Core 9 or 10, since they packaged the OpenSync 0.3x devel tree (experimental support for the latest opensync SVN tree is included with a new plugin). This has been fixed in Fedora 11, as they returned to version 0.22.

Getting Started

How do I...

Some helpful pages:

How to Help

If you are a C++ programmer, grab the source from git and take a look at the TODO file. Post a message to the mailing list when you start working on any of the listed features, so you can connect with other developers, and avoid duplicating effort.

If you are a Python programmer, contact the mailing list, since we would like to create and test a Python interface to the Barry library.

If you are not a programmer, but have a Blackberry, we can always use help in testing. Install Barry on your system, and report any bugs you find.

If you prefer writing documentation, grab the source from git and look under the doc/www directory. Documentation is currently in html form, as well as doxygen-generated API documentation found in the comments of the source code itself. Patches updating either set of documentation are welcome.

There are dozens of databases that need to be documented and supported in the library. If you have a BlackBerry ™ device and are interested in helping decipher data, we have a Barry hacking document that will help you.

If you are interested in the low level USB protocol, you can download, or contribute, USB logs to the USB capture log archive .

Design

If you are interested in helping out or just interested in how it works, check out our design notes .

Roadmap

We have put together a document that describes where we are and where we want to take Barry. Check out our roadmap to see what's happening.

External Links

Barry users and others have contributed documentation and have put these howto's on the web. Below is a list of some of these pages. These sites are not associated with NetDirect, and some of the information may be out of date, but they may still be helpful to new users.