It explains perfectly why Signal does not want third-party clients.
To the haters: I am not saying that it is perfect, in an ideal world we could have secure third-party clients. I am just saying that it is pragmatic: in our world, we don't.
Signal has forever been a pragmatic approach to private messaging, and it succeeded at that: Signal literally put E2EE on the map!
Signal has a threat model, and they do the best app they can addressing that threat model. Which means that they cannot accept third-party clients or federation. They don't say "you cannot use XMPP or SimpleX or Matrix on the side", they just say "we provide this, if you benefit from it, use it for free".
Still, there is a very vocal minority that takes every opportunity they take to explain how "insane" that is, and how they "cannot imagine how anyone with some kind of intelligence wouldn't be revolted". I believe it is the same posture as those complaining about Android or GrapheneOS not giving root access ("even in the advanced settings"). The fact is that if you want root access on your phone, you should install a system that gives you root access, and not select a system that does not and then complain.
Signal is great at what it does. It's okay to also want something else while acknowledging that Signal is great at what it does.
I don’t understand where this energy that signal doesn’t want 3rd party clients is coming from.
Their open source code is permissive of commercial forks.
Like, if their goal was to block third-party clients, then they would look more like Facebook or Reddit
Under Signal's original leadership, there was definitely a hard stance against third party clients connecting to the network. I think they've been quiet on third party clients since Moxie left.
I think they wouldn't want a third-party client to become mainstream. That a few people bridge matrix to signal is not exactly a problem.
Software license ≠ terms of service.
They can give you the right to reuse their source code for building your own service using your own network (an aspire to give you this right), but still forbid you to connect to their service on their network with third party clients.
In practice, they don't seem to enforce that a lot (anymore).
It's unlikely that their ToS would be enforceable in court. The fact that Apple never tried to sue Beeper speaks to this.
It doesn't necessarily go to court. In the past, there was a project that was a light fork of Signal, LibreSignal, that was Signal but without the google libraries. They have asked the developers to stop distributing a version of it that connected to their network, and the developers stopped the distribution.
I guess they didn't do so for Molly. I suppose a lot of water has passed under the bridge.
You can totally fork their projects! You just can't call yours "Signal" (trademark I guess?) and you can't connect to their servers. Molly seems to be tolerated, somehow? Maybe because it is niche.
But clearly connecting to the Signal servers with an outdated, modified fork is against Signal's goal.
I have my own third-party client called Corvus. However, it's only for the desktop, and uses a native Qt GUI. I haven't gotten the impression that Signal is doing anything to block third-party clients per se. https://github.com/ada-h00k/Corvus
Sure, it doesn't contradict what I said. The number of Signal users connecting through Corvus is probably a rounding error for Signal, it's not worth doing anything against it.
Signal is a non-profit. They won't shut you down because they want to make profit. They may shut you down if they think you lower the quality of their service. I'm pretty sure that with Corvus you're not on their radar because probably almost nobody is using Corvus, right? Or do you have tens of thousands of users?
Right now, it's probably only being used by a small number of people in the lower double digits. However, it's based on signal-cli, which a lot of people use and which Signal apparently has no objection to.