Pidgin (formerly named Gaim) is a
free and open-source
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
multi-platform
In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
instant messaging client, based on a
library named libpurple that has support for many instant messaging
protocols, allowing the user to simultaneously
log in to various services from a single application, with a single interface for both popular and obsolete protocols (from
AOL
AOL (stylized as Aol., formerly a company known as AOL Inc. and originally known as America Online) is an American web portal and online service provider based in New York City. It is a brand marketed by the current incarnation of Yahoo (2017â ...
to
Discord), thus avoiding the hassle of having to deal with a new software for each device and protocol.
, the number of Pidgin users was estimated to be over three million.
Pidgin is widely used for its
Off-the-Record Messaging
Off-the-Record Messaging (OTR) is a cryptographic protocol that provides encryption for instant messaging conversations. OTR uses a combination of AES symmetric-key algorithm with 128 bits key length, the Diffie–Hellman key exchange with 1536 bi ...
(OTR) plugin, which offers
end-to-end encryption. For this reason it is included in the privacy- and anonymity-focused operating system
Tails.
History
The program was originally written by
Mark Spencer, an
Auburn University
Auburn University (AU or Auburn) is a public land-grant research university in Auburn, Alabama. With more than 24,600 undergraduate students and a total enrollment of more than 30,000 with 1,330 faculty members, Auburn is the second largest uni ...
sophomore, as an emulation of AOL's IM program
AOL Instant Messenger on Linux using the
GTK+
GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprie ...
toolkit.
[Herper, Matthew (July 16, 2002)]
"Better Instant Messaging Through Linux"
Forbes.com. The earliest archived release was on December 31, 1998. It was named GAIM (''GTK+ AOL Instant Messenger'') accordingly. The emulation was not based on
reverse engineering
Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accompli ...
, 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.
On 6 July 2015, Pidgin scored seven out of seven points on the
Electronic Frontier Foundation
The Electronic Frontier Foundation (EFF) is an international non-profit digital rights group based in San Francisco, California. The foundation was formed on 10 July 1990 by John Gilmore, John Perry Barlow and Mitch Kapor to promote Internet ci ...
'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 (
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
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
), having their security designs well-documented, and having recent independent security audits.
Naming dispute
In response to pressure from
AOL
AOL (stylized as Aol., formerly a company known as AOL Inc. and originally known as America Online) is an American web portal and online service provider based in New York City. It is a brand marketed by the current incarnation of Yahoo (2017â ...
, 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'' (the
command-line interface
A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
version) became ''finch''. The name Pidgin was chosen in reference to the term "
pidgin
A pidgin , or pidgin language, is a grammatically simplified means of communication that develops between two or more groups of people that do not have a language in common: typically, its vocabulary and grammar are limited and often drawn from s ...
", 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+
GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprie ...
. Libpurple supports many instant-messaging
protocols.
Pidgin supports multiple
operating systems, including
Windows and many
Unix-like systems such as
Linux, the
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
s, and
AmigaOS. It is included by default in the operating systems
Tails and
Xubuntu.
Pluggability
The program is designed to be extended with
plugins
Plug-in, plug in or plugin may refer to:
* Plug-in (computing) is a software component that adds a specific feature to an existing computer program.
** Audio plug-in, adds audio signal processing features
** Photoshop plugin, a piece of software t ...
. 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 or
Discord 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
Off-the-Record Messaging (OTR) is a cryptographic protocol that provides encryption for instant messaging conversations. OTR uses a combination of AES symmetric-key algorithm with 128 bits key length, the Diffie–Hellman key exchange with 1536 bi ...
" (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
OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. According to the website, the OpenBSD project em ...
's, choose to use
OpenSSL
OpenSSL is a software library for applications that provide secure communications over computer networks against eavesdropping or need to identify the party at the other end. It is widely used by Internet servers, including the majority of HTT ...
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 (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
Farstream (previously known as Farsight) is an audio/video conferencing framework based on GStreamer. The project provides audio/video conferencing for as many instant messengers as possible through a modular design. Telepathy and Farsight consti ...
. , 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.12.0, without any extensions or plugins:
*
Bonjour
Bonjour is a French word meaning (literally translated) "good day", and is commonly used as a greeting.
Bonjour may also refer to:
People
* Laurence BonJour (born 1943), epistemologist and professor of philosophy at the University of Washington
...
(Apple's implementation of
Zeroconf
Zero-configuration networking (zeroconf) is a set of technologies that automatically creates a usable computer network based on the Internet Protocol Suite (TCP/IP) when computers or network peripherals are interconnected. It does not require manu ...
)
*
Gadu-Gadu
*
IRC
*
Lotus Sametime
*
Novell GroupWise
*
OSCAR (
AIM,
ICQ,
MobileMe
MobileMe (branded iTools between 2000 and 2002; .Mac until 2008) is a discontinued subscription-based collection of online services and software offered by Apple Inc. All services were gradually transitioned to and eventually replaced by the f ...
, ...)
*
SIMPLE
*
SILC
*
XMPP/
Jingle (
Google Talk
Google Talk was an Instant messaging, instant messaging service that provided both text and voice communication. The instant messaging service was variously referred to colloquially as Gchat, Gtalk, or Gmessage among its users.
Google Talk was ...
,
LJ Talk,
Gizmo5, ...)
*
Zephyr
In European tradition, a zephyr is a light wind or a west wind, named after Zephyrus, the Greek god or personification of the west wind.
Zephyr may also refer to:
Arts and media
Fiction Fiction media
* ''Zephyr'' (film), a 2010 Turkish ...
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
Discord,
Telegram, Microsoft OCS/LCS (extended SIP/SIMPLE),
Facebook Messenger,
QQ,
Skype via skype4pidgin plugin,
WhatsApp,
Signal and the
Xfire gaming network (requires the
Gfire plugin).
Plugins
Various other features are supported using third-party
plugins
Plug-in, plug in or plugin may refer to:
* Plug-in (computing) is a software component that adds a specific feature to an existing computer program.
** Audio plug-in, adds audio signal processing features
** Photoshop plugin, a piece of software t ...
. Such features include:
*
Discord text chat via the purple-discord plugin
*
Facebook chat vi
purple-facebook*
Google Chat vi
purple-googlechat*
ICQ vi
icyque* microblogs (
GNU Social,
Twitter)
*
Slack (software)
Slack is an instant messaging program designed by Slack Technologies and owned by Salesforce. Although Slack was developed for professional and organizational communications, it has been adopted as a community platform. Users can communicate ...
vi
slack-libpurple*
Skype text chat via skype4pidgin, renamed SkypeWeb plugin
*
Telegram (software) vi
tdlib-purple*
End-to-end encryption, through
Off-the-Record Messaging
Off-the-Record Messaging (OTR) is a cryptographic protocol that provides encryption for instant messaging conversations. OTR uses a combination of AES symmetric-key algorithm with 128 bits key length, the Diffie–Hellman key exchange with 1536 bi ...
(OTR)
* Adding
mathematical formulas written in
LaTeX to conversations
* Notifications (such as showing "toaster" popups or
Snarl notifications, or lighting LEDs on laptops)
* Showing contacts what the user is listening to in various media players
* Watching videos directly into a conversation when receiving a video sharing website link (
YouTube,
Vimeo)
Mascot
The mascot of Pidgin is a purple pigeon with the name of Pidgy.
Criticisms
* As observed by Wired in 2015, the libpurple codebase is "known for its bountiful security bugs". In 2011, security vulnerabilities were already discovered in popular OTR plugins using libpurple.
* 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).
*
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) will support password storage in system keyrings such as
KWallet and the
GNOME Keyring.
* Pidgin does not currently support pausing or reattempting file transfers.
* Pidgin does not allow disabling the group sorting on the contact list.
Other notable software based on libpurple
*
Adium and
Proteus (both for
macOS)
*
Meebo (web-based, no longer available)
* Telepathy Haze (a Tube for some of the protocols supported by the
Telepathy
Telepathy () is the purported vicarious transmission of information from one person's mind to another's without using any known human sensory channels or physical interaction. The term was first coined in 1882 by the classical scholar Frederic W ...
framework)
*
QuteCom (cross-platform, focused on VoIP and video)
*
Instantbird
Instantbird is a discontinued cross-platform instant messaging client based on Mozilla's XULRunner and the open-source library ''libpurple'' used in Pidgin. Instantbird is free software available under the GNU General Public License. Over 250 ...
(cross-platform, based on
Mozilla's Gecko engine)
BitlBee and
Minbif are IRCd-like gateways to multiple IM networks, and can be compiled with libpurple to increase functionality.
See also
*
Multiprotocol instant messaging application
*
Comparison of instant messaging protocols
*
Comparison of cross-platform instant messaging clients
*
Comparison of Internet Relay Chat clients
*
Online chat
*
List of computing mascots
*
:Computing mascots
References
External links
*
{{IRC footer
1998 software
Free instant messaging clients
Free software programmed in C
Instant messaging clients that use GTK
Windows instant messaging clients
AIM (software) clients
Free XMPP clients
Internet Relay Chat clients
Free Internet Relay Chat clients
Windows Internet Relay Chat clients
Portable software
Cross-platform free software
Applications using D-Bus
Yahoo! instant messaging clients
Software that uses Meson