Pidgin (formerly named Gaim) is a multi-platform instant messaging client. The software has limited support for many commonly used instant messaging protocols, allowing the user to log into various different services from one application.
The number of Pidgin users was estimated to be over 3 million in 2007.
Released under the terms of the GNU General Public License, Pidgin is free software.
Pidgin supports multiple operating systems, including Windows as well as many Unix-like systems such as Linux, BSD, and AmigaOS (through the X11 engine). It is notable for its support for multiple instant messaging protocols. It has built-in support for NSS, offering client-to-server message encryption for protocols that support it. The program is extendable through plugins, including "Off-the-Record Messaging" and Pidgin encryption, providing end-to-end message encryption.
Pidgin features some of the standard tools for an instant messaging client, such as tabbed conversations, a Contact list, file transfer on supported protocols, and conversation and chat logging.
Tabbed conversations is an optional feature on Pidgin. The IM window consists of the message window, formatting tools, and an edit box.
Contacts (usually known as "Buddies") are added by the "Buddy List" window or by the IM window. As a client that supports IRC and other chat programs, it can also add different IRC channels and IM Chats. Contacts with multiple protocols can be grouped into one single contact instead of managing multiple protocols and contacts can be given aliases as well or placed into groups.
To reach users as they log on or a status change occurs (such as moving from "Away" to "Available"), Pidgin supports on-action automated scripts called Buddy Pounces to automatically reach the user in customizable ways.
Pidgin supports some file transfers, with the ability to pause, resume, and cancel transfers and observe multiple transfers in a separate window, lacking more advanced features like folder sharing from Yahoo. However, when used through the MSN protocol, file transfers are slow, as data is routed through MSN servers to the receiver, instead of utilizing a faster peer-to-peer functionality. A Google Summer of Code project aimed to add peer-to-peer functionality in 2007. Support for MSNP15 was added in version 2.5.0 but did not include support for peer-to-peer transfers.
Further features include support for themes, emoticons, spell checking and notification area integration.
Various other protocols and features are supported using third party plugins.
The program was originally written in or before 1999 by Mark Spencer, an Auburn University sophomore, as an emulation of AOL's IM program AOL Instant Messenger on Linux using the GTK+ toolkit. It was named GAIM (GTK+ AOL Instant Messenger) accordingly. The emulation was not based on reverse engineering, but instead relied on information about the protocol that AOL had published on the web; development was also assisted by some of AOL's technical staff. Support for other IM protocols were added soon after.
In response to pressure from AOL
, the program was renamed to the acronymous-but-lowercase gaim
. As AOL Instant Messenger gained popularity, AOL trademarked its acronym, "AIM", leading to a lengthy legal struggle with the program's creators, who kept the matter largely secret.
On April 6 2007, the project development team announced the results of their settlement with AOL, which included a series of name changes: Gaim became Pidgin, libgaim became libpurple, and gaim-text became finch. The name Pidgin was chosen in reference to the term "pidgin", which describes communication between people who do not share a common language. It also harks back to its original name, as the pigeon bird is a popular game bird and messenger. The name "purple" refers to "prpl", the internal libgaim name for an IM protocol plugin.
Due to the legal issues, version 2.0 of the software was frozen in beta stages. Following the settlement, it was announced that the first official release of Pidgin 2.0.0 was hoped to occur during the two weeks from April 8, 2007. However, Pidgin 2.0 was not released as scheduled; Pidgin developers announced on April 22, 2007 that the delay was due to the preferences folder ".gaim".
Pidgin 2.0.0 was released on May 3, 2007. This was the first release version to be called Pidgin, and contained a completely new graphics design.
- Due to the Pidgin project's use of reverse-engineering to interact with some proprietary protocols, there are disparities in functionality between official clients and the Pidgin client.
- Passwords are stored in a cleartext file. This password file is readable by anyone who uses the same user account on that computer, or to anyone who has access to the administrative account. (The developers' stated reason for this is that saved passwords must be stored in a way that is readily accessible to the program. If they were encrypted by the application, decryption by third parties would require only access to the application's source code, including any encryption key. The developers believe that saving the passwords in a cleartext format avoids a false illusion of security.) A Google Summer of Code 2008 project has been approved for the Pidgin project to help address this issue by allowing libpurple to read passwords from external password safes. (e.g. GNOME Keyring, Kwallet, or Apple keychain)
- Pidgin does not currently support video and audio conferencing, nor any form of audio/video communication. Parallel development was planned with the uncompleted gaim-vv library but the project has been declared dead by the developers. The developers plan on implementing multimedia messaging in the future. A Google Summer of Code project for 2008 attempted to provide this support and development continues using Farsight2.
- Pidgin does not currently support its own skins, though its sister project Adium does. Despite that, the underlying GTK+ runtime has a theme selector. The theme selector may or may not be available when installing Pidgin with GTK+ for Windows, although separate GTK+ installs usually provide it in its Programs menu.
- As of version 2.4 and later, the ability to manually resize the text input box of conversations has been altered - it now automatically resizes between a number of lines set in 'Preferences' and 50% of the window depending on how much is typed. Some users find this an annoyance rather than a feature and find this solution unacceptable, this led to the development of Carrier.
- The designers have refused to include a feature to allow sending IMs to multiple recipients. The designers claim this is due to their anti-spam philosophy.
- Adium and Proteus are instant messaging clients for Mac OS X that support multiple protocols through libpurple.
- Carrier is a fork of Pidgin which aims to provide features that have not been addressed by the Pidgin development team.
- Finch is a console-based IM program that is part of the pidgin project.
- ScatterChat is an encrypted instant messaging client based on Pidgin.
- MeBeam has developed a video conferencing plugin for Pidgin.
- Meebo is a multi-protocol web-based instant messaging client that uses libpurple.
- PhoneGaim is a SIP-based Voice over IP communications client; it is based on Pidgin and thus is also available under the GPL.
- QuteCom (formerly OpenWengo) is a hybrid SIP-based VoIP and Instant messaging client which uses libpurple for messaging support.