There aren’t any because there’s no point. And no, I hope this won’t be the standard.
There are two things called “RCS”: there’s a theoretical specification; and exactly one implementation that has managed to get any real traction, and that’s purely because it’s pushed by Google.
The RCS spec was attempted by various companies and all implementations died when they figured out they’d have to make them compatible and open their servers to each other. Even if they wanted to it would be a mess.
SMS succeeded because it doesn’t need servers, it’s just pieces of text being sent around.
Google is the only one still pushing their RCS because they figure if they tie their version of it into Android they will own the messaging on Android forever. They don’t want interoperability either.
If Google gets their way and their RCS becomes the EU standard it will lock the EU into a proprietary platform from one of the most vile data predators in the world.
There’s no point in making a FOSS implementation of RCS because the spec is highly dependent on who runs the servers. The only way it would make sense is if the EU would dictate a spec and force everybody to follow it and open their servers. In that take on things FOSS would be ideal.
Is the Google version of RCS not compatible with someone else’s RCS, then?
As in, I take it nobody else wants to run a server because it costs money, right? But suppose I did, and I had an RCS app to run with it. Would someone using my app be able to send a message to an Android user using Google Messages?
No. Google Messages only talks to Google’s servers.
The way it’s supposed to work is Google has some servers and an app, and you have your own servers and own app, and when someone sends a message from your app it goes your app > your server > Google server > Google app. And the same in reverse.
But in reality Google doesn’t let anybody’s servers talk to theirs and tries to make everybody use their app and their servers. Which they can afford to do because they own Android and can shove their app down anybody’s throat.
SMS uses servers, those servers just happen to be your telco’s servers. RCS was designed to work the same way, exchanging messages via servers hosted by carriers.
Nobody cared about RCS so Google took it upon themselves to host their own RCS server. Now most people who use RCS, use Google’s servers.
Assuming spec compliancy, anyone can make an app that communicates with a carrier’s servers, or with Google’s servers for that matter. In practice, the standard is obscure and the lack of system integration will have RCS apps fighting over who gets to do the RCS registration for your phone number.
Custom ROMs and such will probably get RCS support outside of Google Messages at some point in the future, and perhaps rooted phones will be able to use those same apps as well when that eventually happens. However, as it stands, RCS on Android would allow you to use one single app for rich messaging, and all other apps (including the Android system APIs) would have to fall back to SMS.
Furthermore, the RCS Google supports actually uses an E2EE scheme that isn’t publicly documented. That means your custom RCS app will likely need to reverse engineer Google’s encryption code (I believe it’s based on Signal for one on one, and MLS for groups?) or you won’t be able to read half of the messages.
SMS only transits the telco infrastructure, it doesn’t need servers in the client-servers sense, RCS does. Not only that but RCS needs them because it includes hosting for things like images and videos that are sent in messages.
I don’t think Google will allow anybody to partake in “their” RCS, the least of all custom ROMS. They will make it another thing like SafetyNet, designed to maintain their own control.
There aren’t any because there’s no point. And no, I hope this won’t be the standard.
There are two things called “RCS”: there’s a theoretical specification; and exactly one implementation that has managed to get any real traction, and that’s purely because it’s pushed by Google.
The RCS spec was attempted by various companies and all implementations died when they figured out they’d have to make them compatible and open their servers to each other. Even if they wanted to it would be a mess.
SMS succeeded because it doesn’t need servers, it’s just pieces of text being sent around.
Google is the only one still pushing their RCS because they figure if they tie their version of it into Android they will own the messaging on Android forever. They don’t want interoperability either.
If Google gets their way and their RCS becomes the EU standard it will lock the EU into a proprietary platform from one of the most vile data predators in the world.
There’s no point in making a FOSS implementation of RCS because the spec is highly dependent on who runs the servers. The only way it would make sense is if the EU would dictate a spec and force everybody to follow it and open their servers. In that take on things FOSS would be ideal.
Is the Google version of RCS not compatible with someone else’s RCS, then?
As in, I take it nobody else wants to run a server because it costs money, right? But suppose I did, and I had an RCS app to run with it. Would someone using my app be able to send a message to an Android user using Google Messages?
No. Google Messages only talks to Google’s servers.
The way it’s supposed to work is Google has some servers and an app, and you have your own servers and own app, and when someone sends a message from your app it goes your app > your server > Google server > Google app. And the same in reverse.
But in reality Google doesn’t let anybody’s servers talk to theirs and tries to make everybody use their app and their servers. Which they can afford to do because they own Android and can shove their app down anybody’s throat.
SMS uses servers, those servers just happen to be your telco’s servers. RCS was designed to work the same way, exchanging messages via servers hosted by carriers.
Nobody cared about RCS so Google took it upon themselves to host their own RCS server. Now most people who use RCS, use Google’s servers.
Assuming spec compliancy, anyone can make an app that communicates with a carrier’s servers, or with Google’s servers for that matter. In practice, the standard is obscure and the lack of system integration will have RCS apps fighting over who gets to do the RCS registration for your phone number.
Custom ROMs and such will probably get RCS support outside of Google Messages at some point in the future, and perhaps rooted phones will be able to use those same apps as well when that eventually happens. However, as it stands, RCS on Android would allow you to use one single app for rich messaging, and all other apps (including the Android system APIs) would have to fall back to SMS.
Furthermore, the RCS Google supports actually uses an E2EE scheme that isn’t publicly documented. That means your custom RCS app will likely need to reverse engineer Google’s encryption code (I believe it’s based on Signal for one on one, and MLS for groups?) or you won’t be able to read half of the messages.
SMS only transits the telco infrastructure, it doesn’t need servers in the client-servers sense, RCS does. Not only that but RCS needs them because it includes hosting for things like images and videos that are sent in messages.
I don’t think Google will allow anybody to partake in “their” RCS, the least of all custom ROMS. They will make it another thing like SafetyNet, designed to maintain their own control.