move detailed Google services info to FAQ

This commit is contained in:
Daniel Micay 2021-04-14 08:48:00 -04:00
parent dbe0bd4b3a
commit 53f55776e6
2 changed files with 53 additions and 43 deletions

View File

@ -114,6 +114,7 @@
<li><a href="#file-transfer">How do I transfer files to another device?</a></li>
</ul>
</li>
<li><a href="#google-services">Will GrapheneOS include support for Google services?</a></li>
<li><a href="#features">What features does GrapheneOS implement?</a></li>
<li><a href="#anti-theft">Does GrapheneOS provide Factory Reset Protection?</a></li>
<li><a href="#bundled-apps">Why aren't my favorite apps bundled with GrapheneOS?</a></li>
@ -1145,6 +1146,55 @@
</article>
</section>
<article id="google-services">
<h2><a href="#google-services">Will GrapheneOS include support for Google services?</a></h2>
<p>GrapheneOS will never include either Google Play services or another
implementation of Google services like microG. Those are not included in the
Android Open Source Project and are not required for baseline Android
compatibility. Apps designed to run on Android rather than only Android with
bundled Google apps and services already work on GrapheneOS, so a huge number of
both open and closed source apps are already available for it.</p>
<p>AOSP APIs not tied to Google but that are typically provided via Play services
will continue to be implemented using open source providers like the Seedvault
backup app. Text-to-speech, speech-to-text, geocoding, accessibility services,
etc. are examples of other open Android APIs where we need to develop/bundle an
implementation based on existing open source projects. GrapheneOS is not going to
be implementing these via a Google service compatibility layer because these APIs
are in no way inherently tied to Google services.</p>
<p>We're developing a minimal Play services compatibility layer as a regular app
without any special privileges. The app will provide a stub implementation of the
entire Play services API pretending the servers are down and the functionality is
unavailable. It will always be disabled by default since apps will detect Play
services is available and will try to use it rather than alternatives. As an
example, Signal would try to use a non-functional FCM implementation rather than
their own server push implementation. The intention is that users will only enable
this in profiles dedicated to running apps with an unnecessary hard dependency on
Play services. We'll likely prevent enabling it in the owner profile to help users
avoid those kinds of pitfalls.</p>
<p>Our Play services app won't have any special privileges or whitelisting in the
OS like Play services or microG. There will be no support for bypassing arbitrary
signature checks like the microG signature spoofing patch since it substantially
compromises the OS security model and breaks other security features like verified
boot. Instead, our app will be signed with a GrapheneOS Play services key and the
only OS support for the app will be presenting the GrapheneOS Play services key as
the Google Play services key.</p>
<p>Ideally, Google themselves would support installing the official Play services
as a regular Android app, rather than taking the monopolistic approach of forcing
it to be bundled into the OS in a deeply integrated way with special privileged
permissions and capabilities unavailable to other service providers competing with
them. Even though we would never include it in GrapheneOS, it would be great if
users did have the option to install Play services as a regular app in specific
profiles. It's unfortunate that the approach taken to it is so deeply integrated
and anti-competitive. GrapheneOS users can still choose to use Google services if
they choose, but largely only via a browser. A few of their apps like Google Maps
do work with reduced functionality without Play services but most won't.</p>
</article>
<article id="features">
<h2><a href="#features">What features does GrapheneOS implement?</a></h2>

View File

@ -86,49 +86,9 @@
<h2><a href="#never-google-services">No Google apps or services</a></h2>
<p>GrapheneOS will never include either Google Play services or another
implementation of Google services like microG. Those are not included in the
Android Open Source Project and are not required for baseline Android
compatibility. Apps designed to run on Android rather than only Android with
bundled Google apps and services already work on GrapheneOS, so a huge number of
both open and closed source apps are already available for it.</p>
<p>AOSP APIs not tied to Google but that are typically provided via Play services
will continue to be implemented using open source providers like the Seedvault
backup app. Text-to-speech, speech-to-text, geocoding, accessibility services,
etc. are examples of other open Android APIs where we need to develop/bundle an
implementation based on existing open source projects. GrapheneOS is not going to
be implementing these via a Google service compatibility layer because these APIs
are in no way inherently tied to Google services.</p>
<p>We're developing a minimal Play services compatibility layer as a regular app
without any special privileges. The app will provide a stub implementation of the
entire Play services API pretending the servers are down and the functionality is
unavailable. It will always be disabled by default since apps will detect Play
services is available and will try to use it rather than alternatives. As an
example, Signal would try to use a non-functional FCM implementation rather than
their own server push implementation. The intention is that users will only enable
this in profiles dedicated to running apps with an unnecessary hard dependency on
Play services. We'll likely prevent enabling it in the owner profile to help users
avoid those kinds of pitfalls.</p>
<p>Our Play services app won't have any special privileges or whitelisting in the
OS like Play services or microG. There will be no support for bypassing arbitrary
signature checks like the microG signature spoofing patch since it substantially
compromises the OS security model and breaks other security features like verified
boot. Instead, our app will be signed with a GrapheneOS Play services key and the
only OS support for the app will be presenting the GrapheneOS Play services key as
the Google Play services key.</p>
<p>Ideally, Google themselves would support installing the official Play services
as a regular Android app, rather than taking the monopolistic approach of forcing
it to be bundled into the OS in a deeply integrated way with special privileged
permissions and capabilities unavailable to other service providers competing with
them. Even though we would never include it in GrapheneOS, it would be great if
users did have the option to install Play services as a regular app in specific
profiles. It's unfortunate that the approach taken to it is so deeply integrated
and anti-competitive. GrapheneOS users can still choose to use Google services if
they choose, but largely only via a browser. A few of their apps like Google Maps
do work with reduced functionality without Play services but most won't.</p>
implementation of Google services like microG. See
<a href="/faq#google-services">the FAQ section</a> for more details on our plans
for filling in the gaps from not shipping Play services and Google apps.</p>
</section>
<section id="history">