csis01
csis01 RCS is fundamentally a g* product, as it routes all your messages through g* servers. I don't recommend its use on that basis.
Not entirely true, but for some carriers it is.
RCS really is a standard for carriers and requires carrier support for how is intended to work. When you transfer messages carrier to carrier, each side needs the RCS infrastructure to support that.
Google took advantage of the fact that they're a carrier (for Fi) and setup a carrier RCS server. In order to push the other carriers to actually implement RCS like they agreed to (and missed their own deadlines on doing for years), Google did some shifty work and setup their RCS app to opportunistically use your carrier's RCS server to send to the destination user's carrier RCS server, but replace either/both of these carrier RCS servers with theirs if the carrier in question doesn't have an RCS server yet.
They don't want to have to run the RCS servers for the entire world forever, and there are compatibility concerns with the app and the server so they've restricted who can use the Google RCS server and send RCS.
Now at this point most carriers do have at least partial RCS support, but Google has still not made RCS support available thru the normal carrier interface for some reason and have restricted it to their separate app. Technically someone could write their own RCS messaging app right now, but it would only work for a very small number of users and with a small number of features since compatibility requires both the sender and receiver to be on a carrier with RCS and with overlapping sets of RCS features. But they'd have to implement the whole RCS protocol basically from scratch, which rightfully no one wants to do.
EDIT: typo