XMPP and Matrix are very similar protocols that aim to accomplish roughly the same things. I’m looking to install a server on my (quite powerful) home server in order to communicate with my tech-savy friends and my girlfriend.

I would like to use the “perfect” one between the two, but I can’t come to a decision.

Pros of Matrix

  • Has more functionalities (albeit as far as I know XMPP can do pretty much the same with its extensions)
  • It is JSON-based which helps reduce overhead, not by much, but it’s free lunch
  • I can’t set cryptography wrong since it’s built-in
  • Messages and conversations can be synchronized from other servers if mine goes down for a short while. Its state seems generally stronger than XMPP’s

Pros of XMPP

  • More lightweight
  • Less metadata leaks and supports aliases in public MUCs
  • It’s more “open” (less centralized)

Which one would you pick? We don’t need to shield ourselves against the CIA but I’m a privacy freak so I’d like to pretend we do. Thank you.