Hacker News new | ask | show | jobs
by kuschku 26 days ago
I just don't get why we need to argue about something — the right to general purpose computing — which has been answered decades ago?

The user must be the administrator of their own device. Whether that's a laptop, desktop, PDA, mp3-player, smartphone, tablet, cyberdeck, netbook, or any other kind of computing device.

The user must be able to overrule any and all decisions. That's the definition of ownership.

Like, this was the reason why GNU was founded, and before that was the plot of the movie TRON.

2 comments

Being the administrator and being able to sidestep OS protections are not the same thing. Without root, the user is in control of what application does what and how. With root, the user is not. Root is not freedom or ownership, like many try to claim. Root is a hacky shortcut to proper functionality. You can build and sign the OS with your own keys, without undermining the security of your device, and adding whatever functionality you want with the principle of least privilege.

Its really funny because Tron, or at least Tron Legacy, is a great example of why godhood is dangerous and why a user and a program having root access is catastrophic.

Being an administrator is being root. That's the entire point. That whatever restrictions an app has set, I can override it if I need to.

> You can build and sign the OS with your own keys, without undermining the security of your device, and adding whatever functionality you want with the principle of least privilege.

Building a version of the OS and flashing that removes everything currently on the device.

So if I ever need to overrule a restriction an app has set, I must have already granted myself the power to do so ahead of time.

Which means there are only two viable paths forward:

1. If I assume that software is perfect, and I will never need to overrule a restriction software sets, I can use stock Android or Graphene OS

2. If I assume that at some point in the future I might someday need to overrule any restriction, I must grant myself root permissions from the start.

Also, I don't need to grant root permissions to random apps.

All that's needed is for the adb and the native file manager to be able to enter sudo mode and read any file, so that in worst case I can always pull all data off the device, and flash a version of the OS with my changes instead.

If we want to go one step further, and want to apply the practical definition of the FSF rights of free software, you should also be able to replace any file using the builtin file manager in sudo mode.

You dont have the ability to guarantee you have overridden anything. The integrity of the OS cannot be verified and anything with root can lie to you that it was revoked. It does not put power in your hands.

Installing your own build does wipe the device when you unlock the bootloader, yes, but updating it with a locked bootloader does not. It would be a one time transfer if you have official images already installed.

Your paths forward are a false dichotomy. These are not the only 2 options. You can simply update your build with the changes you want.

The randomness of an app is irrelevant and apps need to jump through significantly less loops to obtain root access without your input. And even if they didnt do that, and you permitted root instead, the app can lie about you revoking it later in either case.

This is blind ideology over safety and real ownership. Root is a hacky shortcut for proper functionality, and is not a prerequisite to ownership in the slightest.

> Your paths forward are a false dichotomy. These are not the only 2 options. You can simply update your build with the changes you want.

Okay, so once I install grapheneOS, how do I update it with my own custom build while keeping my data intact?

> You dont have the ability to guarantee you have overridden anything. The integrity of the OS cannot be verified and anything with root can lie to you that it was revoked. It does not put power in your hands.

You haven't read anything of what I've written, it's incredible.

You're continuing to use the term "root" to mean granting full power to random apps.

I'm using the term "root" in Linux terminology.

It's not advisable to run random software as root, no matter what platform you are on.

But the OS' native file explorer and shell, in this case com.android.documentsui/com.android.files and adb, should allow the user to authorize themselves as root and read/write to any file.

You would install your own build of GrapheneOS. Not the official images.

Its not advisable to run anything as root, at all. Or expose access to it in any form.

You can make userdebug builds to access a form of root that doesnt undermine the entire security model, in ADB. Afaik this lets you access apps internal directories but is not recommended for production devices.

> You would install your own build of GrapheneOS. Not the official images.

Awesome, so you're advising against installing GrapheneOS for anyone that wants control over their own data.

Sorry for twisting the words slightly, but that's the essence of the issue here, isn't it?

> Its not advisable to run anything as root, at all. Or expose access to it in any form.

And then you advise for exposing access to it in pretty much the same form I asked for before.

It'd be funny if it wasn't so exhausting.

Regarding the security model: So adjust the security model.

Any access that an app can have, should also be available to the user. Importantly, they should be able to access and modify any data.

The system documents/files app already has special permissions for that, there's no reason why it shouldn't have access to all files (accessible through the same unlock system as e.g. the security settings)

We're still arguing for several reasons, one of them is that people still confuse the user with the owner, as you do. "The user must be able to override" is implies that if you have physical access to someone's phone, you can install a keylogger before handing the phone back its owner. Nice for you but I imagine the owner might still quibble, even if you quote TRON.
If I hand my windows laptop to someone, they can also install a keylogger.

But no one said we have to copy that flawed concept. macOS and Linux already have a good solution, requiring your full unlock password in a privileged dialog to authorize changes.

It's ridiculous that changing the settings on my device is protected 10× more than transferring all my money to a random person.

> But no one said we have to copy that flawed concept. macOS and Linux already have a good solution, requiring your full unlock password in a privileged dialog to authorize changes.

You use operating systems that have significantly worse security than GOS, iOS and even stock Android as your examples?

Also you literally are the owner with GrapheneOS, lacking security is not "full ownership." You can create your own build of GOS, you can modify it ahead of time, you can literally see all of the source code it's running.

Claiming GOS isn't true ownership is like complaining that you can't change your car's wheel alignment while driving it and saying it means you don't truly own your car.

> lacking security is not "full ownership"

It kind of is. A locked box with no key, is a very secure device with no utility. If I can't unlock the box ever, just because someone could steal my key and unlock it as well, doesn't make the box an example of a perfect security model.

The issue with taking away root access, and providing no alternative for modifying installed apps, it's just taking away rights from user. An app can modify its own data (which is fine), but a user modifying the data of an app is somehow a big no no. GOS also provides no proper firewall solution, other than the stupid VPN-based solutions available on Android.

If the intention of GrapheneOS is to serve the app developers and not the owner of the device, it should just say so.

Even in your flawed analogy, I can stop at any time and adjust my wheels. Without losing the contents of my trunk.