XMPP
XMPP is an open chat protocols that has been around for more than 25 years and is still going strong.
XMPP was used by many Cloud providers (Google, Facebook etc.) to develop their own proprietary chat services. Unfortunately after using XMPP as a quick start to suck in their user base almost zero of them contributed back, in fact most went opposite to its philosophy and cut off XMPP support to lock their user base in.
1. Compared with Other Protocols
Although much older, XMPP has been constantly evolving and remains superior to newer federated messaging protocols like Matrix (e.g. used by Element) and Activitypub (e.g. used by Mastodon) for realtime chatting between humans.
Team Compute can make use of ANY chat protocol, but XMPP has been selected as the default instead of Matrix because:
- Matrix has only one stable server (e.g. Synapse) while XMPP has many stable servers (e.g. ejabberd, prosody, openfire etc.).
- Matrix was designed for synchronisation while XMPP has been designed for messaging.
XMPP to Matrix bridges (e.g. Matridge and Matrix-bifrost) are available for bridging between XMPP and Matrix.
2. End-to-End Encryption
XMPP mostly use one of two end-to-end encryption schemes, OMEMO and OTR.
Some good discussion of both is available here:
- OTR versus OMEMO - #7 by 0x1f - Development - Whonix Forum
- An odyssey of encryption in XMPP
- https://wiki.xmpp.org/web/XMPP_E2E_Security
There has been at least one third-party audit of OMEMO, but both are better than FAKE end-to-end encryption apps (e.g. Whatsapp) that runs your message server AND gives you a closed source client.
Increasing number of XMMP client now supports the OMEMO end-to-end encryption standard:
WARNING: Just because an XMPP client supports OMEMO does not mean that the attachments (the files uploaded) are also encrypted. For example, as of 2025-07-01, Movim does NOT encrypt the uploaded files while Converse DOES. Please check the XMPP client you are using.
3. Multi-User Chat
XMPP's Multi-User Chat (MUC) is not federated, which can be a problem in certain applications.
MUC federation standard has been proposed, but have no been taken up by the XMPP community at this stage.
References
- https://xmpp.org/
- https://docs.modernxmpp.org/
- https://xmppbl.org/
- https://compliance.conversations.im/
- 22 companies using XMPP and ejabberd to build instant messaging services | RST Software
- XMPP, A Comeback Story: A 20 Year Old Messaging Protocol For Robust, Private and Decentralized Communications