Is RCS an open standard? I’ve seen some people say it is and others it isn’t and now I’m very confused. Can you please give me a definitive answer?

  • dev_null@lemmy.ml
    link
    fedilink
    English
    arrow-up
    89
    arrow-down
    1
    ·
    edit-2
    10 months ago

    The confusion stems from the fact there no APIs in Android that let apps use RCS. Only Google can use it on Android and no other apps can use it. Anyone can make an SMS app. Only Google can make an RCS app.

    It is an open standard, meaning you are free to create your own operating system for phones that implements RCS. But Google doesn’t let you use it on Android, so in practice it’s closed.

    Plus, Google’s implementation of RCS adds extra features (like encryption) that aren’t part of the standard. So even if you create your own operating system that implements RCS, it will still be incompatible. So that’s another reason it’s not really open.

    • brax@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      33
      ·
      10 months ago

      That seems incredibly dumb and backwards. I guess doing it this way helps them expedite its death like all their other products lol

      • Carighan Maconar@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        1
        ·
        10 months ago

        I was about to say the dumb and backwards part was not having basic stuff like encryption in the standard. 🤷

        • seang96@spgrn.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 months ago

          This is because the telecom providers were apart of designing the standards and implementation but did not care about it and Google released their own service for it. There is no money in it for the telecom providers to support it.

      • T156@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        10 months ago

        It would also let them claim that its an open standard that anyone can use and they’re contributing to open source, even if no-one could effectively use it in the same way that they implemented it.

        It’s XMPP all over again.

    • Mountaineer@aussie.zone
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      1
      ·
      10 months ago

      Only Google can make an RCS app

      Yes and no.
      You don’t need to make your own OS, but you do need to implement support for the RCS protocol within your app, rather than piggyback on Googles APIs.

      I don’t like it, but there’s no legal requirement for google to provide those APIs, like they did with SMS etc.

      • lemmyvore@feddit.nl
        link
        fedilink
        English
        arrow-up
        11
        ·
        10 months ago

        That’s fair but that also means their “RCS” is really just a name they slapped on their latest proprietary messaging platform.

        We know they’ve been trying to get ahead in the messenger game for many years, now maybe they figured if they use the RCS angle it might get some traction.

        Or maybe I’m completely off, who knows. Google’s approach to messaging has always baffled me. They could have had a ton of traction and market share by now if they’d have just stuck with one. Why they keep tearing them down and building another one, and why they think this latest one will do any better, I have no idea.

        • Mountaineer@aussie.zone
          link
          fedilink
          English
          arrow-up
          5
          ·
          10 months ago

          You can interoperate with googles RCS.
          If you are willing and able to enter a partnership like Samsung, you can do it fully (including encryption support etc).

          Google are determined to not make it easy, and I agree with you, it appears to be yet another messaging land grab.

          Trying to put myself in their headspace for a moment, one justification for making it hard is to stop thousands of apps coming out declaring “full RCS support!” through the APIs, then screwing the pooch (through poor security or deliberate back doors or or or).
          Right now Google are desperately attempting to make RCS happen, after almost a decade of trying and failing to make various carriers play ball.
          They do not want any bad press about how feature poor/insecure/slow/buggy it is right now.

          • danhakimi@kbin.social
            link
            fedilink
            arrow-up
            4
            ·
            10 months ago

            If you are willing and able to enter a partnership like Samsung, you can do it fully (including encryption support etc).

            Samsung can interoperate. We cannot. We cannot enter into partnerships with Google. We are people, Samsung is a massive corporation. You understand the difference, right? Google will not let us access their servers. They’re not making it difficult, they’re not making it possible at all.

      • danhakimi@kbin.social
        link
        fedilink
        arrow-up
        3
        ·
        10 months ago

        you don’t just need to support the protocol, you need a server to communicate with your client, and Google is not here to federate its RCS service with Bob’s summer Github project.

      • asdfasdfhuomenta@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        10 months ago

        https://github.com/Hirohumi/rust-rcs-client

        Someone has written an open source RCS client prototype, but it has been only tested in China, where carriers do provide their own RCS servers as they are supposed. The author has not tested it with Google’s servers, which are probably blocked in China.

        If you want to use SIM card based authentication, you need to have the app installed as a system app. That however is not an option for Google’s servers anyway, since they need to be able to work without carrier co-operation. Google uses SMS based authentication instead.

        There does not necessarily need to be anything in Google’s servers that would reject non-Google RCS implementations: the SMS based authentication is defined in the spec, too.

        Personally, I would not want the Google’s proprietary implementation to serve an API, but there to be a fully open source client instead.

    • Skull giver@popplesburger.hilciferous.nl
      link
      fedilink
      English
      arrow-up
      8
      ·
      10 months ago

      Most of RCS can be (and has been) implemented by alternative apps, actually. Several carriers have made their own RCS apps for use with their RCS servers, because phones didn’t have support. There are issues (the lack of notification signalling, for one) but they can be worked around. There was a library for this, but it got abandoned years ago and won’t work well with modern RCS users.

      What’s keeping most people from developing these apps is that the standard is quite large, and that a phone number can only be registered with one server, which usually means “Google’s server”. Install an RCS app and the Google Messages app breaks, uninstall the app and Google Messages won’t magically have the keys to decrypt your messages or even receive messages in the first place.

      People want Google Messages to just expose an API like they did on SMS and MMS because implementing RCS would be a massive pain. There’s some partial support, but only for reading and not for every type of message. If Google’s messenger would just expose an API, everyone could use the normal system API and you wouldn’t run into issues like “after deleting Signal nobody can text me anymore”.

      Then there’s the issue that most carriers don’t bother implementing an RCS server, so most RCS users are actually on Google’s server. Authenticating with RCS servers is complex enough, but adding a non-carrier to the mix with its own weird RCS extensions only makes things worse.

      Google’s weird protocol extensions are somewhere between “Google doesn’t publish any details” and “basically Signal+MLS packed in a base64 blob”. After implementing RCS, I don’t think implementing encryption would be that much of a challenge, but it would involve some reverse engineering which really shouldn’t be necessary.

    • johannesvanderwhales@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      10 months ago

      So what, if RCS becomes the standard I’m going to lose the ability to choose what messaging app I use? I very much don’t like that.

    • lemmyvore@feddit.nl
      link
      fedilink
      English
      arrow-up
      3
      ·
      10 months ago

      To add to this, even if it were really fully open, like, say, Lemmy is, because it requires servers there’s the issue of being allowed on someone else’s server and whether servers are modified, and whether server owners want to interoperate and so on.

      In some ways the RCS debacle has been similar to the Fediverse debacle about federating with Threads, or with undesirable servers. Even if the protocols are open there can still be bad actors.

      • danhakimi@kbin.social
        link
        fedilink
        arrow-up
        3
        ·
        10 months ago

        Matrix is the federated messaging network. It’s also end to end encrypted, although people have pointed out issues with server security and with metadata—which is why they’re working on peer to peer tech.

        RCS is not similar to any federated technology at all. It’s operated exclusively by Google in the US and most other countries. The technology was created, from the ground up, for carriers. But even carriers couldn’t actually make it work in practice, so they asked Google to take over. It’s a fucking albatross. We, as a society, need to drop it.

    • _thisdot@infosec.pub
      link
      fedilink
      English
      arrow-up
      2
      ·
      10 months ago

      This seems to imply that you need a fork of Android, if you’re to build a messaging app that uses RCS.

      But my understanding is what you really need is essentially an RCS server.

    • danhakimi@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      There is an RCS test app, we could theoretically modify that, but I guess nobody has for some reason. I don’t particularly want people to use it, Matrix makes so much more sense.

        • danhakimi@kbin.social
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          10 months ago

          Google is the exclusive RCS provider for all carriers in the US and many other countries. The desire for an AOSP android API is for developers to be able to write clients the way they do SMS clients, not to replace Google’s servers—that’s a pipe dream. IIRC, Google actually helped Samsung develop RCS support in their app. I’m not sure why it’s so difficult to implement.

  • entropicdrift@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    22
    arrow-down
    1
    ·
    10 months ago

    It is an open standard. The end-to-end encryption is not an open standard, nor are the stickers, those are both proprietary to Google Messages but the rest is open.

  • nudny ekscentryk
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    10 months ago

    Yes it is, it’s been developed by the GSM Association, but Google does have de facto monopoly in the market right now by their Jio Jibe virtual carrier. RCS can be freely implemented by carriers and device manufacturers independently of that, but so far only Samsung, T-Mobile USA and Verizon did so — everyone else uses Google’s Messages. Importantly, different RCS implementations can talk to each other, just like email servers, or Lemmy instances.

    Apple has been encouraged to enable RCS compatibility in iMessage in a loud campaign by Google, but they are obviously not very eager to do that, as their own research shows the closedness of Apple ecosystem and messaging system is a main driving factor of sales. This has been revealed in the Apple vs Epic Games case hearings

  • danhakimi@kbin.social
    link
    fedilink
    arrow-up
    9
    ·
    10 months ago

    It’s kind of open. It’s pretty much open for carriers to implement on the server side, and for OEMs to develop on the client side. There is an open source client in AOSP’s RCS Test App, but for one reason or another, as far as I know nobody’s attempted to implement it in an actual usable client app. I don’t believe there’s a server reference implementation. And, in the US, all the carriers’ RCS services are run exclusively by Google, so there’s no real point in attempting to set up your own server. Apple might be able to navigate the politics with carriers and with Google to make something work, if it wants to, but it’s really not a standard for us to play with.

    Use Matrix Instead.

  • Suzune@ani.social
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    10 months ago

    It may be open as concerns specs, but in most countries you’ll pay much for using provider services instead of internet.

    On the other hand it’s closed, because no one except big mobile comms can offer this service. It’s better to avoid it. The only way to have free communication standards is to use the good old internet instead of the infrastructure of the provider.