OpenIM is a Java implementation of a Jabber server. It is a complete rewrite of the Jaba Server project, and it supports the Jabber server to server communication protocol. It also supports Presence, Message, and Roster. Persistent storage is done in an XML file using XStream lib. It has been tested successfully with many clients such as Exodus, Rhymbox, GAIM, Psi, Greenthumb, and the Kopete.
SDBA Revolution is an open-source architecture written in Perl which simplifies and streamlines the process of writing applications that run on an instant messaging network. It features easy scripting of IM responses, session variables which are consistent across messages, session time limits, support for multiple "apps" from one bot, basic security, the ability to use multiple access lists, and capabilities to allow external application integration. It makes writing IM apps very much like writing mod_perl or PHP pages. It currently supports AIM, MSN, ICQ, YIM, and Jabber. The homepage has full tutorials and documentation.