GNUアフェロGPLの理由
GNUアフェロ一般公衆ライセンスは通常のGNU GPLバージョン3の改変したバージョンです。これには一つ要求が加わっています。サーバでプログラムを動かし、そこでそのプログラムとほかのユーザに通信させる場合、サーバはユーザにそこで動いているプログラムの対応するソースコードをダウンロードも許可しなければいけない、というものです。そこで動いているのが、そのプログラムの改変されたバージョンの場合、サーバのユーザは改変されたソースコードを取得する必要があります。
GNUアフェロ一般公衆ライセンスの目的は、サーバでしばしば使われる自由なプログラムの開発者に関わる問題を防止することです。
あなたが通常のGNU GPLで自由なプログラムを開発し、リリースしたとしましょう。ある開発者Dがプログラムを改変してリリースした場合、GPLはかれのバージョンもGPLで配布することを、かれに要求します。ですから、あなたがかれのバージョンのコピーを得た場合、あなたはあなたのバージョンにかれの変更を一部、もしくはすべて取り込むことが自由にできるのです。
しかし、プログラムが主にサーバで有用なものだとしましょう。Dがプログラムを改変した時、かれ自身のサーバでかれがそれを実行するけれどもコピーをリリースしないことは十分ありうることでしょう。その時、あなたはかれのバージョンのソースコードのコピーを得ることができず、かれの変更をあなたのバージョンに含める機会がないかもしれません。そして、あなたはその結果を好まないかもしれません。
GNUアフェロGPLを使うと、この結果を避けることができます。Dがかれのバージョンを誰もが利用できるサーバで動かした場合、あなたもそれを利用できるでしょう。かれがライセンスの要求に従い、サーバのユーザにかれのバージョンのソースコードをダウンロードさせるようにさせたと仮定すると、あなたはかれの変更をあなたのバージョンに組み込むことができるでしょう。(もしかれがそれに従わない場合、あなたの弁護士は、かれに対して苦情を言えます。)
通常のGNU GPLバージョン3とGNUアフェロGPLの両方に、一つのプログラムにこれらの二つのライセンスのモジュールを一緒にリンクすることを認めるテキストがあります。
GNUアフェロ一般公衆ライセンスが扱わない一つの問題は、サービスとしてのソフトウェア(SaaS)の問題です。わたしたちの知る限り、この問題をソフトウェアライセンスが取り扱うことは不可能です。 [1]
Saasは誰かのネットワークサーバをそのほかの人がかれら自身のコンピューティングの仕事に使うことを意味します。かれらはかれらのデータをかれらのためにかれらのコンピューティングをしてくれるサーバに送る必要があり、その結果をかれらに送り返します。ユーザがサーバがかれらのために行うコンピューティングのコントロールをできないので、SaaSは問題です。
GNUアフェロGPLでサーバのあるプログラムがリリースされている場合、そのプログラムの対応したソースをダウンロードする方法がユーザにあることが要求されています。それは良いことですが、そのソースコードを持つことだけでは、サーバがかれらに行うコンピューティングを、かれらがコントロールすることにはなりません。また、ほかのソフトウェアがサーバで動いていて、かれらのデータをその他の方法で検査したり変更したりするかもしれないことについては、なにもわかりません。
