jYMSG
YMSG Java API - Yahoo Instant Messenger Support for Java
Rival Libraries and APIs.

Perhaps jYMSG isn't quite what you're looking for? Take a look at these other Open Source projects:

Libyahoo 2, a popular C-based implementation of YMSG.
Hamsan, a multi-protocol messaging API in Java.

Libyahoo 2 is usually a couple of paces ahead of other libraries, including this one. The source code is ANSI standard, so will build on a wide range of platforms - although naturally each platform requires its own binary. Libyahoo2 isn't Object Orientated, nor does it seek to internalise as much of the protocol functionality as possible. For that reason there is a lot more work involved in using this library over, say, jYMSG. (Its worth noting, however, that it is logistically (and politically!) a lot easier for native code clients to support platform restricted 'add-ons', like voice chat for example, via other native libraries. JNI can be used to add these features to a jYMSG-based client, but only at the expense of platform neutrality.)

Hamsam seeks to provide a single Java API for accessing any number of instant messaging protocols. At the time of writing only MSN and Yahoo! are supported. Were as jYMSG focuses on only one protocol, and seeks to provide comprehensive access to as much of its functionality as possible, Hamsam attempts to create a level playing field across all protocols. (This is not unlike using Java versus native code - where Java coders sacrifice the ability to access platform-specific features in return for being able to write platform independent code.) In the end, the choice whether to use Hamsam or jYMSG comes down to whether you feel you need full access to the protocol - if not then you might want to take a look at this rival package. (Note: I've not used Hamsam personally, so cannot comment on how it measures up technically against jYMSG.)