Pidgin 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. Pidgin is widely used for its
Off-the-Record Messaging 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. History
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. The earliest archived release was on December 31,
1998. It was named GAIM 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. Support for other IM protocols was added soon thereafter.
As of 6 July 2015, Pidgin scored seven out of seven points on the Electronic
Frontier Foundation's secure messaging scorecard. They have received points for
having communications encrypted in transit, having communications encrypted
with keys the providers don't have access to, making it possible for users
to independently verify their correspondent's identities, having past
communications secure if the keys are stolen, having their code open to
independent review, having their security designs well-documented, and
having recent independent security audits.
= 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. 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. 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 directory ".gaim".
Pidgin 2.0.0 was released on May 3, 2007. Other visual changes were made to
the interface in this version, including updated icons.
Features Pidgin provides a graphical front-end
for libpurple using GTK+. 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. = Pluggability =
The program is designed to be extended with plugins. Plugins are often written
by third-party developers. 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" 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 = 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, 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, Pidgin supports voice/video calls using Farstream. As of
July 2015, calls can only be initiated through the XMPP protocol.
= Miscellaneous = Further features include support for
themes, emoticons, spell checking, and notification area integration.
= Supported protocols = The following protocols are officially
supported by libpurple 2.9.0, without any extensions or plugins:
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, Telegram, QQ, Skype via skype4pidgin plugin, WhatsApp and the
Xfire gaming network. = Plugins =
Various other features are supported using third-party plugins. Such features
include: End-to-end encryption, through
Off-the-Record Messaging Notifications
Showing contacts what you are listening to in various media players
Adding mathematical formulas written in LaTeX to conversations
Skype text chat via skype4pidgin plugin Watching videos directly into your
conversation when receiving a video sharing website link
Criticisms 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 will support password storage in system keyrings such
as KWallet and the GNOME Keyring. Pidgin does not currently support
pausing or reattempting file transfers. 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. Pidgin does not allow disabling the
group sorting on the contact list. Other notable software based on
libpurple Adium and Proteus
Meebo Telepathy Haze
QuteCom Instantbird
BitlBee and Minbif are IRCd-like gateways to multiple IM networks, and
can be compiled with libpurple to increase functionality.
See also References
External links Official website