裏取りが済んでない記事未満の何かを垂れ流すスペース。
内容は現状のまま無保証で掲載されるし、見解は所属を代表した公式なものではないし、何かを推奨するものではない。
記載の内容を真似したことで起こるいかなる損害についても責任を負わない。
この記事の内容について、ここに書いてる以上のことは無いので何か聞かれても特に答えることはない。
筆者は既に一線を退いた身なので、今後の情報の更新はなく、このページは記録として残されるのみである。
最近は星の数ほどのカスタムROMがこの世に存在し、その中でも Pixel のルック・アンド・フィールに寄せたカスタムROMが持て囃されがちなわけだが、その多くで提供されている機能の中には明確にライセンスの問題を抱えた実装が 複数 存在する。この記事ではそうした問題のある実装について説明する。
ちゃんと読まない人間がいるのではっきり書いておく[1] が、この記事は特定のカスタムROMを使用することを咎めるものではない。
使用は常に あなたの責任において判断をすべきこと(USE AT YOUR OWN RISK)[2] であり、わたしがそこに介入・強制する権利はないからです。
判断材料のひとつとして私は事実に基づく以下の調査結果を提供するので、あとは好きにしろ。というのがスタンス。
この項で取り扱う内容は Android 10-11 の頃の話であることに注意。Android 12 以降は興味ないので知らん。
tl;dr
- Motorola 端末で使用されていた実装の盗用。
- 顔認証技術を提供していた会社からは著作権侵害による削除申請があり、GitHubからは削除された
- が、懲りずに自前のサーバーに移行して盗用を続けている
一番問題のある実装といえば間違いなく顔認証システムだろう。多くのユーザーはもはやOS標準機能だと思ってるのでは?という説すらあるが、そんなことはない。昔の Android にはあったよね?と思った人、半分合ってます。これについて説明するためには、Android OS における顔認証の歴史から紐解くことになる。
まず、インカメラを用いた顔認証によるロック解除は Android 5.x の頃から Trusted face として存在こそしていたものの、その精度はお世辞にも高いとは言えないものであり(実際 端末によっては写真でも突破できた とされている)、位置情報や近くのデバイスを用いた補助的な解除方法と同列に位置づけられていた(Smart Lock)。
Smart Lock の例。なつかしいですね
やがて Google は Pixel 4 で顔認証用に2基のIRカメラを搭載し、今までより高精度な顔のスキャンが可能になったことで、API的にはこれを指紋認証周り (FingerprintManager
) と統合して生体認証 (BiometricsPrompt
) として利用できるようにした。しかし、このご時勢ではいまいち流行らなかったのか、 Google も以降の端末には普通に指紋センサーを搭載するようになってしまった。
一方で従来のインカメラのみでの顔認証はこれと入れ替わるようにして Smart Lock からは姿を消す こととなるのだが、やはりその手軽さから今でもその需要は少なくない。
しかし、高価なセンサーやIRカメラを使わずにインカメラを用いる手法を諦めなかったメーカーもあった。Motorola (Lenovoの会社) は顔認識システムで世界をリードする中国企業の Megvii と契約を結び、技術供与を受けることでインカメラを用いての精度向上を図り、最近の Android バージョンを搭載する自社端末においても顔認証によるロック解除を可能としている [3] 。
ここに目をつけたのが Pixel Experience の開発者で、彼らは Motorola 製端末のシステムダンプから顔認証周りの実装を逆コンパイルしたものを GitHub で公開、そのままカスタムROMに移植してしまったのだ。
パクられた Megvii 側は自社製品を不特定多数が利用可能な形で無断公開されてるわけで、著作権所有者としては黙ってられないので DMCA Takedown を要求、関連リポジトリは GitHub からは一掃 された…はずだった。
ところが Pixel Experience の開発陣は顔認証関連のリポジトリを GitLab.com に移設して続行(のちに 自前の GitLab インスタンス に移行)、現在も削除することなく機能を提供し続けている。
ちなみに今は Motorola の実装をパクるのをやめて Megvii 側の実装を直接使うほうに 切り替えたらしい 。そうじゃないんだよな。
長いスクリーンショットを撮りたいけど Android 10 では標準の機能じゃないよ~という感じで ROG Phone 2 から ASUS による独自実装をぶっこ抜いてきたやつ。
これはまだ消されてないのでGitHubにリポジトリがある。もう 11 では使ってないっぽいけど。
これも Pixel Experience (の開発者)が初出。
追記: Android 11 にこの機能を投入しているカスタムROM もある。
tl;dr
- Product Sans は Google がオープンソースライセンスの下で提供するフォント ではない
Google が自社のブランディング用途に制作したフォント。Pixel 端末ではシステムにも使用されている。きちんと ライセンスに関するページ が存在していて、
Google offers many fonts under open source licenses. This is not one of them. Please see fonts.google.com for options you can use.
とだけ書かれている。 これくらい中学生でも読めますよね? 読めないならGoogle翻訳でもDeepLでも使って読んでください。私は優しいので読めなかった人にも特別に教えてあげますが、 Product Sans は Google がオープンソースライセンスの下で提供するフォント ではない ということです[4] 。
しかしユーザーはそんなこと知らないので、RobotoよりはGoogle Sansが出てきたほうが Pixel っぽくて喜ぶ。そのため最近のカスタムROMの多くには当然のように 同梱されている 。よかったですね。
ユーザーが Google から『ようこそ、新しい Pixel へ』などのメールが来る、という報告が 散見される 。
もちろんこれも最近のカスタムROMのお節介な要素で、ご丁寧にも Google 製アプリに対して自身を Pixel だと言い張る ようになっている。この実装だけだと確証にまでは至っていないが、Google フォトの無制限アップロード機能が有効になっている報告とも関連がなくはなさそう[5]。
リンク先のソースコードの通り、これもPEの開発者による実装が元で、他の様々なカスタムROMにも採用されている。
追記: 最近は設定のほうに Google フォト等の目的を達成するために端末情報を偽装するトグルスイッチが個別機能ごとに生えてるっぽい。黒。
ちなみにこの機能を更に改造し、騙す対象を大幅に増やすことで Pixel 限定で先行提供される新機能であるはずの Feature Drop を利用可能にしているカスタムROMもある。
tl;dr
- 10年以上前にGoogleがダメって明言してる
Android 端末向けの Google 製アプリケーション群の総称。主に Google Play 開発者サービス
や Play ストア
などの、Android 端末を使うにはほぼ不可欠な Google サービスを含む。通常、カスタムROMには同梱されない。
…はずだったが、最近のカスタムROMの多くでは Google 製アプリケーション群は最初から入っている。焼いてすぐ Pixel 相当の体験ができると嬉しいんでしょうね。
…もはや今更という気もするけど、2009年の Google 側の声明 をご存知でない?[6]
と思ったが、今まで書いてきたようなモラルの無さからしてどうでもいいんだろうな…という予感。
ざっくり: 当時の CyanogenMod が Google 製アプリを同梱してたのに対して、 Google 側が「それらはオープンソースソフトウェアとして公開している Android プラットフォームの一部ではなくて、うちの製品なので同梱による非正規な配布は許容できない」とした回。CyanogenMod は Google の声明に 理解を示し 、これを尊重するとして同梱を取りやめた。
一方で、ユーザーには自身の端末からバックアップしたものを書き戻す形でならば引き続き Google 製アプリを使用する権利を有している[7] という見解も cyanogen は表明した。これを拡大解釈して配布されているのが OpenGApps[8] などの今日における GApps パッケージになる。
初期の A/B パーティション採用端末とか、後から入れるのが微妙にめんどくさい機種は実在するので、はっきり悪と断じるのも難しいところではあるんだけど、そういう事情関係なさそうな機種まで同梱してるのは言い逃れのしようがないと思う。思うだけ。
"Pixel Imprint" の文字列はAOSPで公開されているソースコードの時点で存在する。ただ消し忘れた文字列。[9]
知らん。俺はこんなん配ってる人間の気が知れないというだけで、使ってる人間にどうこうしろとは言ってない。自分で調べて判断してくれ。
対応端末とか考えたら LineageOS くらいしか残らん気がする。豊富な機能はないけど余計なこともしないので。
あるいはご自分で作られたら良いと思います。応援しますよ。
これはROM側じゃなくてメンテナのお行儀が悪い問題なので別件にはなるんだけど、OnePlus 8 シリーズ向けの crDroid には Motorola 端末(たぶん moto g stylus)からぶっこ抜いてきた Dolby Atmos アプリが同梱されていて笑った。
だいたいは言っても無駄なのでやめとけ。リンクは貼らないけど、昔似たようなプロジェクト相手に似たような行動を起こした果敢な人間がいた。相手は聞く耳を持たないどころか彼に罵詈雑言を浴びせてきて、見ているこちらまで胸糞悪くなる経験をした。
こことか読んでる?括弧書きするには長いやつとかの補足がここにあります。たまには見てね ↩︎
カスタムROMを焼いたり、一歩間違えたら文鎮作る工程を踏む上ではお約束の一文。 ↩︎
Xiaomi も同様の技術供与を受けているらしく、vendor blobを保管するリポジトリのいくらかも同様に Megvii による DMCA Takedown 要求を受けて削除されている。 ↩︎
公開されている情報はこれ以上でもこれ以下でもないので、使用に関する細かい可否は判断しかねる("Please see fonts.google.com for options you can use." っつってんだからこれに関しては you can't use かも、くらいの読みようはあるかもしれないが…)。少なくとも再配布は明示的に許可されていない以上は… ↩︎
私はこの機能に極めて興味がなく、分かったとしてもそれを使うつもりも推奨するつもりもない(写真のバックアップには Amazon Photos を使っています) ↩︎
わたしもリアルタイムで見てたわけではないので記事と伝聞でしか知らないけども。 ↩︎
これは OpenGApps の about にも書いてあるが、GApps のパッケージはバックアップ(建前)を書き戻す便利な手段として提供されているのであって、Google 製アプリが搭載されていない端末にインストールしたからといってその使用が許諾されることはない。元の端末が Google による認定を受けていることが必要である。 ↩︎
よくある誤解だが、OpenGApps は パッケージの生成用スクリプトなどがオープンなだけであって、配布されているパッケージについて権利的な問題がないことを示すものではない。about にある通り、ミラーを含む再配布は禁止されている。 ↩︎
そもそも指紋認証の実装に関しては設定だけでなくカーネルから始まるので、そこをメーカーが公開している以上は問題も何も… ↩︎