opimd is a PIM suite for FSO. It can be used as a backend to PIM tools with GUI to have unlimited storage space for contact details, SMS's, calendar items and so on. It will also allow all apps using opimd to have access to the same information.
The main developer of opimd is dos1. You can find him at IRC on #openmoko-cdevel freenode channel.
If you're interested in opimd and need assistance, check http://lists.openmoko.org/pipermail/community/2009-May/048064.html
"Contacts" domain is almost fully implemented and checked to work. Everything should work now, you can only get problems with playing to much with Update() method (adding new fields when backend which stores contacts doesn't support it, removing fields etc.) Available backends: SIM, CSV and SQLite.
"Messages" domain is under development now. At the moment only querying messages (which are merged when you have long, split messages) stored on SIM is supposed to work.
Reference client implementation
pim.py  is general script which can be used for testing, and to understand how it's done (code) :) ATM it supports querying, adding, editing and deleting contacts, and querying messages. I hope --help say everything about usage :)
- opimd-resolve.py  is simple script which can resolve given in arguments phone numbers to names from contacts.
- pimm-gui.py  is ATM some kind of playground. It displays messages in elementary Bubbles. It is going to be opimd feeded chat-style messages app.
At the moment SIM backends has to be inited manually. You can do it by InitAllSources method ("./pim.py c init" or "./pimm-gui.py init")