• cecilkorik@piefed.ca
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 hours ago

    Neither is true, that’s not how forking works. But there is some truth to it in that it can start to become significantly more difficult to keep in sync as time goes on, depending on how obnoxious the security becomes and how many places they have to remove it.

    Consider the trivially naive case where Google implements this feature in a single function: “function app_is_signed() -> bool” then the fork just adds “return true;” to the beginning of that function, and happily merges every other update Google makes from then on with zero issues. Even if the code for “app_is_signed” itself changes, nobody cares, because the first thing it does is return true and everything else Google ever tells it to check or do is ignored, the function can still be used everywhere throughout the code, it just no longer actually checks anything in Graphene, whereas it does check things in Google’s Android.

    Of course the reality is much more complicated than that, but the principle is the same. It’s only a question of how obnoxious and difficult Google chooses to be about it. They could move the function around every update, or use many different functions, make a whole system out of it, make it do crazy cryptographic validations and checksums in various different places of the code, have watchdog tasks that are checking that the validation code is getting used. They could be really, really obnoxious about it, if they want to be, and they have more resources than the Graphene OS developers probably do to undo and keep undoing all these obstacles, so if they really want to devote that much time and energy to making Graphene’s position untenable, they can. But they could also be doing that now, and they’re not. Crackers have been fighting these sort of battles against copy-protected software for ages, it’s the same principles, and much of the same economic choices go into it. How much does Google want Graphene OS to go away? How much is it worth to them? It has to have a dollar value to them, and that dollar value might be significantly higher than they’re willing to bother with.