2012年2月9日木曜日

MozcもGoogle Updateの対象になる

Googleが様々な手段でユーザのコンピュータ(及びスマホなど)の利用状況をデータとして収集していることが懸念されているわけですが、Webブラウザに関しては、Webkitエンジンの代表格であるGoogle Chromeを外して考えるわけにはいかなかったところを、ChromeのソースがChromiumという形でオープンソースになっていることから、懸念される情報収集及びその送信部分を取り除き、正しく動作するよう大量のコードを加えた「SRWare Iron」を使うことで、心配から逃れるすべがありました。

他によく使われているのはGoogle Earth、そして日本人は「Google日本語入力」を使っている人がたくさんいるのではないかと思います(僕もそのひとり)。

Google日本語入力は辞書の優秀さとサジェッション(候補表示)の巧みさから、商用のIMEを購入して、OSバンドルのIME(WindowsならMS IME、Macならことえり)の阿呆さ加減を克服するのをためらわせるほどの魅力があります。

ただ、もしGoogle日本語入力が入力内容をGoogleに送信していたら、と考えると、これは究極のキーロガー(キーボード入力を記録して第三者に送信するプログラム)ともいえることになってしまいます。

そこで、Google日本語入力のオープンソース版であるmozcはどうなのか、ということになるのですが、mozcはGoogle日本語入力で使われる辞書は使うことができないようになっており、かわりにIPA(情報処理推進機構)が作成し、公開している辞書を使うようになっています。ソースがすべて公開されていることから、キーロガー的ななにかや、使用状況をGoogleに送信していないかどうかなどを確かめることができます。

そこで、mozcのソースを、ごく簡単に、ざっくり見てみました。

すると、「omaha」という語を含むキーを作成したり登録したりする処理が最初に目につきました。これは、Windows用の部分では、レジストリをアクセスして、内容を確認したり登録したりします。そして、そのレジストリキーの名前が「Google\Update」なのです。

Google Updateといえば、Googleのソフトウェアを入れると必ず入るプログラムで、MacでもKeystoneという形でマシン起動時にデーモンとして起動しますし、Windowsでプロセスマネージャーを見ると、GoogleUpdate.exeというプロセスとして確認することができます。

ChromeやGoogle日本語入力は、特にアップデート作業をしなくても、「いつのまにか」最新版に更新されています。いままでこの理由を説明するサイトは見当たらなかったのですが、要するにつねにGoogleと通信して最新版かどうかを確認し、そうでなければダウンロードして勝手に最新版に置き換える挙動をGoogle Updateが実行しているのです。

問題は、このとき、コンピュータなりスマホなりに固有のIDを作成してGoogleに登録しておくという動作が含まれていることです。これによって、Google側ではソフトウェアの更新状況や利用状況を把握できるというわけです。それだけなら会社で共同で使っている人は気にしないかもしれませんが、Googleアカウントとひもづけられると、誰がどのソフトウェアをどのぐらい使っているかということが、個人の他の属性(氏名、居住地、その他GoogleアカウントやGoogle+などのプロフィールに登録した内容)と関連付けられてしまうということになります。ある意味、Googleへの忠誠度がはかられているといえるかもしれません。

そして、「omaha」ですが、これはGoogle Updateのオープンソース版だそうです。

Omaha - Project page

Googleによれば、Google Updateが不審なプログラムと捉えられることは望まないので、どのような挙動をし、どのような通信が行われているかを、その仕様と実際のプログラムを文書とソースコードとして公表した、ということなのだそうです。

結論からいうと、mozcにはOmahaが入っています。したがって、mozcをインストールしたことはGoogleが把握していますし、どのバージョンが使われているかをGoogleは知っています。どのマシンで使わているかもGoogleは知っています。もしかしたら、勝手に最新版に置き換えられているかもしれません。

Ironはドイツで作られ、メニュー等の表示の翻訳をどなたかが提供される形で日本語対応がなされていますが、mozcに関しては日本人自身があらゆる作業に取り組まなくてはいけません。Ironは単にコードを削っただけではなく、相当量のコードの追加が必要だったとフォーラムで開発者が明かしています。mozcはChromiumと比べれば非常に小さなコード量ですが、Chromium由来のソースがたくさん含まれています。オープンソースですから、派生プログラムを作成して公表することに法的な問題は全くありません。ソースコードには、Googleからの派生物であることを明示し、Googleがつけたクレジットさえ書き換えなければよいと書かれています。ライセンスはBSDですから、要するにas-isです。どなたか腕に覚えのある方、mozcをクリーンにするプロジェクトに取り組んでみませんか。