現在作成中のオープンソースライセンス解説本(電子書籍)に関連して、こんな質問を受けました。私なりの解釈を書いておきます。どのあたりが論点になるか、参考になるかも知れません。ただし、ちゃんと判断するには、FSFあたりに問い合わせるのが確実だと思います。
質問:GPL2のコードとGPL3のコードを両方含むバイナリの配布について、これはどうやってもできないのかが知りたい。
私の考え:適用されているライセンスや結合方式に寄る。
GPL2とGPL3は、ソフトウェアライセンスの互換性がありません。そのために、互換性がないという点だけで判断したら、ソースコードを混在できませんし、当然バイナリもつくれないでしょう。
でも、ライセンスがどのように適用されているか、結合するソフトウェアがどのように実装されているか、それによってバイナリ配布できるかどうか変わってくると思うのです。
1.適用ライセンス
まず、対象となるソースコードの適用ライセンスを明確にする必要がありますよね。たとえば、「GPL2 only」と「GPL3 or Later」とか。「GPL2 or Later」であれば、「GPL3 (or Later)」にアップすれば問題ないはず。
この場合、問題になるのは、「GPL2 only」+「GPL3 or Later」なので、それを前提に話を進めます。
2.ソースコードファイルを混ぜてない
バイナリーコードの話に行く前に、ソースコードファイルが分離されているか。ひとつのファイルに混ぜたら、そのソースコードファイルに適用するライセンスは単一になり、再配布するのはアウト。
なので、今回の例の場合は、ソースコードファイルは分離されているんでしょう。
3.バイナリーコードを生成時の結合方法が、リンク。
リンク(動的リンクor静的リンク)でなければ、派生物にならないような。
GPL-FAQが参考になります。
- フリーではないプログラム向けのプラグインにGPLを適用することはできますか?
- If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in?
で、リンクで結合しているなら、やはり配布できないと思います。しかし、別の方法で呼び出すなら、派生物と見なさないと思います。
実行形式は、実際は複数のバイナリーファイルをファイル単位で組み合わせています。だから、結合したいGPL2とGPL3のソフトウェアが、別々にコンパイルできるなら、それをまとめてディストリビューションしても構わないと考えられないでしょうか。
もちろん私見なので間違っている可能性があります。また、他の解釈をする人もいるでしょう。皆さんからご意見を頂ければ幸いです。
こんにちは。
GPLv2側、GPLv3側に例外条項があればOKだと思います。それ以外の方法ではNGだと思います。
Okunoさん、早速のコメントありがとうございます。
なるほど。参考になります。
どのような例外条項を想定しているでしょうか。なにか具体例はありますか。
そこを教授いただけると、質問してきた人にとって、より実用的な情報になると思います。
引き続き、ご協力を頂ければ助かります。