I’ve read the specification. Google’s implementation is the only real implementation (raw RCS is basically a dead project) as Google have added a load of custom extensions to RCS that means, to be interoperable, you’d need to use Google’s (which I imagine requires licensing since it doesn’t appear to be open source).