Pidgin (software)

Pidgin (software)

Pidgin logo
Initial release 1998 as Gaim
Stable release 2.10.11 (November 23, 2014 (2014-11-23))
Preview release None
Written in C (C#, Perl, Python, Tcl are used for plugins)
Platform Cross-platform
Available in Multiple languages
Type Instant messaging client
License GPL
Website .impidgin

Pidgin (formerly named Gaim) is a free and open-source multi-platform instant messaging client, based on a library named libpurple that has support for many instant messaging protocols, allowing the user to simultaneously log into various services from one application.

The number of Pidgin users was estimated to be over three million in 2007.[1]

Pidgin is widely used for its Off-the-Record Messaging (OTR) plugin, which offers end-to-end encryption. For this reason it is included in the privacy- and anonymity-focused operating system Tails. Chelsea Manning used it when leaking documents that would later be hosted by Wikileaks.[2]


  • History 1
    • Naming dispute 1.1
  • Features 2
    • Pluggability 2.1
    • Contacts 2.2
    • File transfer 2.3
    • Voice and video chat 2.4
    • Miscellaneous 2.5
    • Supported protocols 2.6
    • Plugins 2.7
  • Criticisms 3
  • Other notable software based on libpurple 4
  • See also 5
  • References 6
  • External links 7


Gaim 2.0.0 beta 6 running under GNOME 2.16.0

The program was originally written by Mark Spencer, an Auburn University sophomore, as an emulation of AOL's IM program AOL Instant Messenger on Linux using the GTK+ toolkit.[3] The earliest archived release was on December 31, 1998.[4] 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 assisted by some of AOL's technical staff.[3][5] Support for other IM protocols was added soon thereafter.[3]

As of 6 July 2015, Pidgin scored seven out of seven points on the Electronic Frontier Foundation's secure messaging scorecard.[6] 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.[6]

Naming dispute

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 creators of GAIM, who kept the matter largely secret.[7]

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.[8] The name "purple" refers to "prpl", the internal libgaim name for an IM protocol plugin.[9]

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.[10] 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".[11]

Pidgin 2.0.0 was released on May 3, 2007. Other visual changes were made to the interface in this version, including updated icons.[12]


Pidgin running on Ubuntu

Pidgin provides a graphical front-end for libpurple using GTK+.[13] Libpurple supports many instant-messaging protocols.

Pidgin supports multiple operating systems, including Windows and many Unix-like systems such as Linux, the BSDs, and AmigaOS. It is included by default in the operating systems Tails and Xubuntu.


The program is designed to be extended with plugins. Plugins are often written by third-party developers (developers not associated with the project). They can be used to add support for protocols, which is useful for those such as Skype which have licensing issues. They can also add other significant features. For example, the "Off-the-Record Messaging" (OTR) plugin provides end-to-end encryption.

The TLS encryption system is pluggable, allowing different TLS libraries to be easily substituted. GnuTLS is the default, and NSS is also supported. Some operating systems' ports, such as OpenBSD's, choose to use OpenSSL or LibreSSL 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 called Buddy Pounces to automatically reach the user in customizable ways.

File transfer

Pidgin supports file transfers for many protocols. It lacks some protocol-specific features like the folder sharing available from Yahoo. Direct, peer-to-peer file transfers are supported over protocols such as XMPP and MSN.

Voice and video chat

As of version 2.6 (released on August 18, 2009), Pidgin supports voice/video calls using Farstream.[14] As of July 2015, calls can only be initiated through the XMPP protocol.[15]


Further features include support for themes, emoticons, spell checking, and notification area integration.[16]

Supported protocols

The following protocols are officially supported by libpurple 2.9.0, without any extensions or plugins:[17]

Some XMPP servers provide transports, 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.

Additional protocols, supported by third-party plugins, include Microsoft OCS/LCS (extended SIP/SIMPLE),[18] Telegram,[19] QQ,[20] Skype via skype4pidgin plugin,[21] WhatsApp[22] and the Xfire gaming network (requires the Gfire plugin).[23]


Various other features are supported using third-party plugins.[24] Such features include:


  • Passwords are stored in a plaintext file, readable by any person or program that can access the user's files. Version 3.0 of Pidgin (no announced release date)[25] will support password storage in system keyrings such as KWallet and the GNOME Keyring.[26]
  • Pidgin does not currently support pausing or reattempting file transfers.[27][28][29]
  • As of version 2.4 and later, the ability to manually resize the text input box of conversations was removed. This led to a fork, Carrier (originally named Funpidgin).[30][31][32]
  • Pidgin does not allow disabling the group sorting on the contact list.[33]
  • As observed by Wired in 2015, the libpurple codebase is "known for its bountiful security bugs".[34]

Other notable software based on libpurple

BitlBee and Minbif are IRCd-like gateways to multiple IM networks, and can be compiled with libpurple to increase functionality.

See also


  1. ^ "Luke Schierer discusses Pidgin, Open source and life". PC World Australia, 10 October 2007.
  2. ^ "Manning-Lamo chat logs revealed". Wired. July 13, 2011. Retrieved 2015-07-05. 
  3. ^ a b c Herper, Matthew (July 16, 2002). "Better Instant Messaging Through Linux"
  4. ^ Crawford, J. (1999). "User Guide". Archived from the original on 1999-05-08. Retrieved 2011-10-15. As of now, the most recent sources are here [2] (the file date is 1998-12-31) 
  5. ^ Spencer, Mark (1998). "GAIM: GTK+ America OnLine Instant Messenger". Original project home page. Archived from the original on February 10, 1999. 
  6. ^ a b "Secure Messaging Scorecard. Which apps and tools actually keep your messages safe?". Electronic Frontier Foundation. 4 November 2014. Retrieved 6 July 2015. 
  7. ^ "Sean Egan's Blog - The Power of Momentum (continued)". May 23, 2007.
  8. ^ "Important and Long Delayed News". April 6, 2007. Archived from the original on 2007-04-08. Retrieved 2011-10-15. 
  9. ^ "What's with the name libpurple, anyway?". Retrieved 2014-04-22. 
  10. ^ "Important and Long Delayed News". April 6, 2007. Archived from the original on 2007-04-08. Retrieved 2011-10-15. Now that the settlement is signed, we hope to have the final Pidgin 2.0.0 release late this week or early next. 
  11. ^ "Working towards 2.0.0". April 22, 2007. Archived from the original on 2007-04-25. Retrieved 2007-04-22. 
  12. ^ Egan, Sean (April 30, 2007). "Identity vs. Account Orientation". Retrieved 2007-05-01. 
  13. ^ "What Is Libpurple - Pidgin - Trac". Retrieved 2009-03-22. 
  14. ^ "Changelog". Retrieved 2009-08-22. 
  15. ^ "Voice and Video". Retrieved 2009-08-22. 
  16. ^ "About Pidgin". Retrieved 2010-09-22. 
  17. ^ Pidgin developers. "Protocol Specific Questions". Retrieved 2011-06-30. 
  18. ^ "SIPE Project". Retrieved 2012-02-29. 
  19. ^
  20. ^ "libqq". Retrieved 2011-06-14. 
  21. ^ """Skype "API Plugin for Pidgin/libpurple/Adium. Retrieved 2009-07-06. 
  22. ^ "WhatsApp on your computer: Pidgin Plugin". 
  23. ^ "Third Party Plugins". Retrieved 2009-03-02. 
  24. ^ "Pidgin Third-Party Plugins". Retrieved 2009-09-22. 
  25. ^ "Milestone 3.0.0--Pidgin". July 3, 2014. 
  26. ^ "KeyringSupport--Pidgin". July 3, 2014. 
  27. ^ "Ticket #5769 (new enhancement) - Resume broken file transfers". May 11, 2008. Retrieved 2011-10-15. 
  28. ^ "Ticket #7486 (closed enhancement: duplicate) - xdcc download-resuming-support". November 7, 2008. Retrieved 2008-12-30. 
  29. ^ "Ticket #1425 (new enhancement)- No ability to resume in IRC file transfers". May 30, 2007. Retrieved 2008-12-30. 
  30. ^ "Ticket #4986 (closed enhancement: wontfix) - automatic chat input field resizing should be optional, regression from 2.3". March 1, 2008. Retrieved 2008-03-08. 
  31. ^ Adams, Paul (April 22, 2008). "In Response to User Demand, Pidgin Forks". Archived from the original on 2008-05-19. 
  32. ^ Malda, Rob (April 30, 2008). "Pidgin Controversy Triggers Fork". Slashdot.
  33. ^ "#1325: add option to hide groups". Retrieved 2013-04-22. 
  34. ^  
  35. ^ "meebo from the backside". July 15, 2008. Retrieved 2008-10-03. 
  36. ^ "Tubes". Retrieved 2014-04-01. 
  37. ^ "Telepathy Wiki - Components". Retrieved 2012-10-11. 
  38. ^ "Instantbird:FAQ - Instantbird Wiki". 2011-02-10. Retrieved 2012-10-11. 

External links

  • Official website