GPLで公開されているソフトウェアのソースコードを解析し、アルゴリズムを学習して、新しいソフトウェアを作成した場合は、派生物の扱いになるのでしょうか?(ソースコードの流用は、一切なしです。)
先ほど上記の質問に「アルゴリズムは著作権で保護されないもの」との回答をいただき一旦クローズしたのですが、ライセンスとしてリバースエンジニアリングという行為そのものが許されているかどうかはっきりしていないと気付いたので、再質問いたします。突っ込んだ解説をどなたかお願いします。
リバースエンジニアリングは許諾されています
wikipediaからですが下記が判りやすいと思います
http://ja.wikipedia.org/wiki/GNU_General_Public_License
概ね以下のことを許諾するライセンスである。
1. プログラムの実行[2]
2. プログラムの動作を調べ、それを改変すること(ソースコードへのアクセスは、その前提になる)
3. 複製物の再頒布
4. プログラムを改良し、改良を公衆にリリースする権利(ソースコードへのアクセスは、その前提になる)
ついでになりますがLGPLの場合
http://ja.wikipedia.org/wiki/GNU_Lesser_General_Public_License
ライブラリAにリンクしたプログラムBを配布する場合、Bのライセンスにリバースエンジニアリングを禁止する条項を含めてはならない。(LGPLv2-6、LGPLv3-4)
アルゴリズムだけを流用した場合に関して、それが派生物(derivative work)になるかどうかは、微妙ではあるようです。
"オープンソフトウェアの法的諸問題に関する調査(PDF ファイル)"
この報告書の「3.2 "Derivative work" の解釈」に、その解釈に関して書いてますが、著作権法の派生物となるかどうかが、一つの判断基準のように見えるけど、"Derivative work" が著作権法上の概念とは独立した概念のようにも受け取れるので、まぁ、範囲を広めに考えておいた方が良いかもね、といった感じで書かれています。
アルゴリズムだけでは著作権法では保護されない、という事と合わせて考えれば、
あくまでオリジナルのソフトウェアを作成するためにアルゴリズムの学習材料として利用する
という範囲では、派生物とはみなされない可能性が高いと思います。
おとなり質問の http://q.hatena.ne.jp/1159847609 も読んだところです。"derivative work"の解釈というのが微妙なのですね。
>「アルゴリズムは著作権で保護されないもの」
この場合の、アルゴリズムは、汎用的で古くからあるものです。
アルゴリズムでも独創性が認められるものは著作権で保護されると考えられるのが通例です。
>GPLで公開されているソフトウェアのソースコードを解析し、アルゴリズムを学習して、新しいソフトウェアを作成した場合は、
>派生物の扱いになるのでしょうか?(ソースコードの流用は、一切なしです。)
GPLの精神を尊重するなら、これは派生物扱いです。
これが派生物扱いにならないのなら、GPLのソフトウェアはこの方法を使って
すべてGPLでないものに作り変えることが可能です。
GPLの精神がこれでも尊重されると言う人はいないでしょう。
ソースが公開されているものを調べるのに、
リバースエンジニアリングとかいいません。
これはバイナリーだけが公開されてる場合に、バイナリーからソースを生成(逆コンパイル)したりして
解析することを言います。
だから、GPLでは、リバースエンジニアリングを禁止とかそういうのはありえないんです。
許諾されているのですが、この場合それで作成したソフトウェアは派生物としてGPLを引き継がなければならなくなってしまいます。
2.で許可されている改変ではなく、あくまでオリジナルのソフトウェアを作成するためにアルゴリズムの学習材料として利用することの許諾に関してです。
LGPLの件ですが、リンクするわけでもないのでまた別のことかと思っています。