原文はChromium's Freedom Flaws。Wikiなので翻訳と原文がズレるかもしれません。当訳は2019/10/13 19:59 by emulatorman時点のものです。かなり怪しい箇所が多いので、誤訳の指摘や翻訳の提案などがあればぜひuki@e-yuuki.orgへご連絡ください。

Googleは偉大なエンジニアリング集団で、僕たちのほとんどが(少なくとも僕は)毎日Googleの製品やサービスをなにかしらのかたちで享受しています。しかしメディアでよく槍玉に挙げられるようにGoogleは常になにかしらの問題を抱えています。

フリーソフトウェア運動から見たGoogleの製品にはどのような問題があり、フリーソフトウェア推進派はいかにしてその問題に立ち向かっているのか?が分かります。構造は巨大な権力を持つ大企業 対 理想主義者集団のようで、一見後者が劣勢のようにみえますが、それでも希望はあるようです。


  1. Chromiumの不自由
    1. なにが問題なのか?
      1. Googleへのクエリ
      2. あらかじめビルドされたバイナリ
      3. DRMとプロプライエタリコーデック
      4. プライバシの問題
      5. 作業中のことについて
    2. 世の中の動き
    3. ライセンス
    4. 謝辞

Chromiumの不自由

フリーソフトウェア活動家として、わたしたちHyperbolaプロジェクトは新しい最高のフリーソフトウェアを使うことを楽しんでいます。ただしわたしたちはそのソフトウェアが本当にフリーソフトウェア運動における自由を尊重しているかを確認しなければなりません。多くのユーザがわたしたちに、Chromiumは完璧にフリーソフトウェアだと思うので、Chromiumを使いたいと述べています。しかしいまだChromiumはいくつかの点で失敗しています。

われわれの調査では、状況は好転しているとわかりました。ほんの数年前は、自由ではないとみるべき1,000以上のライセンスされていないファイルがありましたこの問題は解決されたように見えます。DebianのLintianレポートと努力に感謝します[1]。

しかしながら当初からChromiumにはフリーソフトウェアユーザにとって重要ないくつかの問題が残っています。すべてのソースコードがただしくライセンスされていたとしても、です

なにが問題なのか?

Googleへのクエリ

当初から、Chromiumのソースコードはいまだに多くのコードがGoogleへ直接インターネットアクセスをしています。パッチが適用されていない状態でビルドしたとき、あなたのブラウジング体験の大部分はGoogleのオンラインWebサービスの管理下にあります。すでに『Who does that server really serve?』で述べられているように、フリーソフトウェアはあなたが主導権を握っているか第三者製のWebサービスに依存する必要がないときのみ自由なのです。音声認識のためのGoogle Webサービスプラグインの削除を含め、この問題からChromiumを解放すべくいくつかの作業はすでに完了しています。

あらかじめビルドされたバイナリ

当初からChromiumはコンパイルの高速化のためにあらかじめビルドされた(pre-built)バイナリをいくつか含んでいます完璧なフリーソフトウェアのために、わたしたちはソースコードからソフトウェアをビルドしなければなりません。パッケージメンテナはコンパイルオプションに "use_prebuilt" オプションを使うべきではありません。

DRMとプロプライエタリコーデック

ChromiumはWidevine DRMやAdobe Pepper Flashそして自由でない第三者製のコーデックをサポートしています。パッケージメンテナはフリーソフトウェアを実現するため、コンパイルするよりも前にソースコードからこれらを削除することを保証しなければなりません無効にするだけでは不十分です。『FSDG』のとおりソースコードから(それらへ対するサポートや参照も込みで)削除する必要があります

フリーソフトウェアとは関係なく、わたしたちはユーザが自身の個人情報を管理できるようにしたいと考えています。ChromiumにはTorと組み合わせて使うのにふさわしくない、プライバシーに対する懸念がいくつも報告されていますプロキシにユーザのIPアドレスが流出してしまうバグが残っている問題や、コンピュータのホスト名とハードウェアが流出するフィンガープリントの問題、そしてブラウザがシークレットモードのときタイミング攻撃を許してしまう問題です[2]。フリーソフトウェアユーザはこれらの問題に気づき、必要に応じてアップストリームとパッケージにパッチを適用しなければなりません。

作業中のことについて

ユーザプライバシの強化だけでなく、Googleへのクエリとあらかじめビルドされたバイナリを削除することも完了しています。

このパッチセットは「ungoogled-chromium」と呼ばれています。Inox Browser、Iridium BrowserそしてDebianのパッチはその努力の一例です。これらの修正が組み込まれた独自(self-contained)バージョンのChromiumが公開されているあいだ、これらのパッチセットを使いメンテナンスに手を差し伸べることをフリーソフトウェア推進派は推奨されています。Chromiumがリリースされるたびに、自由を侵害するGoogleの特定のコードとバイナリを削除するため、新しいパッチセットを作る必要があります。独自バージョンを所持すると、はからずとも誰かが自由でないソフトウェアを使ってしまう可能性を完全には拭いきれません

世の中の動き

Chromiumは組み込まれたフレークワークとして様々なプロジェクトで使われ始めました。

ユーザはQt WebエンジンがChromiumをベースに開発され、Chromiumと同じ不自由を抱えていることを知っておく必要があります。ユーザの自由を保証するには、プロプライエタリなコーデックとその他の機能を、コンパイルする前に削除しなければなりません。QtがKDEや多くのアプリケーションの主要なコンポーネントとなったことが原因で、フリーソフトウェア運動において不自由なソフトウェアを削除し正確にコンパイルをすることは、これまで以上に重要となってきました。

わたしたちの自由のために、フリーソフトウェアプロジェクトはどのコンポーネントを依存させるか決めるとき、あらゆる自由の問題に関して一層用心しなければなりません。

Chromiumが自由をより尊重するだけでなく、ユーザの自由とプライバシまたインターネットの安全もまた尊重するように、様々なプロジェクトが万人のために開発へ携わっています。なのでわたしたちはChromiumに対し期待を寄せています。

ライセンス

この文書はAttribution-ShareAlike 4.0 InternationalGNU Free Documentation Licenseのもとで利用可能です。

謝辞

この文書の大半はLuke R.によって執筆されました。

訳注

  1. Debianはパッケージの検査にlintian(1)というコマンドを使っています。これによってパッケージがDebianのポリシーに沿ったものか、パッケージングのエラーがないかなどをチェックできます。Debianが提供するパッケージにlintian(1)した結果はLintian Reportから確認できます。『第7章 パッケージのエラーの検証』と『4 lintian でパッケージをチェックする』もあわせて参照してください。

  2. 「タイミング攻撃」とは暗号化や復号にかかった時間を調べることで鍵を推測する攻撃手法のことです。