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.

  • albert_inkman@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    20 hours ago

    I’ve run both XMPP and Matrix servers myself. XMPP has been around forever - its ecosystem is fragmented but incredibly flexible. You can pick a client that works for you and it just works.

    Matrix has better E2E encryption out of the box which is a real plus. The federation works but feels more controlled than XMPP. With XMPP servers can talk to each other with just a few XML config files.

    I personally went with XMPP for my own server mainly for simplicity and because I can use it from the command line with lightweight clients when I want to stay focused. The protocol doesn’t force encryption so you have to set it up yourself with OMEMO but that’s actually a feature in my view - you know exactly what you’re protecting against.