If you’ve used the internet for many years, you may have heard of AOL Instant Messenger—a popular turn-of-the-century chat system—but have you ever encountered Pidgin? If you were around the open-source community over the past two decades, you no doubt have, but it wasn’t just a mere chat application; it was so much more. Built on a forward-thinking engine and pioneering private communications, Pidgin got it right for so many, long ago—something that modern chat applications could learn from.
Origin story
From 1998: How GAIM became Pidgin
Mark Spencer, then a student at Auburn University in Alabama, released GAIM in 1998. He built a chat system that emulated AOL Instant Messenger but in a free and open-source (FOSS) package. The name “GAIM” means “GTK+ AOL Instant Messenger,” reflecting its sole purpose at the time.
Pretend it’s 1998 with this functional AOL Instant Messenger clone
A nostalgic journey back to the 90s.
Initially, it was a single GTK app that did one thing, and it wasn’t until two years later (in 2000) that it would branch out and become a multiprotocol system, equipping new capabilities like IRC, Yahoo!, and ICQ.
According to Gary Kramlich’s Patreon (the lead developer), the development team released libgaim in 2006—a forerunner to libpurple (covered next)—which consolidated their multiprotocol work into a separate package (called a “library”). It was about this time that the name “GAIM” came under scrutiny from AOL, apparently due to “AIM” (in “GAIM”) infringing on AOL’s trademark for its instant messenger. In 2007, and under pressure, the team changed their name to Pidgin.
The new name refers to a grammatically simplified form of communication between those who speak different tongues, called “pidgin.” It’s an informal and off-the-cuff communication style, and those who use it essentially “wing” it… I saw you roll your eyes.
From 2007 onward, we got the familiar Pidgin software that many of us know and love—with its peculiar branding and unusual default purple theme.
Universal interoperability
A problem we still struggle with today
You likely have a half dozen chat apps installed on your phone—Signal, WhatsApp, Telegram, Facebook Messenger, and Discord, to name a few. If your head isn’t screwed on backwards, such a long list of applications probably annoys you, as it should. It’s an inconvenient and persistent problem that was oddly solved by a little-known application back in the early 2000s—Pidgin. Well, libpurple…
Libpurple (formerly libgaim) serves as the core library (code utilities) around which Pidgin is built. If Pidgin is the dashboard, libpurple is the engine, chassis, and wheels. It is the central component that allows Pidgin to speak so many languages (protocols). To send a message to the IRC network, for example, the Pidgin UI sends the message to libpurple, which encodes and sends it. It does all the heavy lifting, and Pidgin takes the credit.
Libpurple allows Pidgin to speak multiple protocols through a system of plugins. These plugins were informally called “protocol plugins,” and in a true turn-of-the-century style, the developers often abbreviated the term to “prpl,” which forms the basis of its adopted name and possibly even its default color scheme.
A separate library like this detaches the UI from the underlying message-sending capabilities. Consequently, it allows any chat client to leverage the hard work of the Pidgin team and build their own chat applications on top of it, gaining full, multiprotocol functionality for free. The fascinating thing is, it’s still in operation today and provides support for hundreds of familiar and popular protocols—like Discord, Slack, Facebook, Microsoft Teams, Google Chat, and many, many more.
So, while big corporations tussle for your attention and invariably try to lock you into their own “special” walled garden, libpurple dissolved that ridiculous problem as far back as the turn of the century. Libpurple got it right where so many others got it wrong.
E2EE via OTR
End-to-end encryption via off-the-record chat
Long before the big apps—like WhatsApp, Telegram, Matrix, and Signal—had end-to-end encryption (E2EE) and long before privacy had become a pressing concern on the modern internet, Pidgin (as GAIM) was doing end-to-end encryption (via its off-the-record protocol, aka OTR) as far back as 2004. It scrambles messages to make them unreadable, keeping your chats fully private and thwarting would-be snoopers.
Pidgin’s OTR plugin is effectively defunct—the last release was in 2016. It may technically still run, but I would not trust encryption code that’s nearly a decade old. While Pidgin seemed to have pioneered E2EE for the mainstream masses, its leading edge is now consigned to history and superseded by far superior encryption-based applications—like Signal or Matrix.
Pidgin today
Still alive and pecking
It may surprise you, but Pidgin (and libpurple) still receive maintenance updates as recent as early 2025. It has a small but dedicated team, and in December 2024, they released an early alpha for version 3.0. While the current (stable) release is version 2.14, they clearly have intentions of moving the project forward.
You Can Use These Apps on Both Windows and Linux
Stay productive on Windows and Linux with these 7 cross-platform apps.
Pidgin may have fallen out of favor for most in the mobile phone era, but the problems it aimed to solve persist, and they won’t go away. Libpurple is the solution that many are not talking about, and it has 20 years of development history behind it. The idea isn’t about making Pidgin work with every network but about a platform that interconnects them all—one that developers can build their own applications upon. It has been flying under the radar for too long now, and perhaps, as we approach the 2030s, the rest of the world will finally catch up.
If libpurple sounds appealing to you, visit their web page and support the project.
