TiVo化とは
TiVo化(Tivoization)とは、
GNU General Public License(GPL)のような
コピーレフトライセンスで配布される
ソフトウェアを組み込んだ製品において、ハードウェアの制約により、ユーザーがその
ソフトウェアの改変版を動作させることを妨げる行為を指します。この用語は、フリー
ソフトウェア活動家のリチャード・ストールマンによって作られました。
ストールマンは、このTiVo化によって、GPLが意図する
ソフトウェアの
自由が侵害されると主張しています。具体的には、TiVo社が自社のハードディスクレコーダー(DVR)であるTiVoにGPLライセンスの
ソフトウェアを利用しながら、ハードウェア設計によってユーザーが
ソフトウェアを改変する
自由を制限したことに由来します。
TiVoの事例
TiVoの
ソフトウェアは、
Linuxカーネルと
GNUプロジェクトの
ソフトウェアを基盤としています。これらの
ソフトウェアはGPLv2の下でライセンスされており、頒布者は
ソフトウェアの受領者に対応する
ソースコードを提供する義務があります。これにより、ユーザーは
ソフトウェアを
自由に改変できるはずでした。しかし、TiVoは自社製品上で動作するプログラムを、製造元が認証した
デジタル署名がある場合にのみ実行するように制限しました。この仕組みにより、ユーザーが
ソフトウェアを改変しても、TiVoのハードウェアでは動作しない状態を作り出したのです。
ストールマンは、このTiVoの行為をGPLの精神に反すると批判しました。TiVoは
ソースコードを公開することでGPLの要求は満たしているものの、ユーザーが改変した
ソフトウェアを実行する
自由は与えていないからです。これにより、メーカーだけが改変の
自由を持ち、ユーザーは一切その
自由を持たないという不均衡な状態が生じました。
一方で、
Linuxカーネルの原作者であるリーナス・トーバルズは、TiVoが
デジタル署名を使って自社製品上の
ソフトウェアを制限することには問題がないと主張しました。彼は、
デジタル署名をセキュリティツールとして活用することには有用性があると考えており、
ソフトウェアライセンスが支配すべきは
ソフトウェア自体であり、ハードウェアまで対象とすべきではないという立場です。トーバルズは、
ソフトウェアへのアクセスが確保され、他のハードウェアで動作させることができる限り、
デジタル署名で改変版の利用を制限しても倫理的に問題はないと述べています。
しかし、他の
Linux開発者の中には、アラン・コックスのように、この見解に異議を唱える者も存在します。
GPLv3とTiVo化への対策
フリー
ソフトウェア財団(FSF)は、このようなTiVo化の懸念に対応するため、GPLv3の策定においてTiVo化を防止する条項を盛り込みました。GPLv3では、セキュリティ目的での
デジタル署名は認めつつ、ユーザーが
ソフトウェアを改変して
自由に利用できる権利を保証することを目指しています。
この反TiVo化条項は、GPLv3の第二草案で明確化されましたが、一部の
Linux開発者は、この条項が有益な利用も妨げる可能性があると懸念しました。その後の草案では、この条項は「商用頒布」される
ソフトウェアにのみ適用されるように制限され、医療機器や電子投票機などは適用外となりました。最終的に、GPLv3は
2007年6月29日に正式に発行されましたが、リーナス・トーバルズは新しい草案には「非常に満足している」と述べたものの、
LinuxカーネルをGPLv3で再ライセンスすることは支持しませんでした。
GPLv3への移行の困難性
Linuxカーネルは、GPLv2でライセンスされており、そのライセンスには「または、あなたの選択で、以降のバージョンの」という文言が含まれていません。そのため、カーネルをGPLv3で再ライセンスするには、すべての著作権者から同意を得る必要があり、事実上困難であると考えられています。
また、BusyBoxのような、TiVo化された
組み込みシステムで広く利用されている
ソフトウェアを開発するプロジェクトも、GPLv3への移行を辞退しています。
まとめ
TiVo化は、GPLのような
コピーレフトライセンスの理念を実質的に骨抜きにする行為であり、フリー
ソフトウェアコミュニティで大きな議論を巻き起こしました。GPLv3で対策が講じられたものの、
LinuxカーネルのようにGPLv2でライセンスされた
ソフトウェアは、TiVo化のリスクにさらされたままです。この問題は、
ソフトウェアの
自由とハードウェアの制御という、複雑な関係性を浮き彫りにしています。
脚注
外部リンク
- - フリーソフトウェア財団による"Tivoization"の定義
- - An Introduction to Tivoization - The Linux Information Project (LINFO) による。
- - Stallman, Torvalds, Moglen share views on DRM and GPLv3 - Shashank Sharmaによる。
- - TiVo - GNU/Linux Source Code - TiVoはLinuxカーネル、glibcその他のソフトウェアに改変を行い頒布しているため、GPLによる顧客からの要求に従わなければならない。
- - リチャード・ストールマンによるTiVo化の説明:
-
2006年3月、イタリア
-
2006年4月、ブラジル
-
2006年6月、スペイン
-
2006年8月、インド
-
2006年11月、日本
- - Stallman and Bruce Perens debating about GPL and tivoization (on Wikimedia Commons)
- - エベン・モグレンによる説明:
-
2006年6月、スペイン
-
2006年11月、日本
- - Tivoisation explained - implementation and harms
- - Using a hypervisor to reconcile GPL and proprietary embedded code