I’m not a fan of the “war” between Android and Apple when it comes to SMS/texting. The rest of the world doesn’t use SMS/RCS/iMessage as much as WhatsApp and the like, so the US is pretty much lagging behind everyone else on this anyway.
That being said, I have to admit Android did a good job with this!
Google’s relay is a requirement for carriers who don’t host their own RCS infrastructure. Google set up a fallback server because outside of a few specific carriers, nobody bothered implementing RCS in their networks. In theory your carrier could set up a server and you wouldn’t need Google at all.
In theory apps could build an RCS implementation and take control of your RCS account.
I trust my carrier even less than Google, which is saying something.
The nice thing about E2EE is that you don’t need to trust your carrier. You could write your messages on a billboard along the highway if you can keep the message’s secret key to yourself and the recipient(s).
Annoyingly, that does require someone to actually implement Google’s RCS encryption protocol (which is really just Signal + MLS but over RCS) and publish the source code (and provide reproducible builds to prove nothing’s been messed with).
When RCS first came out, my carrier provided their own app to use it lol
Canadian carriers did, but they since have started moving towards Google’s RCS servers instead. Probably realized it wasn’t worth hosting a server, and then maintaining it. I remember some carriers wouldn’t update their servers, so not all RCS features would be available to them.