Comment by grapheneos
7 hours ago
Users having that access is not the same as the OS using that access for more than the bare minimum components and even giving it to apps based on a request prompt. Users need beyond that level of access to install GrapheneOS. It does not mean we think a production device should run a bunch of the OS as root and make it available to applications. GrapheneOS already has hardware-based virtualization where users have a development environment with root access without compromising the overall OS security for it. Running a bunch of different virtual machines is the right way to approach most of those things such as running agents locally for development without trusting them with direct access to anything.
Contrary to how you're portraying it, our own compatibility layer is fully open source software. microG exists to provide compatibility with apps using closed source Google libraries. Our compatibility layer exists to provide compatibility with closed source Google apps and apps using closed source Google code. Both are open source projects. Neither would have any significant real world use if apps weren't using Google's closed source libraries. We already have standalone network-based location, geocoding and other features. Those do not require compatibility with Google Play APIs and we disagree with it being strongly tied together.
GrapheneOS provides both standalone reimplementations of Google service features not tied to their closed source apps and libraries along with a compatibility layer for their closed source apps and libraries. All of our code for all of this is open source. microG is not an open source alternative to what we've built and are in the process of expanding ourselves. Both are open source and it's wrong to keep misleading people about what we provide and are building.
This is pointless, we're going in circles and you're just restating your views in a way that's unresponsive to my point.
1) a user having root inside a VM is not the same thing as having root and I suspect you well know that.
2) No one is claiming microG is an alternative to your sandbox - it's an alternative to the GApps you suggest people install into your sandbox. Again, you clearly know this.
GrapheneOS users have the ability to get root on their devices. GrapheneOS users are choosing to use an OS not expanding the trusted computing base to a massive portion of the userbase OS. Userdebug builds of GrapheneOS have user accessible root but not root access which can be requested by applications. The regular production builds limit root access to a minimal set of process still contained with SELinux policy to the extent they can be. Choosing to use an OS focused on privacy and security without root access for more than the bare minimum portion of the OS is not the user lacking control over their device.
GrapheneOS reimplements a growing portion of the services normally provided by Google Play services including network location and geocoding. It does this without having Google services built into the base OS with privileged access as /e/ does with microG. It doesn't strongly tie those services to Google Play services APIs as microG does.
GrapheneOS has a reimplementation of Google APIs including the location APIs and will be greatly expanding that over time. The existing implementations avoid the pitfalls of how this is approached in microG. We'll be continuing to expand this as the project scales up and it will become increasingly capable of running apps depending on Google Play APIs without without ever installing any Google apps.
Our Google Play compatibility layer is not a special sandbox for running Google Play. It's a compatibility layer to enable apps to run without privileged Google integration into the OS. It enables both Google apps and those depending on them to run. Over time, it will be expanding how much of the APIs are reimplemented by us to enable using more apps without Google Play than it currently does.
GrapheneOS doesn't recommend installing Google Play as you keep claiming. /e/ makes many connections to Google servers by default and gives highly privileged access to the implementation of those services (microG). microG on /e/ downloads Google executables (droidguard) by default and runs those with privileged access. GrapheneOS never gives that kind of highly privileged access and data to Google apps.
Our approach to reimplementing their APIs redirects them to other implementations from within the app using it instead of having a new highly privileged component sharing data across apps and having to enforce a permission model for them. Our Google Play location service reimplementation doesn't have to perform any permission checks itself since it just has apps query the OS location APIs including the OS network location provider when available. Those are standard AOSP APIs and we implement the Google Play APIs locally inside of the app using it on top of those.
> GrapheneOS doesn't recommend installing Google Play
https://grapheneos.org/usage#sandboxed-google-play
¯\_(ツ)_/¯
1 reply →