Signal vs XMPP/Matrix (centralized Free Software vs decentralized Free Software) for messaging
There were some heated arguments in the Matrix/XMPP group when @bvul supported Signal over a standardized decentralized protocol.
The arguments for both sides are well summarized in these two blog posts, by Moxxie (lead of Signal) and Daniel (lead of Conversations, most popular XMPP client on Android)
Since Matrix/XMPP interface is not well suited for long running discussions with fundamental disagreements, lets continue this discussion here.
Akshay Wed 10 Apr 2024 7:58AM
Daniel's position, if I understand correctly is as follows: Federated chat can flourish if there's enough money poured into it.
Daniel uses the case of the web to reach at that. I disagree with it.
The web is different from other federated protocols like emails and xmpp in that there are certain centralizing tendencies with the web. The number of dominant browsers have remained very less. Internet Explorer, Firefox, Safari, Chrome (and maybe MX, Opera, etc). The dominant players have been working together these days. And many improvements are through the unifying force of Blink/Webkit. And to ship a browser update all that needs to be done is to release a new bundle and wait for people to do sudo apt update (or even automatic in windows).
All of this is very different when it comes to email, xmpp, etc. There are several software choices, there are proprietary email suites too. There are hundreds of providers. If something has to be updated, sysadmins across the world have to log in to a system and update thing, handling data migration during the upgrade. People might even have lost ssh access to some machines powering servers.
So, to use the web as a counter-example is not appealing to me at all.
Even if someone pours in millions of dollars into Conversations or ejabberd, all the other software will lag in implementation. So, pouring money into federated ecosystem will only create one super-popular implementation, and a de-facto centralization. This is the case with matrix and matrix.org since riot/vector/element is the only people pouring in money, only that server and client works properly.
I agree with Moxie in that centralization is necessary to innovate/evolve faster. I don't necessarily agree with the idea that innovation or evolution should be the goal, though. I'm completely happy with emails the way they're at the moment. Even when I have the possibility to choose encrypted emails, I use unencrypted emails. Because I have different priorities. So, while I agree that centralization is what helps with innovation/faster evolution, I support decentralized projects because I value independence, and self-sufficiency more.
Akshay Wed 10 Apr 2024 8:14AM
I am also reminded of a very long debate in an M-x butterfly group between me and EF.
EF loves Gemini protocol and kept arguing it is superior. Kept slandering the HTTP/web stack saying it is too big, nobody can write a browser from scratch, etc.
I am a huge fan of the web because I literally grew up in the internet and I love the richness of what the web stack allows one to do.
I vehemently disagreed on the superiority of Gemini. It is indeed superior when it comes to the priority of someone being able to independently write a new browser. But those weren't my priorities.
Here, xmpp is like Gemini. And signal is like web
Pirate Praveen Wed 10 Apr 2024 10:46AM
@Akshay may be that comparison was not really what you meant, do you think people can write XMPP clients that easily? I don't think that comparison is reasonable as well. If you think only about the XMPP core, that may be true. But if you consider the recommended XMPP compliance suite, it has complexities. XMPP is definitely evolving slower, and it is frustrating when I see the fragmentation, most projects are just focused on their own code and don't look at XMPP as a full product. Though with projects like Snikket, this is changing and Prav is also looking at a full XMPP experience as opposed to just one client or server. I don't think we need millions to be poured in, but some funding to bridge the gaps - the gaps came because developers don't consider some of the features, like fixing encrypted groups, as essential. For most developers the use case may be unencrypted group for development/support and small encrypted groups with family and friends. The complications comes when large encrypted groups of people who don't necessarily have a direct chat with each other - a classroom, office, residents associations etc - the current WhatsApp groups, which will see problems with XMPP. Hopefully if we get NLNet grant, we can fix this to a large extend.
Pirate Praveen Wed 10 Apr 2024 10:48AM
But like you mentioned, self reliance and long term sustainability is valuable for me and that is why I chose XMPP even when it is not a perfect solution, right now. But I feel the investment will be worth it, looking at the long term sustainability.
Life is Tetris Sun 19 May 2024 6:02AM
Great to see features not losing out to decentralization in people's minds!
I think e-mail-based Delta Chat have done the most on this - WebXDC is a great core idea to build polls, chess and what not over chat; and their "chatmail" e-mail server setup tuned for chat is something.
Identity/log-in is something that seems to get short shrift in people's minds. Federated log-in via e-mail, like Codema, is great for starters. And Hubzilla/Streams have got it as right as it can probably get, with nomadic identity, for over a decade now (but other stuff is flaky - shrug).
Pirate Praveen · Wed 10 Apr 2024 7:22AM
when @bvul was supporting WhatsApp in XMPP/Matrix (bridged) group, I also warned them because this group has some values that everyone needs to agree to work together. This values include Free Software, though when we formulated, neither smart phones were this prevalent, nor centralized services. So when yesterday the disagreement was about Signal vs XMPP, we don't have a clear position on that yet. We could make a stand if desired. But better option would be a different community that has Signal, XMPP or Matrix as choice. So Prav is such a community, which picked XMPP among these 3 Free Software options (though only at client in practice as a self hosted Signal won't interoperate with official Signal). So I feel this disagreement will remain in FSCI and I think that is healthy. For people who prefer Matrix or Signal over XMPP, you can also create a new community for all the people who share the same values. We can have friendly competition among these choices and let time and community decide which one succeeds.