Pidgin (software)

Last updated

Pidgin
Initial releaseDecember 31, 1998;25 years ago (1998-12-31) (as Gaim)
Stable release
2.14.13 [1]   OOjs UI icon edit-ltr-progressive.svg / 23 February 2024
Preview release None [±]
Repository
Written in C (C#, Perl, Python, Tcl are used for plugins)
Platform Linux
macOS (unofficial)
Microsoft Windows
Solaris(unofficial)
FreeBSD
NetBSD(unofficial)
OpenBSD(unofficial)
Available inMultiple languages [2]
Type Instant messaging client
License GPL-3.0-or-later
Website pidgin.im   OOjs UI icon edit-ltr-progressive.svg

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 in to various services from a single application, with a single interface for both popular and obsolete protocols (from AIM to Discord), thus avoiding the hassle of having to deal with new software for each device and protocol.

Contents

As of 2007, the number of Pidgin users was estimated to be over three million. [3]

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. [4]

History

Gaim 2.0.0 beta 6 running under GNOME 2.16.0 Gaim-buddylist-2.0.0b6.png
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. [5] The earliest archived release was on December 31, 1998. [6] 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. [5] [7] Support for other IM protocols was added soon thereafter. [5]

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

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. [9]

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

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. [12] 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". [13]

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

Features

Pidgin running on Ubuntu Pidgin Screenshot Ubuntu.png
Pidgin running on Ubuntu

Pidgin provides a graphical front-end for libpurple using GTK+. [15] 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, Trisquel 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 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" (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

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. Direct, peer-to-peer file transfers are supported over protocols such as XMPP.

Voice and video chat

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

Miscellaneous

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

Supported protocols

The following protocols are officially supported by Pidgin 2.14.12, without any extensions or plugins: [19]

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, [21] Telegram, [22] Microsoft OCS/LCS (extended SIP/SIMPLE), [23] Facebook Messenger, [24] QQ, [25] Skype via skype4pidgin plugin, [26] WhatsApp, [27] and Signal. [28]

Plugins

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

Criticisms

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

Related Research Articles

<span class="mw-page-title-main">AIM (software)</span> Instant messaging service

AIM was an instant messaging and presence computer program created by AOL, which used the proprietary OSCAR instant messaging protocol and the TOC protocol to allow registered users to communicate in real time.

ICQ New is a cross-platform instant messaging (IM) and VoIP client. The name ICQ derives from the English phrase "I Seek You". Originally developed by the Israeli company Mirabilis in 1996, the client was bought by AOL in 1998, and then by Mail.Ru Group in 2010.

<span class="mw-page-title-main">Instant messaging</span> Form of communication over the internet

Instant messaging (IM) technology is a type of online chat allowing immediate transmission of messages over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and triggers a transmission to the recipient(s), who are all connected on a common network. It differs from email in that conversations over instant messaging happen in real-time. Most modern IM applications use push technology and also add other features such as emojis, file transfer, chatbots, voice over IP, or video chat capabilities.

Trillian is a proprietary multiprotocol instant messaging application created by Cerulean Studios. It is currently available for Microsoft Windows, Mac OS X, Linux, Android, iOS, BlackBerry OS, and the Web. It can connect to multiple IM services, such as AIM, Bonjour, Facebook Messenger, Google Talk (Hangouts), IRC, XMPP (Jabber), VZ, and Yahoo! Messenger networks; as well as social networking sites, such as Facebook, Foursquare, LinkedIn, and Twitter; and email services, such as POP3 and IMAP.

<span class="mw-page-title-main">XMPP</span> Communications protocol for message-oriented middleware

Extensible Messaging and Presence Protocol is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML, it enables the near-real-time exchange of structured data between two or more network entities. Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.

<span class="mw-page-title-main">Kopete</span> Free multiprotocol messenger

Kopete is a multi-protocol, free software instant messaging client released as part of the KDE Software Compilation. Although it can run in numerous environments, it was designed for and integrates with the KDE Plasma Workspaces. Kopete was started because ICQ blocked Licq from their network in 2001. According to the original author, Duncan Mac-Vicar Prett, the name comes from the Chilean Spanish word copete, meaning "a drink with your friends". Kopete has been nominated for multiple awards. The designated successor is KDE Telepathy from the KDE RTCC Initiative.

iChat Messaging application for Mac OS X

iChat is a discontinued instant messaging software application developed by Apple Inc. for use on its Mac OS X operating system. It supported instant text messaging over XMPP/Jingle or OSCAR (AIM) protocol, audio and video calling, and screen-sharing capabilities. It also allowed for local network discussion with users discovered through Bonjour protocols.

<span class="mw-page-title-main">Adium</span> Instant messaging client

Adium is a free and open-source instant messaging client for macOS that supports multiple IM networks, including XMPP (Jabber), IRC and more. In the past, it has also supported AIM, ICQ, Windows Live Messenger and Yahoo! Messenger. Adium is written using macOS's Cocoa API, and it is released under the GNU GPL-2.0-or-later and many other licenses for components that are distributed with Adium.

<span class="mw-page-title-main">Google Talk</span> Instant messaging service

Google Talk was an 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.

The following is a comparison of instant messaging protocols. It contains basic general information about the protocols.

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 bits group size, and the SHA-1 hash function. In addition to authentication and encryption, OTR provides forward secrecy and malleable encryption.

<span class="mw-page-title-main">Skype for Business Server</span> Real-time communications server software

Skype for Business Server is real-time communications server software that provides the infrastructure for enterprise instant messaging, presence, VoIP, ad hoc and structured conferences and PSTN connectivity through a third-party gateway or SIP trunk. These features are available within an organization, between organizations and with external users on the public internet or standard phones.

<span class="mw-page-title-main">Jingle (protocol)</span> Peer-to-peer communications protocol

Jingle is an extension to XMPP which adds peer-to-peer (P2P) session control (signaling) for multimedia interactions such as in Voice over IP (VoIP) or videoconferencing communications. It was designed by Google and the XMPP Standards Foundation. The multimedia streams are delivered using the Real-time Transport Protocol (RTP). If needed, NAT traversal is assisted using Interactive Connectivity Establishment (ICE).

Telepathy is a software framework which can be used to make software for interpersonal communications such as instant messaging, Voice over IP or videoconferencing. Telepathy enables the creation of communications applications using components via the D-Bus inter-process communication mechanism. Through this it aims to simplify development of communications applications and promote code reuse within the free software and open source communities by defining a logical boundary between the applications and underlying network protocols.

<span class="mw-page-title-main">Empathy (software)</span> Open source instant messaging and VoIP client

Empathy was an instant messaging (IM) and voice over IP (VoIP) client which supported text, voice, video, file transfers, and inter-application communication over various IM communication protocols.

<span class="mw-page-title-main">Instantbird</span> Cross-platform instant messaging client

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 add-ons allow user customization of, and addition of, features. On October 18, 2017, Florian Quèze announced that "... we are stopping development of Instantbird as a standalone product."

<span class="mw-page-title-main">KDE Telepathy</span> Instant messaging and voice over IP client

KDE Telepathy is an instant messaging (IM) and voice over IP (VoIP) client which supports text, voice, video, file transfers, and inter-application communication over various IM protocols. It uses the Telepathy framework as its back-end. It is the slated replacement for Kopete, and its main focus is the integration between different components of the KDE Software Compilation that may benefit from real-time communication and collaboration features.

Finch is an open-source console-based instant messaging client, based on the libpurple library. Libpurple has support for many commonly used instant messaging protocols, allowing the user to log in to various services from one application. Finch uses GLib and ncurses.

<span class="mw-page-title-main">OMEMO</span> Extension to XMPP for multi-client end-to-end encryption

OMEMO is an extension to the Extensible Messaging and Presence Protocol (XMPP) for multi-client end-to-end encryption developed by Andreas Straub. According to Straub, OMEMO uses the Double Ratchet Algorithm "to provide multi-end to multi-end encryption, allowing messages to be synchronized securely across multiple clients, even if some of them are offline". The name "OMEMO" is a recursive acronym for "OMEMO Multi-End Message and Object Encryption". It is an open standard based on the Double Ratchet Algorithm and the Personal Eventing Protocol . OMEMO offers future and forward secrecy and deniability with message synchronization and offline delivery.

<span class="mw-page-title-main">Conversations (software)</span> Free software instant messaging client for the XMPP protocol

Conversations is a free software, instant messaging client application software for Android. It is largely based on recognized open standards such as the Extensible Messaging and Presence Protocol (XMPP) and Transport Layer Security (TLS).

References

  1. "Pidgin 2.14.13 has been released!". February 23, 2024.
  2. About Pidgin: Supported languages
  3. "Luke Schierer discusses Pidgin, Open source and life" Archived February 8, 2008, at the Wayback Machine . PC World Australia, October 10, 2007.
  4. "Chatting with Pidgin and OTR". Tails. Retrieved July 22, 2020.
  5. 1 2 3 Herper, Matthew (July 16, 2002). "Better Instant Messaging Through Linux" Forbes.com.
  6. Crawford, J. (1999). "User Guide". marko.net. Archived from the original on May 8, 1999. Retrieved October 15, 2011. As of now, the most recent sources are here (the file date is December 31, 1998){{cite web}}: External link in |quote= (help)
  7. Spencer, Mark (1998). "GAIM: GTK+ America OnLine Instant Messenger". Original project home page. marko.net. Archived from the original on February 10, 1999.
  8. 1 2 "Secure Messaging Scorecard. Which apps and tools actually keep your messages safe?". Electronic Frontier Foundation. November 4, 2014. Archived from the original on May 28, 2015. Retrieved July 6, 2015.
  9. "Sean Egan's Blog – The Power of Momentum (continued)" Archived June 20, 2011, at the Wayback Machine . pidgin.im. May 23, 2007.
  10. "Important and Long Delayed News". pidgin.im. April 6, 2007. Archived from the original on April 8, 2007. Retrieved October 15, 2011.
  11. "What's with the name libpurple, anyway?". pidgin.im. Retrieved April 22, 2014.
  12. "Important and Long Delayed News". pidgin.im. April 6, 2007. Archived from the original on April 8, 2007. Retrieved October 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.
  13. "Working towards 2.0.0". pidgin.im. April 22, 2007. Archived from the original on April 25, 2007. Retrieved April 22, 2007.
  14. Egan, Sean (April 30, 2007). "Identity vs. Account Orientation". pidgin.im. Archived from the original on May 4, 2007. Retrieved May 1, 2007.
  15. "What Is Libpurple – Pidgin – Trac". Pidgin.im. Retrieved March 22, 2009.
  16. "Changelog". pidgin.im. Retrieved August 22, 2009.
  17. "Voice and Video". pidgin.im. Retrieved August 22, 2009.
  18. "About Pidgin". pidgin.im. Retrieved September 22, 2010.
  19. Pidgin developers. "Pidgin". pidgin.im. Retrieved January 22, 2023.
  20. 1 2 Kramlich, Gary. "State of the Bird Q4 2022" . Retrieved January 22, 2023.
  21. 1 2 "purple-discord github repository". GitHub . Retrieved December 2, 2019.
  22. GitHub – majn/telegram-purple: Adds support for Telegram to Pidgin, Adium, Finch and other Libpurple based messengers
  23. "SIPE Project" . Retrieved February 29, 2012.
  24. GitHub – Purple Facebook implements the Facebook Messenger protocol into pidgin, finch, and libpurple.
  25. "libqq" . Retrieved June 14, 2011.
  26. "Skype "API Plugin for Pidgin/libpurple/Adium"". RobbMob.com. Retrieved July 6, 2009.
  27. "WhatsApp on your computer: Pidgin plugin". davidgf.net. Retrieved March 31, 2020.
  28. "Signal on your computer: Pidgin plugin". github.com. Retrieved September 18, 2020.
  29. "Pidgin Third-Party Plugins". pidgin.im. Retrieved September 22, 2009.
  30. "SkypeWeb plugin github repository". GitHub . Retrieved December 2, 2019.
  31. Greenberg, Andy (October 31, 2015). "Tor Just Launched the Easiest App Yet for Anonymous, Encrypted IM". WIRED. Retrieved October 31, 2015.
  32. "EFF's Open Source Security Audit Uncovers Security Vulnerabilities in Messaging Software". September 22, 2011.
  33. "Ticket #4986 (closed enhancement: wontfix) – automatic chat input field resizing should be optional, regression from 2.3". pidgin.im. March 1, 2008. Retrieved March 8, 2008.
  34. Adams, Paul (April 22, 2008). "In Response to User Demand, Pidgin Forks". Wired.com. Archived from the original on May 19, 2008.
  35. Malda, Rob (April 30, 2008). "Pidgin Controversy Triggers Fork". Slashdot.
  36. "Milestone 3.0.0—Pidgin". July 3, 2014.
  37. "KeyringSupport—Pidgin". pidgin.im. July 3, 2014.
  38. Kramlich, Gary. "State of the Bird Q4 2022" . Retrieved January 22, 2023.
  39. "Ticket #5769 (new enhancement) – Resume broken file transfers". pidgin.im. May 11, 2008. Retrieved October 15, 2011.
  40. "Ticket #7486 (closed enhancement: duplicate) – xdcc download-resuming-support". November 7, 2008. Retrieved December 30, 2008.
  41. "Ticket #1425 (new enhancement)- No ability to resume in IRC file transfers". pidgin.im. May 30, 2007. Retrieved December 30, 2008.
  42. "#1325: add option to hide groups". pidgin.im. Retrieved April 22, 2013.
  43. "meebo from the backside". meebo.com. July 15, 2008. Archived from the original on August 19, 2008. Retrieved October 3, 2008.
  44. "Tubes". Telepathy.freedesktop.org. Archived from the original on August 24, 2014. Retrieved April 1, 2014.
  45. "Telepathy Wiki – Components". Telepathy.freedesktop.org. Retrieved October 11, 2012.
  46. "Instantbird:FAQ – Instantbird Wiki". Wiki.instantbird.org. February 10, 2011. Archived from the original on May 28, 2013. Retrieved October 11, 2012.