「microG」プロジェクトは、Android派生OS向けにGoogle Play Servicesを自由ソフトウェアとして再実装するGmsCoreを提供している。10月20日に注目を集めたこのプロジェクトは、標準のGoogle Play Servicesパッケージをインストールせずに、Googleの独自APIを呼び出すアプリをLineageOSなどのAOSPベースのシステム上で動作させることを目指す。
GmsCoreは新しいモバイルOSではなく、互換レイヤーとして機能する。アプリは引き続きGoogleのサービスに関連するインターフェースを呼び出し、microGが対応する機能を独自に実装して提供する。プロジェクトはこの仕組みについて、一般的なAndroidの機能を維持しながら、独自仕様のシステム構成要素を、ソースコードの閲覧や変更が可能なソフトウェアに置き換える方法だと説明する。
ただし、この置き換えには限界がある。microGの文書は、GmsCoreを使うアプリに独自ライブラリーが含まれている可能性があると注意を促している。それらのライブラリーは、Googleの公式サービスとやり取りするのとほぼ同じ形でmicroGと通信できる。そのため、代替ソフトを導入しただけで、すべてのアプリが自由ソフトウェアになったり、外部サービスへの依存がすべてなくなったりするわけではない。利用者は引き続き、インストールするアプリや、そのアプリがやり取りするデータを評価する必要がある。
互換性はOSにも左右される。GmsCoreには、アプリが想定するPlay Servicesの構成要素として自らを識別させる「署名偽装」の機能が必要だ。一部のAndroidベースのROMは、必要な機能に直接対応している。ほかのシステムでは、その機能を有効にできるか、またどう有効にするかを利用者が確認しなければならない。プロジェクトのWikiには、対応ROMやその他のインストール状況に関する案内がある。
GmsCoreには、Googleのネットワーク位置情報インターフェースへの要求を処理するモジュール、UnifiedNlpが含まれる。プロジェクトの文書によると、完全な構成にするには、microG Companionなど、Play Storeアプリの代替も必要だ。WikiではAPIの実装状況も別途管理している。互換性を目指しているからといって、すべてのGoogle APIが同一に動作する、あるいはすでに利用可能であるとは限らないため、これは重要な確認先となる。
プロジェクトは、不具合を報告する利用者に、ログ、スクリーンショット、ソフトウェアのバージョン、端末情報など、診断に役立つ具体的な情報を添えるよう求めている。また、ログには機微情報が含まれる可能性があると警告し、非公開で提出する経路を用意している。この案内は、Play Servicesの代替ソフトがシステムの非常に深い部分を担うことを反映する。不具合は、ROM、端末設定、アプリ、実際に使用しているAPIによって変わり得る。
対応するAndroid派生版の利用者にとって、microGの提案は万能な置き換えを保証するものではなく、利点と制約のある選択肢だ。Androidアプリが想定する一部のインターフェースを利用できる状態に保ちながら、Googleの独自ユーザー空間パッケージへの依存を減らせる。特定の端末とアプリの組み合わせで動作するかどうかは、署名偽装への対応、実装済みのAPI、アプリ自体に残る独自の構成要素に左右される。



