Many of us (or at least me) would probably like to see Signal getting decentralized.
Here are a few thoughts I had about this recently.
First let me define three persons:
- Peter (using the official signal.org instance)
- Ted (using the example.com instance)
- Andrew (using his own instance under andrew.chat)
Couldn't we use the upcoming username feature to build a decentralized signal network? For example with a modified client or maybe just a modified libsignal library we could parse the instance from the username which would look like an email address (ted.42@example.com or andrew.62@andrew.chat). If the username doesn't have a domain part it just uses the default instance (so Peter just has the username peter.94).
Maybe we have some people here who are already familiar with the Signal codebase and willing to assist?
EDIT: Yes I know Session and Matrix exist but Session is to extreme and technical and Matrix is more focused on communities and groups which aren't even encrypted. Besides that both of them have a much smaller userbase compared to Signal.
I've been using Matrix for a few days now and I have to say that encryption is a mess. Rooms and Spaces are not encrypted. 1:1 chats are encrypted but before it worked for my account (whysoever) I had to verify the other person. Also fluffychat is really buggy
Rooms can be encrypted - in fact its enabled by default now for all new rooms, but rooms that are public don't make sense to encrypt as anyone is able to find/join, and what would be the point of encryption if anyone can just join and access the data anyway?
I will say that Matrix is not as easy, intuitive or as feature-polished as Signal and I think we can thank Signal's decision to not attempt federation for how much better it is at some things than Matrix. That said, Matrix is a great alternative, but I'm not asking my friends/family to join just yet.