网站搜索

这个经典的聊天应用程序远远领先于它的时代,25年后它仍然存在


如果你多年来使用过互联网,你可能听说过 AOL 即时通讯——一个世纪之交流行的聊天系统——但你是否曾遇到过 Pidgin?如果你在过去二十年里活跃于开源社区,你无疑会遇到过它,但它不仅仅是一个普通的聊天应用程序;它意义远不止于此。Pidgin 构建在一个前瞻性的引擎上,并开创了私人通信,它早在很久以前就为许多人做到了正确的选择——这是现代聊天应用可以借鉴的地方。

起源故事

从1998年起:GAIM如何变成Pidgin

马克·斯宾塞,当时是阿拉巴马州奥本大学的学生,于1998年发布了GAIM。他建立了一个聊天系统,模拟AOL即时通讯,但以免费和开源(FOSS)软件的形式提供。“GAIM”这个名字意为“GTK+ AOL即时通讯”,反映了其当时的唯一目的。

最初,它是一个只做一件事的单一 GTK 应用程序,直到两年后(2000 年)它才开始扩展,成为一个多协议系统,具备了 IRC、Yahoo! 和 ICQ 等新功能。

根据 Gary Kramlich 的 Patreon(首席开发者)所述,开发团队在 2006 年发布了 libgaim——libpurple(随后介绍)的前身——该库将他们的多协议工作整合到一个独立的软件包中(称为“库”)。大约在这个时候,AOL 对“GAIM”这个名字提出了质疑,显然是因为“GAIM”中的“AIM”侵犯了 AOL 的即时通讯软件商标。2007 年,在压力之下,团队将名称更改为 Pidgin。

这个新名字指的是一种语法上简化的交流形式,用于不同语言的人之间,被称为“洋泾浜语”。这是一种非正式和即兴的交流方式,而使用它的人基本上是“即兴发挥”……我看到你翻了个白眼。

从2007年起,我们拥有了许多人熟悉并喜爱的Pidgin软件——它有着独特的品牌和不寻常的默认紫色主题。

通用互操作性

一个我们至今仍在努力解决的问题

你很可能在手机上安装了六个左右的聊天应用——Signal、WhatsApp、Telegram、Facebook Messenger 和 Discord,仅举几例。如果你头脑清醒,这么长的应用列表可能会让你感到烦恼,正如它应该让你烦恼的那样。这是一个不便且持续存在的问题,而在2000年代初,一个鲜为人知的应用程序——Pidgin——奇怪地解决了它。实际上,是 libpurple……

Libpurple(原名libgaim)作为核心库(代码工具),是Pidgin构建的基础。如果说Pidgin是仪表盘,那么libpurple就是引擎、底盘和车轮。它是使Pidgin能够使用如此多语言(协议)的核心组件。例如,要向IRC网络发送消息,Pidgin的界面会将消息发送给libpurple,由它进行编码和发送。它完成了所有繁重的工作,而Pidgin则获得了功劳。

Libpurple 允许 Pidgin 通过一套插件系统使用多种协议。这些插件非正式地被称为“协议插件”,并且以世纪之交的风格,开发者们经常将这个术语缩写为“prpl”,这构成了其采用名称的基础,甚至可能影响了其默认的配色方案。

像这样的独立库将用户界面与底层的消息发送功能分离开来。因此,它允许任何聊天客户端利用 Pidgin 团队的辛勤工作,在其基础上构建自己的聊天应用程序,从而免费获得完整的多协议功能。令人着迷的是,它至今仍在运行,并支持数百种熟悉且流行的协议——比如 Discord、Slack、Facebook、Microsoft Teams、Google Chat,以及更多。

所以,当大公司为争夺你的注意力而争斗,并且总是试图把你锁进他们自己“特别”的围墙花园时,libpurple 早在世纪之交就解决了那个荒谬的问题。Libpurple 做对了,而很多其他公司则做错了。

通过 OTR 的端到端加密

通过非公开聊天实现端到端加密

早在大型应用程序——比如 WhatsApp、Telegram、Matrix 和 Signal——拥有端到端加密(E2EE)之前,也早在隐私成为现代互联网的紧迫问题之前,Pidgin(当时称为 GAIM)就已经在 2004 年通过其离线消息协议(OTR,即 Off-the-Record)实现了端到端加密。它将消息加密,使其不可读,从而保持你的聊天完全私密,并阻止潜在的窥探者。

Pidgin 的 OTR 插件实际上已不再维护——最后一次发布是在 2016 年。它技术上可能仍然可以运行,但我不会信任几乎有十年历史的加密代码。虽然 Pidgin 似乎为主流大众开创了端到端加密(E2EE),但它的领先地位现在已经成为历史,并被远远优于的基于加密的应用程序取代——比如 Signal 或 Matrix。

今天的洋泾浜语

仍然活着并在啄食

这可能会让你感到惊讶,但Pidgin(以及libpurple)仍然在接受维护更新,最近一次更新是在2025年初。它有一个小而专注的团队,并且在2024年12月,他们发布了3.0版本的早期测试版。虽然当前的(稳定)版本是2.14,但他们显然有推进该项目的意图。


在移动电话时代,Pidgin 可能已不再被大多数人青睐,但它试图解决的问题依然存在,并且不会消失。Libpurple 是许多人没有谈论的解决方案,它背后有着 20 年的开发历史。这个想法并不是让 Pidgin 能与每一个网络兼容,而是打造一个将它们全部互连的平台——开发者可以在其上构建自己的应用程序。它已经在雷达下默默发展了太久,也许,当我们接近 2030 年代时,世界其他地方最终会赶上来。

如果你觉得 libpurple 有吸引力,请访问他们的网页并支持这个项目。

相关文章