カスタムROMとは、今お使いのスマフォの機械はそのまま使い、そこに乗せる基本ソフト(OS)を変更して、「監視されないスマフォ」を作ってしまおうと言うものです。
ただし、一律にこのようなことはできず、カスタムROMと機種の組み合わせによって様々な制約があります。最も大きなものは、iPhoneです。iPhoneを変更することはできません。
iPhoneユーザの方へ
iPhoneには、監視されない「カスタムROM」の提供は不可能のようです。iPhoneは、その機械自体も、そこに載せられているOSもクローズド、つまり、他者による解析がほぼ不可能であり、iPhoneスマフォに載せる代替OSの作成は困難とのことです。
Androidの構成とカスタムROM
Googleによる、いわゆるAndroidというOSの大きな部分は、オープンソースプロジェクトです。つまり、その設計図が公開されており、誰でも見れて検証できるものです。おおよそ、Androidと呼ばれるスマフォの構成は次のように示すことができます。
- 青部分は、機械本体です。各社によって様々なハードウェアがあります。
- この機械の上で動作するのが、AndroidというOS(黄色)ですが、このOSの大きな部分がASOP(Android Open Source Project)と言って、設計図の公開されたオープンソースプロジェクトです。それに加え、Google独自のコードや、スマフォメーカーのコードが追加されて、普通の動作するAndroid用のOSが構成されています。
- このOSが動作している上に、必要なアプリ(赤)をインストールして使うようになっています。
Googleによる監視、あるいは、可能性としてスマフォメーカーによる監視など、いかなる監視も受けないためには、まず、黄色部分をすべてオープンソースにし、設計図が公開されて誰でもが検証できる状態にしなければなりません。
これを行った「Androidスマフォ機械のためのOS」が、カスタムROMと言われるものです。これらのカスタムROMに対し、初めからスマフォに搭載されて出荷されるOSを「ストックROM」などと呼ぶようです。
カスタムROMの最も重大な問題とその解決
カスタムROMの問題としては、「あらゆるAndroidアプリがすべて動作する」とは限らないことです。カスタムROMではない、通常のAndroidでも、様々な要因でこういった問題は起こることはご存知でしょう。しかし、カスタムROMでの最も重大な問題は、Googleを完全排除することで、動作しなくなるアプリがあることです。
Googleのコード(Google Playサービス、Google開発者サービスなどと呼ばれる)は、スマフォを監視すると同時に、アプリに対する様々なサービスを提供しているため、これを排除すると、これらを必要とするアプリが全く動作しなくなってしまいます。
例えば、Googleのコードには、Google Mapと同等の地図機能をアプリが簡単に利用できる仕組みがあるのですが、これに依存するアプリは全く動作しません。
下の画面例のように、インストールはできても、エラーが表示されたり、本来表示されるべき地図が表示されません。
この問題に対して何もしないカスタムROMもありますが、解決を提供するものもあります。主には二つのやり方です。
一つはmicroGと呼ばれるもので、Googleのサービスと同一つのものをオープンソースとして新たに作成してしまおうというものです。現時点では不十分とはいえ、かなりのアプリがこれによって動作するものと思われます。
もう一つは、Googleのコードを使ってしまいますが、これをSandBox(砂箱、猫などが粗相をしても大丈夫にするもの)で取り囲んでしまい、勝手なことができないようにするものです。つまり、Google自体のサービスを利用するものの、スマフォの個人情報等は、Google側に渡さないということです。この場合には、Googleのサービスのすべてが使用できるはずですから、microG方式よりもより多くのアプリが動作すると思われます。
カスタムROMの種類
カスタムROMには、様々な考え方による様々な種類がありますが、基本的な考え方としては同じです。各スマフォメーカーやGoogleによるコードを排除し、AOSPを使いながらすべてをオープンソースで構成してしまうことです。Googleのサービスへの対応は、それぞれのカスタムROMで異なります。
現在では、カスタムROMは、列挙できないほどの種類があります。AOSPがオープンソースであり、それを利用して誰でも「動作するAndroid-OS」を作ることができるからです。
GrapheneOS
現在はGoogle Pixelという機種のみを対象とする、カスタムROMの中では最もセキュリティに気を配ったものです。「スマフォを使うならGrapheneOSにする」と、エドワード・スノーデンは言います。
先の問題に対するGrapheneOSの解決策としては、唯一SandBoxを使ったものとなっています。つまり、本物のGoogleコードを利用しつつ、勝手なことをさせずにそのサービスのみを利用するものです。
/e/OS
LineageOSをベースとし、microGが組み込まれたOSです。幅広い機種をサポートしており、可能な限り多くの機種、可能な限り多くのアプリの動作を求めるのであれば、このカスタムROMが選択肢となるでしょう。
LineageOS for microG
これもまたLineageOSをベースとして、microGを組み込んだものです。
LineageOS
最も広範囲の機種をサポートするカスタムROMですが、このカスタムROMを入れた後で、microGを入れることはできないようです。
他にも列挙できないほど様々なものがあります。例えば以下です。https://beebom.com/best-custom-roms-android-phones/
これらは基本的に、「機械は自分で調達して、カスタムROMは自分でインストールしてもらう」というタイプのソフトウェアプロジェクトですが、本ウェブサイトと同様に、「カスタムROMがインストールされたスマフォを製品として販売する」サイトも海外ではたくさん出てきています。
カスタムROMについてのリンク集