"Jabber is an open platform for instant messaging and a whole lot more.".
Jabber and JabberStudio are good links to understand what we're talking about, and software based on the protoco (XMPP).
Jabber.org lists and compares most of the current Jabber server implementation.
About good Jabber client software
I personnally use PSI everyday, but you might test Exodus (one of the most complete), Rhymbox or Gaim (if you need multiprotocol IM client).
"The Avalon project is an effort to create, design, develop and maintain a common framework and set of components for applications written using the Java language. "
Avalon is of the most clean software framework/tools I've ever used.
OpenIM depends on Avalon Merlin component manager. Beside its manager role, Merlin also provide a mecanism to lauch applications loaded from the network. This help the administrator to have always up-to-date and bug-fixed binary version running on his server.
Early version of OpenIM and OpenIM ancestor (JabaServer) used to deal with Avalon Phoenix component manager. OpenIM has a simplier structure than its parent and even if Phoenix is a real nice manager, it was not exactly what we needed for OpenIM. Phoenix project is now continuing under the Loom codename inside Jcontainer project. BTW, earlier work drived us to Enterprise Object Broker an application server based on Phoenix and AltRMI, that has many good key features.
"Maven is a Java project management and project comprehension tool. Maven is based on the concept of a project object model (POM) in that all the artifacts produced by Maven are a result of consulting a well defined model for your project. "
JBoss is one of the best open source (LGPL license) J2EE based application server currently available.
ActiveMQ is an excellent open implementation of MQ server (providing JMS implementation).
POMStrap a Maven2 Application Bootstrap.
XML-Persistence is a java XML-DOM to relational database mapping library build on top of Hibernate product.
XStream a very simple library to serialize objects to XML and back again (used by OpenIM for data storage).