Why XMPP matters

↩ home

XMPP (also known as Jabber) is the Internet Standard for instant messaging.

Modern chat features

XMPP supports modern chat features in a standardized and interoperable way (unlike IRC). Features include -

  • Multi-device support, offline messages, multi-line messages, message styling, end-to-end encryption, message correction, deletion, replies, receipts, read markers, typing notifications…
  • Contact and room synchronization, avatars, file transfer, image previews, stickers, message reactions, encrypted audio and video calls, message threads…

Federated, not centralized

XMPP is federated, rather than centralized (unlike IRC 1 IRC is theoretically federated, but in practice it's just a bunch of networks which don't federate - you can't talk to people on OFTC with a libera.chat account, and so on. , Telegram, Discord, Signal, Slack, …). That means -

  • You're not locked in to one "official" app - you can choose any apps you like.
  • You're not locked in to one server - you can choose the server with the features, privacy policy, and customer support you want. And whatever server you choose, you can talk to users on any other server, using any XMPP app.
  • It's resistant to enshittification - if one operator shuts down, or gets taken over by an edgelord billionaire, or otherwise goes evil/anti-user 2 …as commercial services are so prone to - see Google, Facebook, Reddit, StackOverflow, and many more. , you can switch servers and continue to access all your existing contacts, through all your existing apps.
  • XMPP is a large network of small, independent servers. They are smaller and less convenient targets for backdoors, corporate takeovers, lawsuits, DDoS attacks, etc than the centralized servers of Telegram, Discord, Signal, Slack, etc.
  • You can actually set up your own server (public or private), which provides an unmatched level of trust in the server.

    Even if a centralized service (like Signal) releases source code under a free license, you can't really trust that it's the code they're actually running. Only self-hosting provides that guarantee.

Freedom-respecting software

XMPP has a diverse ecosystem of freedom-respecting clients and servers. (Unlike Discord, Slack, Signal 3 Signal uses proprietary services like Amazon Web Services and CloudFlare. , …)

Easy to self-host

XMPP is easy and lightweight to self-host. (Unlike Matrix.) This has given rise to a thriving network of public servers.

  • Matrix servers are resource- and maintenance-heavy to run (such that it has been called "the Bitcoin of chat"), which has resulted in most of the Matrix community being concentrated around the matrix.org server.

    The cost of running a Matrix server regularly forces smaller, community-run servers to give up on it, who often fall back to XMPP. (See disroot.org and durare.org.)

    That effectively makes Matrix a centralized protocol, with all the drawbacks that implies. If or when the matrix.org service shuts down or becomes anti-user, there will not be enough community-run servers to take in the refugees.

XMPP clients are also lightweight and performant. (Again, unlike Matrix.)

Community-governed protocol

The protocol is governed by a privacy-conscious community (the XSF) rather than a single company.

  • While Matrix has also (after much feet-dragging) set up a similar community-governed foundation, the ecosystem is still mostly controlled by a single company.

Bridges

It has bridges to other chat protocols, so you can use any XMPP client for all your chats.

  • Biboumi for IRC
  • Bifrost for Matrix
  • Slidge for Discord, Facebook Messenger, Matrix, Mattermost, Signal, Skype, Steam Chat, Telegram, and WhatsApp.