Considering the RCS implementation, at least as I understand it, utilizes Google services. No you're going to have to deal with Google.
RCS is not an open protocol for federation.
That being said, if you want an open app that talks to the Google APIs, but doesn't run Google code locally on your phone, then there's probably a path.
You could always run something like graphene os with sandboxed Google services, completely restrict the network access to the bare minimum to allow RCS to function. At least in one profile
Please forgive my ignorance, (I am not a tech savvy person). Does this mean once RCS is adopted by Apple, Google services will have to be installed on iPhones? How does that work?
GSMA created a RCS - that is a protocol. Then they released a "basic spec"- Universal Profile. Anyone who implements this spec can guarantee that their RCS messages will work with anyone else's messages.
Some internet providers, network manufacturers, some OEMs implemented Universal Profile (UP here and next) in their systems. And also Google and Microsoft announced they have done Universal Profile too. Check this list of parties that created their own thing, with a UP = they are all working together
So. At this point in history you have nothing to do with Google. If you want to receive and send RCS, you have a spec to follow and a protocol to use. Everyone else with UP will be able to communicate with you. You can add some nice things above UP, with the understanding that only your clients will enjoy them. Think about it as AOSP (bare android) vs Google's pixel android vs Samsung's android vs Xiaomi's thing. They are independent, but they have some specs to follow, and it is still android behind the doors.
At some point in time Google said to providers: "Either you are joining the movement and create your own infrastructure with UP spec to work with RCS (and then the "text messages" are still going through your provider, as the SMS do), or we will transfer the messages via our own servers (since you don't support the protocol to move them through you).
This was criticized, because GMSA's RCS protocol does not support e2e encryption. This is ridiculous complain, because SMS are not encrypted and ARE FULLY VISIBLE TO ANYONE including your provider, and a hacker with 100 dollars to spend on SS7 attacks. If you are not a hacker, in our and other countries there is a subscription model for SS7 vulnerability based "hacks".
Google said ok, and implemented Signal protocol for e2e above RCS. Think again about difference with AOSP android and Pixel android - you can have nice things on top.
So. Nowadays. There is a Messages app on your phone. If you want to, it will send RCS. Because it is Google's version, it supports e2e. If your provider has implemented RCS, the message goes through your provider (as the rest of SMS). Most providers don't bother, so the RCS goes through Google's servers. Since right now you're only sending RCs between a Google's version to a Google's version, everything is e2e encrypted (and evil google won't read this tiny bit of your information on top of everything they know about us 😌).
If Apple implements RCS, the situation will be similar.
Apple will use their app to send RCS to non-imessage contacts. Providers with RCS support will handle the messages (just like they do with SMS). Otherwise Apple will handle their part and on the receiving end a provider with RCS support or google do the rest.
Important note: protocol as it is written is not e2e. So if Apple continue to be pricks, they will implement the bare minimum and will say: "Use imessage, it is safe, don't use green bubbles, they are unsafe". The other option: they can push GSMA to update the protocol with e2e. Or they can adopt Google's version with Signal protocol on top. Sometimes this happens with specs - a large player can force everyone to support extra features.
As far as I can tell, each carrier needs to run its own RCS implementation, something like universal profile.
Google is running some RCS hubs, which are the interlink between different RCS implementations between operators. I think Google is able to implement RCS messaging for anybody on any carrier, because they can basically man in the middle at the hub.
So if you want to use Google hub, you have to use Google's api.
I'm not sure how this works for the individual carriers, if there can be a generic RCS phone app and talk directly to the carrier.
why has nobody answered this question
people have, can you not see it?
There are a bunch of responses. You're not seeing anything?
yes mabye everyone is from a instance my instance is not federated with