プログラミング: 2008年3月アーカイブ
さて、現在ARToolKitのソースの公開に向けた準備を進めている最中ですが、
そこで避けては通れない問題があります。
GNU General Public License(以下GPL)の問題です。(wikipediaのGPL解説ページ
----- <GPLの大まかな説明> -----
ARToolKitのソースのライセンスは、このGPLになっています。
ここでは、GPLについて簡単な説明しかしないので、詳細については他のHPを参照ください。
また、"説明が間違っている"、とか"説明が足りない"部分もあるかもしれません。ご注意ください。
ということで、GPLを(誤解を恐れず簡単に)説明すると、以下のような内容になります。
「GPL付きのプログラムを変更し、再配布する場合は、必ず変更したソースコードも一緒に配布しなくていけない」
GPLでは、入手したプログラムを個人や社内"のみ"で使用している場合には、何の制限もありません。
また、プログラムを使用して書き出された出力結果についても、ほとんどの場合扱いは自由です。
しかし、その実行ファイルやソースを配布しようとした時には、いくつかの制限がつきます。
その1つが、改変したソースコードも必ず、全て公開しなくてはいけない、というものです。
もし、それらの制限が守れないのであれば、実行ファイルやソースの配布は絶対にできません。
ですが実際に、これらの制限をちゃんと守っている人がどれくらいいるのかは、ちょっと怪しいところです。
企業であれば、GPL違反は"ソースの公開又は配布の停止"という非常に重い罰則になるので、どこもGPLには気をつけているはずです。
しかし、個人で公開しているフリーウェア等の場合、"ソースの公開又は配布の停止だけ"という罰則は非常に軽いです。
しかも、ARToolKitのようなプログラムならまだしも、そのアプリがGPL違反かどうかなんて、実行ファイルだけでは普通分かりません。
という背景はありますが、僕自身は「規則だから」という問題は抜きにしても、GPLをちゃんと守ってソースを公開したいと思います。(まぁ理由は後で
さて長くなりましたが、では実際にARToolKitで作ったプログラムを公開する際に、注意すべきことを書いてみます。
----- <ARToolKitのGPLで、問題になるのは?> -----
・僕がARToolKitのプログラムをダウンロードし、プログラムを変更する
→ ○問題ない
公開しなければ、何も問題ありません。
・改変したプログラムを実行、その出力結果をWebに公開する
→ △内容にもよるが、概ね問題ない
実行結果で、ソース自体を出力しないのであれば、問題ありません。
実行結果のみなら、動画を公開しても大丈夫です。
・もし、このプログラムの実行ファイルのみを、Webに公開したら
→ ×GPL違反
ソースの公開等の制限を実行するか、その旨の文章を入れないといけない。
・ARToolKitで使われている画像(マーカーパターンなど)を改変、公開
→ △場合によりけり
画像データ等がプログラムの一部として判断されるかは微妙です。
しかしそうだとしても、僕の場合は改変した画像も既に公開されているので、問題はないと思います。(ソースも必ず完全公開しますし
----- <GPLに違反したら?> -----
上にも書いたように、少なくてもARToolKit(GNU GPL Ver2)の場合は、
ライセンスに書かれている制限(「ソースコードを公開する」又は「配布を停止する」、など)以外の罰則はないようです。
----- <実際に配布時に行わなければいけないこと> -----
これに関しては、GPLの日本語訳が分かりやすいです。
重要そうな所を一部、ARToolKitの例で説明しますと。
----- <GPLはなんのためにあるのか?> -----
といったように、少し面倒なGPLですが、これにはちゃんと理由があります。
GPLの目的とは、「フリーウェアが誰かの手によって独占的に保持されるのを防ぎ、
ソースを共有することによって、フリーウェアを発展させていきましょう」というものです。
この考え方は、クリエイティブ・コモンズにも似ていますね。
コピーレフトというものらしいです。
ということで、僕はARToolKitがもっと発展してほしいと思っているので、GPLを推奨します。
----- <最後に> -----
何度も書かれているように、なにぶん僕も勉強不足な面があるので、間違ってたり、説明足らずな部分があると思います。
なのでGPLについては、ここを信用しないよう、ご自身でちゃんと調べてください。
また、そういった点があった場合、コメント等に指摘をいただけるとありがたいです。
GPLに関する質問については、答えられないかもしれないです。申し訳ないです。
そこで避けては通れない問題があります。
GNU General Public License(以下GPL)の問題です。(wikipediaのGPL解説ページ
----- <GPLの大まかな説明> -----
ARToolKitのソースのライセンスは、このGPLになっています。
ここでは、GPLについて簡単な説明しかしないので、詳細については他のHPを参照ください。
また、"説明が間違っている"、とか"説明が足りない"部分もあるかもしれません。ご注意ください。
ということで、GPLを(誤解を恐れず簡単に)説明すると、以下のような内容になります。
「GPL付きのプログラムを変更し、再配布する場合は、必ず変更したソースコードも一緒に配布しなくていけない」
GPLでは、入手したプログラムを個人や社内"のみ"で使用している場合には、何の制限もありません。
また、プログラムを使用して書き出された出力結果についても、ほとんどの場合扱いは自由です。
しかし、その実行ファイルやソースを配布しようとした時には、いくつかの制限がつきます。
その1つが、改変したソースコードも必ず、全て公開しなくてはいけない、というものです。
もし、それらの制限が守れないのであれば、実行ファイルやソースの配布は絶対にできません。
ですが実際に、これらの制限をちゃんと守っている人がどれくらいいるのかは、ちょっと怪しいところです。
企業であれば、GPL違反は"ソースの公開又は配布の停止"という非常に重い罰則になるので、どこもGPLには気をつけているはずです。
しかし、個人で公開しているフリーウェア等の場合、"ソースの公開又は配布の停止だけ"という罰則は非常に軽いです。
しかも、ARToolKitのようなプログラムならまだしも、そのアプリがGPL違反かどうかなんて、実行ファイルだけでは普通分かりません。
という背景はありますが、僕自身は「規則だから」という問題は抜きにしても、GPLをちゃんと守ってソースを公開したいと思います。(まぁ理由は後で
さて長くなりましたが、では実際にARToolKitで作ったプログラムを公開する際に、注意すべきことを書いてみます。
----- <ARToolKitのGPLで、問題になるのは?> -----
・僕がARToolKitのプログラムをダウンロードし、プログラムを変更する
→ ○問題ない
公開しなければ、何も問題ありません。
・改変したプログラムを実行、その出力結果をWebに公開する
→ △内容にもよるが、概ね問題ない
実行結果で、ソース自体を出力しないのであれば、問題ありません。
実行結果のみなら、動画を公開しても大丈夫です。
・もし、このプログラムの実行ファイルのみを、Webに公開したら
→ ×GPL違反
ソースの公開等の制限を実行するか、その旨の文章を入れないといけない。
・ARToolKitで使われている画像(マーカーパターンなど)を改変、公開
→ △場合によりけり
画像データ等がプログラムの一部として判断されるかは微妙です。
しかしそうだとしても、僕の場合は改変した画像も既に公開されているので、問題はないと思います。(ソースも必ず完全公開しますし
----- <GPLに違反したら?> -----
上にも書いたように、少なくてもARToolKit(GNU GPL Ver2)の場合は、
ライセンスに書かれている制限(「ソースコードを公開する」又は「配布を停止する」、など)以外の罰則はないようです。
----- <実際に配布時に行わなければいけないこと> -----
これに関しては、GPLの日本語訳が分かりやすいです。
重要そうな所を一部、ARToolKitの例で説明しますと。
●ARToolKitを元に作られたプログラムを配布する時は、その変更箇所を全て公開しなくてはいけない。等々があります。詳しくは、上記リンクを参照してください。
●その時に、変更した旨とその変更日とを、そのファイル上に書かなくてはいけない。
●プログラム実行時に著作権等の注意事項を出力する。
●GPLのライセンスが書かれたテキスト(COPYING.txt)を、配布ファイルの中にも入れておくこと。
----- <GPLはなんのためにあるのか?> -----
といったように、少し面倒なGPLですが、これにはちゃんと理由があります。
GPLの目的とは、「フリーウェアが誰かの手によって独占的に保持されるのを防ぎ、
ソースを共有することによって、フリーウェアを発展させていきましょう」というものです。
この考え方は、クリエイティブ・コモンズにも似ていますね。
コピーレフトというものらしいです。
ということで、僕はARToolKitがもっと発展してほしいと思っているので、GPLを推奨します。
----- <最後に> -----
何度も書かれているように、なにぶん僕も勉強不足な面があるので、間違ってたり、説明足らずな部分があると思います。
なのでGPLについては、ここを信用しないよう、ご自身でちゃんと調べてください。
また、そういった点があった場合、コメント等に指摘をいただけるとありがたいです。
GPLに関する質問については、答えられないかもしれないです。申し訳ないです。
