I recently saw Alex’s video about XMPP and I got curious.
I am using Element and Schildichat a bit, trying Element X and curious about the new Development here. It seems vibrant, they rewrite stuff in rust, the Apps are fancy and all.
But I tried Conversations and it seems based too, has transparent encryption, it is damn fast, usable, supports groups and files and all. Probably doesnt use the latest fancy Android SDKs but it seems solid.
I was surprised about how fast it was, as Matrix drastically varies per server. But also I found many dead communities, and in general I dont see XMPP at all, while many Projects (if not using Discord, bruh…) have a Matrix room.
How secure is OMEMO in todays standards? Or OpenPGP, compared to Matrix or Signal Encryption? I heard it also has rotating keys and all.
There are other things, like permission systems, chosen federation, privacy, bridge support and more, that are interesting. Are there advanced modern WebUIs for XMPP you like?
I saw that it uses up waaay less resources, why is that? Really, is “simply encrypted mail” somehow worse in an important way?
Similar to IRC, where I never found nice usable apps for my taste, I thought XMPP was deprecated, but that doesnt seem so?
What can you tell me about XMPP, is it modern, secure, privacy friendly?
XMPP is much more popular for private messaging, so you don’t have many large public group chats like on Discord (and lesser extend Matrix). It can do it, but clients are not really optimized for that to be honest.
You can btw learn more on https://joinjabber.org
As for the specific questions on e2ee: OMEMO as it is currently implemented in most clients is very similar to Signal in security, but like Signal it does not encrypt metadata. There is an updated OMEMO standard that does encrypt metadata as well, but it hasn’t been adopted by any popular XMPP clients yet. However both versions are significantly more secure than Matrix’s MegOLM, which has chosen to sacrifice a lot of security for user convenience IMHO.
XMPP is actively developed, but it doesn’t have much funding for the open-source efforts, so it lacks PR and some things don’t develop as quickly as what you might be used from VC funded for-profit companies like Element/matrix.
I like the Movim webclient, but most current users seem to prefer the native clients for XMPP.
XMPP uses way less resources because it was designed to scale to billions of users for chat, instead of being some over-engineered failed experiment to use a DACS for chat, which really isn’t a good idea and never was.
XMPP is like email, a very open standard that was designed for interoperability even with more closed servers that included proprietary features and extensions. It can be configured to be secure and private. Matrix is another attempt at a more closed protocol / ecosystem with the difference that you can self host it. There have been also multiple complaints about the amounts of metadata that Matrix scatters across servers.
The only thing I dislike about XMPP is that stuff like push notifications and proper mobile clients aren’t as easy to get as they are with Matrix. Privacy and protocol-wise I would pick it any day - even if the only advantage is that is is considerably simpler than Matrix.
Can you elaborate on what you mean that Matrix is a closed protocol? The spec is open and there are several server and clients to choose from.
Matrix is developed by a for profit entity, a group of venture capitalists and having a spec doesn’t mean everything. XMPP is an open standard, truly open and if you notice you’ve had a lot of implementations of it all able to properly integrate with each other without effort.
The way Matrix is designed is to force into jumping through hoops and kind of draw all attention to Matrix itself instead of the end result. The kind of open collaboration where the protocol becomes mostly invisible for the end user isn’t just the objective of Matrix.
Sorry, but nothing you mentioned has anything to do with Matrix not being an open protocol. I don’t know what you mean by “truly open”. It sounds like a “no true Scotsman” argument.
The spec is absolutely open, and you can see it in what I linked. There are also several servers and several clients if you don’t like one written by the Matrix or Element folks. Heck, there’s even a client for emacs! Now there are compatibility issues since not every server and client implements the entire protocol yet, but that’s not an issue of openness. I used to run into problems all the time with XMPP way back when for similar reasons. I even recall something about Google breaking the XMPP protocol in some ways and causing problems.
I’m not even sure your claim of VC funding is true, since the faq mentions several non VC sources of funding. I couldn’t find anything about VC at element.io, so maybe it’s hidden there, or something has changed a matrix.org?
Still, discussion about not liking their business model is orthogonal to whether the protocol is open or not. Maybe we run the risk of them pulling a HashiCorp and changing some licensing down the road, which would be terrible. But I think it’s dishonest to say it’s not open.
Matrix is developed by a for profit entity, a group of venture capitalists and having a spec doesn’t mean everything (…) The way Matrix is designed is to force into jumping through hoops and kind of draw all attention to Matrix itself instead of the end result
For all the people downvoting my original comment this was just out. Oh well what do I know…
Decentralized communication protocol Matrix shifts to less-permissive AGPL open source license
Element, the company and core developer behind the decentralized communication protocol known as Matrix, has announced a notable license change that will make the open source project just that little bit less appealing for companies looking to build on top of it.
This is good reading on XMPP
https://privacy.awiki.org/im.html#XMPP
And one about matrix
https://hackea.org/notas/matrix.html
I think that XMPP is obviously the superior choice here. Matrix is funded by venture capitalists that need to make money some way and they are actually recollecting users’ data for that.
Do you have a source for the claim that collecting userdata is ultimately what funds Matrix?
have you read the article I linked?
I didn’t say it was ultimately what funds matrix, they sell servers too, but they recollect data that’s for sure.
Quoting the article here:
matrix.org and vector.im receive a lot of private, personal and identifiable data on a regular basis, or metadata that can be used to precisely identify and/or track users/server, their social graph, usage pattern and potential location. This is possible both by the default configuration values in synapse/Riot that do not promote privacy, and by specific choices made by their developers to not disclose, inform users or resolve in a timely manner several known behaviors of the software.
Data sent on a potential regular basis based on a common web/desktop+smartphone usage even with a self-hosted client and Homeserver:
The Matrix ID of users, usually including their username.
Email addresses, phone numbers of the user and their contacts.
Associations of Email, phone numbers with Matrix IDs.
Usage patterns of the user.
IP address of the user, which can give more or less precise geographical location information.
The user’s devices and system information.
The other servers that users talks to.
Room IDs, potentially identifying the Direct chat ones and the other user/server.
With default settings, they allow unrestricted, non-obfuscated public access to the following potentially personal data/info:
Matrix IDs mapped to Email addresses/phone numbers added to a user’s settings.
Every file, image, video, audio that is uploaded to the Homeserver.
Profile name and avatar of users.
I did, yes. TBH it is very anti-Matrix right out of the gate, makes a mountain out of a molehill and it even admits that it contains FUD.
There’s a couple of things that are misleading in it (for example the section on bridges) and the critique basically boils down to “if you use the identity servers that are run by Matrix.org with your self-hosted homeserver they can see the info you send to them” and “Google Analytics in Element is bad”.
All in all I didn’t find it very convincing, and very lacking in nuance.
I am hosting a two-person XMPP server now, and it’s pretty light on resources. Matrix, however, I am not even sure my VPS would even handle: I’ve seen multiple people talk about how their servers would explode when someone tries to join a large room. And also there’s an issue of every participating server storing chat history/media: my disk is small, I need it for the media on my site!
I am also concerned about how overly prevalent the central matrix.org server is.
all your first points are generally correct, as far as the last one however, that is the entire point in running your own instance. too many uses on matrix.org. all fedi platforms have this issue as well.
I share your concern - matrix is bloated as a protocol. I assume you tried synapse. I wonder how conduit (rust) or dendrite (go) would perform.
Yes, Matrix.org is a huge problem. Even Mastodon is way more federated.
XMPP is too fragmented with all the addons or whatever they’re called (edit: XEPs). Chatting with people on different servers, or even different clients is a crapshoot whether basic features like encryption are enabled. I have a lot of hope for Matrix as they work out the bugs.
Try using Matrix with a non-synapse / non-element client setup and you will have as much if not more fragmentation issues. Heck, Synapse doesn’t even follow the official Matrix standard, so things break all the time on other Matrix servers like Conduit.
XMPP had a lot more time to iron out federation issues between different implementations, and it shows.
E2e encryption works more hassle free in my experience with XMPP as well, at least for private chats and small groups.
I’m basically still ‘testing’ both of them out. Neither is good enough for me to lobby my friends to use. I use Cheogram for XMPP, mostly for it’s integration with SIP/jmp.chat. Years ago I spent a bunch of time on Movim. I’d be very happy for XMPP to be a consistent experience.