This article needs to beupdated. The reason given is: most of the sources cited by this article are over ten years old and it's unclear how true most of this information still is as of 2024. Please help update this article to reflect recent events or newly available information.(August 2024)
Pidgin (formerly namedGaim) is afree and open-sourcemulti-platforminstant messaging client, based on alibrary namedlibpurple that has support for many instant messagingprotocols, allowing the user to simultaneously log in to various services from a single application, with a single interface for both popular and obsolete protocols (fromAIM toDiscord), thus avoiding the hassle of having to deal with new software for each device and protocol.
As of 2007[update], the number of Pidgin users was estimated to be over three million.[4]
The program was originally written byMark Spencer, anAuburn University sophomore, as an emulation of AOL's IM programAOL Instant Messenger on Linux using theGTK+ toolkit.[6] The earliest archived release was on December 31, 1998.[7] It was namedGAIM (GTK+ AOL Instant Messenger) accordingly. The emulation was not based onreverse engineering, but instead relied on information about the protocol that AOL had published on the web. Development was assisted by some of AOL's technical staff.[6][8] Support for other IM protocols was added soon thereafter.[6]
On 6 July 2015, Pidgin scored seven out of seven points on theElectronic Frontier Foundation's secure messaging scorecard.[9] They have received points for having communications encrypted in transit, having communications encrypted with keys the providers don't have access to (end-to-end encryption), making it possible for users to independently verify their correspondent's identities, having past communications secure if the keys are stolen (forward secrecy), having their code open to independent review (open source), having their security designs well-documented, and having recent independent security audits.[9]
Pidgin 3.0.0 Experimental 1 was announced and subsequently released[10] on December 31, 2024 after many years of slow[11] development. This version was tagged as a 2.90[12] because developers wished to separate experimental releases from a full proper release in the future. This version brought many API-breaking changes, which is why it was shipped only with one protocol plugin supporting IRC. The development team has stated that other protocols plugins will be available later pending their re-implementation, and that future experimental releases will follow a three-month cadence.
In response to pressure fromAOL, the program was renamed to theacronymous-but-lowercasegaim. As AOL Instant Messenger gained popularity, AOL trademarked its acronym, "AIM", leading to a lengthy legal struggle with the creators of GAIM, who kept the matter largely secret.[13]
On April 6, 2007, the project development team announced the results of their settlement with AOL, which included a series of name changes:Gaim becamePidgin,libgaim becamelibpurple, andgaim-text (thecommand-line interface version) becameFinch. The name Pidgin was chosen in reference to the term "pidgin", which describes communication between people who do not share a common language.[14] The name "purple" refers to "prpl", the internal libgaim name for an IMprotocolplugin.[15]
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.[16] However, Pidgin 2.0 was not released as scheduled; Pidgin developers announced on April 22, 2007, that the delay was due to the preferences directory ".gaim".[17]
Pidgin 2.0.0 was released on May 3, 2007. Other visual changes were made to the interface in this version, including updated icons.[18]
The program is designed to be extended withplugins. Plugins are often written bythird-party developers. They can be used to add support for protocols, which is useful for those such asSkype orDiscord which have licensing issues (however, the users' data and interactions are still subject to their policies and eavesdropping). They can also add other significant features. For example, the "Off-the-Record Messaging" (OTR) plugin providesend-to-end encryption.
The TLS encryption system is pluggable, allowing different TLS libraries to be easily substituted.GnuTLS is the default, andNSS is also supported. Some operating systems' ports, such asOpenBSD's, choose to useOpenSSL orLibreSSL by default instead.
Contacts with multiple protocols can be grouped into one single contact instead of managing multiple protocols, and contacts can be given aliases 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 calledBuddy Pounces to automatically reach the user in customizable ways.
As of version 2.6 (released on August 18, 2009), Pidgin supports voice/video calls usingFarstream.[20] As of July 2015[update], calls can only be initiated through the XMPP protocol.[21]
Some XMPP servers providetransports, which allow users to access networks using non-XMPP protocols without having to install plugins or additional software. Pidgin's support for XMPP means that these transports can be used to communicate via otherwise unsupported protocols, including not only instant messaging protocols, but also protocols such as SMS or E-mail.
As observed by Wired in 2015, the libpurple codebase is "known for its bountiful security bugs".[35] In 2011, security vulnerabilities were already discovered in popular OTR plugins using libpurple.[36]
As of version 2.4 and later, the ability to manually resize the text input box of conversations was removed. This led to afork, Carrier (originally named Funpidgin).[37][38][39]
Passwords are stored in aplaintext file, readable by any person or program that can access the user's files. Version 3.0 of Pidgin (no announced release date)[40] will support password storage in system keyrings such asKWallet and theGNOME Keyring for Linux,Keychain for macOS, and winCred API for Windows.[41][42]
Pidgin does not currently support pausing or reattempting file transfers.[43][44][45]
Pidgin does not allow disabling the group sorting on the contact list.[46]
^Crawford, J. (1999)."User Guide". marko.net. Archived fromthe original on May 8, 1999. RetrievedOctober 15, 2011.As of now, the most recent sources are here[1](the file date is December 31, 1998){{cite web}}:External link in|quote= (help)
^"Important and Long Delayed News". pidgin.im. April 6, 2007. Archived fromthe original on April 8, 2007. RetrievedOctober 15, 2011.Now that the settlement is signed, we hope to have the final Pidgin 2.0.0 release late this week or early next.