Jabber/XMPP:25 年的数字独立

XMPP(原名 Jabber)作为一种开放、联邦式聊天协议正在迎来 25 周年,这也引发了人们对它与 Matrix、Signal 和 Telegram 等新系统相比如何的重新关注。评论者强调了 XMPP 的优势——成熟的标准、去中心化、军队和企业使用、与代理和 IoT 的集成,以及通过 Prosody 或 Snikket 等服务器实现的轻松自托管——同时也批评了它碎片化的扩展、参差不齐的客户端质量、垃圾消息处理,以及在移动端和桌面端较弱的用户体验。许多人认为它在技术上很扎实,但受限于糟糕的采用率和可用性;他们认为,如果有更好的资金、工具和“良好默认值”,它仍然可以成为尊重隐私的消息传递的坚实基础。

当前使用情况与生态系统

  • 如今广泛用于小型私有网络:家庭、朋友和小型组织,而不是大型公共社区。
  • 据报道存在“隐蔽”的机构使用:北约、军队、警察、情报部门和企业环境;文中提到了北约的 “JChat” 以及军用 HF 无线电部署。
  • 支撑着若干服务:Jitsi Meet 的信令(Prosody)、历史上和当前的 WhatsApp 协议、联邦宇宙(fediverse)的部分组件、jmp.chat(短信/电话桥接)、一些 IoT 产品,以及传统企业聊天。

自托管与基础设施

  • Prosody 和 ejabberd 被认为是成熟的,配置完成后维护成本相对较低。
  • 一些人认为初始设置“ brutal ”,XMPP 是“聊天界的 Apache”;另一些人则说现代默认配置让它基本上可以“设好就忘”。
  • Snikket(基于 Prosody 的整合套件)因易于通过 Docker 部署而受到称赞,但也被批评为在后续定制时限制较多。
  • 通往 WhatsApp、Matrix 和 IRC(通过 biboumi)的网关被成功使用。

客户端体验与采用

  • 与 Signal/Telegram/WhatsApp 相比,最大的痛点是客户端质量。
  • 推荐的客户端:Conversations(Android)、Dino(桌面端)、Gajim、Movim、Fluux、Kaidan、Converse.js、Cheogram、Monal、Libervia。
  • 体验分歧很大:一些人认为 Conversations 稳定且适合家庭使用;另一些人则看到崩溃、笨拙的 UX、通知故障以及多设备不一致。
  • 可发现性(查找用户/房间)、公共 JID 上的垃圾消息,以及端到端加密设置问题,都阻碍了采用。

加密、扩展与互操作性

  • OMEMO 片段化(旧版与 OMEMO 2)导致不兼容;有些客户端无法通信,或者在加密出问题时无法关闭加密。
  • 一些人欣赏 XMPP 在紧急情况下能够回退到未加密消息;另一些人则认为这削弱了安全性。
  • 有人抱怨“XEP 蔓延”以及需要一个“XMPP:精华版”;另一些人则指出合规配置文件和现代文档已经在解决这些问题。

与 Matrix 及其他方案的比较

  • 一些人认为 Matrix 是“重新发明轮子”,浪费了 XMPP 本可以使用的资金,而且事实上仍然依赖单一主要服务器/客户端。
  • 另一些人认为 Matrix 更适合像 Slack/Discord 那样的持久聊天室和更丰富的历史记录。
  • Matrix 因在移动端使用长轮询以及依赖外部推送服务而受到批评;而 XMPP 因高效的持久连接以及为 FCM/APNs 提供支持(据评论者所说)而受到赞扬。
  • 总体分歧:XMPP 被视为更简单、更成熟、也更适合小型社区自托管;Matrix 被视为更有雄心,但更笨重也更脆弱。

总体情绪

  • 人们对 XMPP 的持久性、开放性和韧性表示尊重。
  • 与此同时,尽管它在技术上有优势且强调独立性,人们仍然对它依旧小众、UX 不均衡以及加密支持碎片化感到沮丧。