Pidgin is a GTK2-based instant messenger application. It supports multiple protocols via modules, including AIM, ICQ, Yahoo!, MSN, Jabber, IRC, Napster, Gadu-Gadu and Zephyr. It has many common features found in other clients, as well as many unique features. Pidgin is not endorsed by or affiliated with AOL TimeWarner, Microsoft, or Yahoo.
icqlib is the most feature complete, open source, library implementation of Mirabilis' ICQ protocol available on the Internet. It currently supports most of the ICQ UDP v5 and ICQ TCP v2 protocols, including new UIN registration, chat, and file transfer. It was written in C for portability, and supports multiple simultaneous connections to ICQ servers, SOCKS5 firewalls for both UDP and TCP protocols, an event-driven, non-blocking interface, and the Russian language (automatically performs conversion from Windows 1251 encoding to Unix koi8 encoding).
Licq includes all the basic features of ICQ, like sending/receiving messages, chat, file transfer, contact list with pixmaps and user status, basic/extended user info, adding/editing users from within the GUI, user history, user groups, and new user registration. All commands and information are available through a simple and convenient tab dialog. Licq also has a completely configurable user interface with Skin and Icon pack support. It is written in C++ and comes with a GUI plugin using the Qt widget set. Other plugins are also available, like basic MSN support.
climm (CLI-based Multi-Messenger) is a portable, small, yet powerful console-based ICQ and XMPP client. It supports password changing, auto-away, creation of new accounts, and other features that makes it a very complete yet simple client. It is able to send and receive messages from the ICQ network, list users that are offline and online (including their online status), search for users by email address, and look up basic (name, UIN, email) information. climm was formerly known as mICQ.
l2mICQ is a Perl-script intended for users switching from Licq to mICQ and vice versa. It pays attention to the flags "visible to user" and "ignore user", and has the ability to only show the difference between both contact lists. This script works for mICQ versions prior to v0.5.