GPLやBSDなど様々なライセンスが存在しておりいます。
GPLなどは時々GPLウィルスといわれる現象もあったりしますが、具体的に以下のような状況はどう判断されるのでしょうか?
1.GPLで「A」という機能を持った似たようなものがあるが、それを知らずに自作。機能自体が同じなので内部的にも似たような構造になる
2.GPLで「A」という機能を持った似たようなものがあるが、それを知らずに自作。コピーはしてないが、同じ言語の同じ関数を同じように使い最適化してあるため意図せず同じような部分が出来てしまった
3.GPLで「A」という機能を持った似たようなものがあるが、一部に不満がありゼロから似たような「A+」を作成し、それに機能を追加して「A'」を作成。コピーはしてないが機能自体が同じなので内部的に似た部分や構造になる。
このような場合はGPL違反となってしまうのでしょうか?
もしGPL違反となる場合は具体的にどの部分が違反となるかご指摘やアドバイスいただけると助かります。
またGPL違反となった場合は公開することでGPL違反を回避することが出来ると考えてもよいのでしょうか?
1→問題なし
2→問題なし
3→微妙。基本的に1から書きなおしたのであれば問題ないはずだが、一度見てしまったことで変数名が違うだけレベルの同じコードだと駄目じゃないかな。コピー&修正と憶えて写経は変わらないだろうし。証明が難しい。
>またGPL違反となった場合は公開することでGPL違反を回避することが出来ると考えてもよいのでしょうか?
はい、ソースコードを要求されたら渡してあげれば問題ないです。
GPLっていうのは大雑把いうと以下のような"ライセンス(約束)"です。
また、俗にいう「GPL汚染」と「GPL違反」とは以下のようなことです。
但し、勘違いされることが多いのですが「GPLなコード=必ずWEB等で公開する必要がある」わけではありません。あくまで「誰かにバイナリを渡したらがその人がソースコードを見られるようにしてやる必要がある」だけです。以下の例で理解できるかと思います。
更にここでいう公開義務というのはバイナリ取得者への開示義務があるというだけで、別にWEBでソースを公開するという方法でなくてもよいです。例えば以下のような感じです。
ただ、普通は不特定多数の相手は面倒なのでWEBでソースコードを公開しておくのが一般的なだけです。
あとは、
回答ありがとうございます。
2011/11/17 09:25:01ひじょうに分かりやすかったです。
ライセンス問題は形態によってやっかいな事が多いので普段思っていた疑問を質問させていただきました。
WEB系の仕事をすることも多いので疑問のまま突っ走るのは危ないと思っておりました。
ありがとうございました。