Kadu is a free and open source multi-platform instant messaging client that supports Gadu-Gadu, XMPP IM networks and other services based on XMPP like Google Talk and Facebook Chat. It is written in C++ using Qt Framework, and released under the GNU General Public License.
First version of Kadu was created in 2001 by Tomasz Jarzynka as a simple KDE API exercise. It started to be a non-official Gadu-Gadu client for Linux and other Unices (and MacOS X) due to lack of a official client for these platforms. Version 0.9.0 of Kadu was almost complete rewrite of code to expand it into a multiprotocol messaging program.
Since version 0.9.0 Kadu supports two instant messaging protocols: Gadu-Gadu and XMPP. Support for Gadu-Gadu is provided by libgadu, a library written in C using reverse engineering methods. Implementation of XMPP protocol is based on libiris, which is a network library initially developed for PSI XMPP client.
Kadu architecture relies highly on plugins. Official distribution contains over 40 plugins maintained by Kadu developers. They provide many features, from basic ones like support for network protocols and integration with various desktop environments, to more sophisticated like integration with media player software or SMS gateway capabilities.