Software Freedom Conservancyの見解はライセンス違反
以前紹介した通り、「Ubuntu 16.04」はZFSのカーネルモジュールを同梱してリリースする予定です。Ubuntuを支援する法人である「Canonical」は、ZFSのライセンスとLinux Kernelのライセンスに関し、ライセンス違反はなく問題ないとの見解を出しています。
しかし「Software Freedom Conservancy(以下SFC)」は「Canonical」の出した見解に対し、ZFSのライセンスとLinux Kernelのライセンスは相容れず、UbuntuがZFSのカーネルモジュールを同梱してUbuntuをリリースすることはGPL違反である、と異議を唱えています。
1.我々はGPL違反だと考えている
ZFSはSunがOpenSolarisの一部としてCDDLv1ライセンスでリリースしたソフトウェアである。その後、SunはOracleに買収された。
主に非商用の分野で活動していたコミュニティーのメンバーは、ZFSをLinuxでも動作するように改良した。
しかし残念なことにCDDLv1とGPLv2は互換性がなく、ZFSのバイナリーをディストリビューションの一部として配布することは許されない。
多くのコミュニティーのメンバーは、OracleがZFSをGPLv2と互換性のあるライセンスで再ライセンスしなかったことに怒りや不満を感じた。
Canonicalが出した見解をきっかけにこの感情は大きくなっていった。
2.Canonicalに連絡をとった
SFCはCanonicalに「Canonicalが出した見解はGPL違反である」ということを通告するためCanonicalに連絡を取ったところ、 CanonicalはSFCの見解を公にして欲しいと回答してきた。我々はこの問題をお互い異なる視点で明確に主張できることを嬉しく思う。
SFCはCanonicalが出した決定には反対だが、GPL違反についてCanonicalと継続的に対話していきたいと考えている。
我々はGPL違反の建設的な解決策の模索を簡単に断念することはしない。
Canonicalがこの問題に関するお互いの主張を透明性のある公の場で議論してくれることを嬉しく思う。
3.我々の結論
我々は、CanonicalがUbuntuユーザーにより多くの機能を提供し、ユーザーが簡単にそれらの機能を利用できるようにしたいという想いがあり、この問題に不満を感じていることは理解している。しかし我々は、Ubuntuにzfs.koを同梱して配布することはGPL違反であるという結論を出した。
SFCとLinuxの著作権保持者は、zfs.koを同梱し配布することはGPL違反であり、Linuxの著作権を侵害すると考えている。
またOracleの著作権も侵害するかもしれないという懸念もあるが、我々はコミュニティーの基準に沿ったGPLv2と互換性のあるライセンスに変更できないかOracleに再度ライセンスの変更を求めていく。
4.お互いのライセンスが両立するには
GPLv2では、派生物や組み合わせて作られるソフトウェアもGPLv2でライセンスしなければならない。Free Software Foundationは、ライセンスの非互換について以下のように指摘している。
二つのプログラム(あるいは両者の本質的な部分)を結合して一つの大きな著作物にするためには、そういったやり方で両方のプログラムを利用する許可を得ていなければなりません。
二つのプログラムのライセンスがこれを許可していれば、それらのライセンスは両立します。
両方のライセンスを同時に満たす手段が存在しない場合、それらは両立しません。
従って、組み合わせるそれぞれのソフトウェアのライセンスが、組み合わせて配布することをお互い許可していなければならない。
5.ソースコードのライセンス
プロプライエタリーなソフトウェアのライセンスは、ソースコードの公開や再配布を許可していない。一方GPLでは、ソースコードの公開及び再配布を許可しなければならない。
これらのライセンスに互換性がないことは明白だ。
例えばソースコードは入手可能だが、商用利用及びソースコードの編集を禁止しているソフトウェアがあるとする。
GPLでは、商用利用もソースコードの編集も許可しなければならないため、商用利用及びソースコードの編集が禁止されているソフトウェアのライセンスとGPLは互換性がない。
GPLv2では、バイナリーを構築するのに必要なソースコードを提供しなければならない。
そしてそのソースコードは、GPLv2でライセンスしなければならない。
もしソースコード全体をGPLv2でライセンスできないのであれば、そのバイナリーは配布できない。
CDDLv1は弱いコピーレフトライセンスであり、CDDLと異なるライセンスを持つバイナリーと組み合わせることができる。
しかしCDDLv1でライセンスされているソースコードは、CDDLv1のままでなければならい。
ソースコードを再配布する時はCDDLv1ライセンスを変更してはならない。
従って、CDDLv1のソースコードとGPLv2のソースコードを混在させることはできない。
6.バイナリーの組み合わせや派生
GPLでは、バイナリーの組み合わせに関して以下のように規定している。(GPLの)及ぶ作品に対し、静的 vs 動的にリンクされたモジュールについて、GPLには異なる要求がありますか? (#GPLStaticVsDynamic)
いいえ。GPLの及ぶ作品に静的もしくは動的にほかのモジュールとリンクすることは、GPLの及ぶ作品をもとにして結合著作物を作成することです。ですから、全体としての結合には、GNU一般公衆ライセンスの条項が及びます。GPLソフトウェアにGPLと両立しないライブラリを用いた場合、どのような法的問題が発生するでしょうか?もご覧ください。
我々もこれに賛成している。
もしZFSがLinuxと静的にリンクされ1つの成果物になっていた場合、GPLv2に違反していると抗議するだろう。
これが静的リンクでなくとも動的リンクでも同じことが言えると我々は信じている。
7.GPL違反を解決するには
GPL違反を解決する手段は、「Canonical」がZFSカーネルモジュールの同梱をやめるか、「Oracle」がZFSをGPLv2と互換性のあるライセンスに再ライセンスするかだ。SFC(Linuxの著作権保持者)とGPL Compliance Project For Linux Developersのメンバーは皆、ZFSカーネルモジュールの配布は「Canonical」の人たちがLinuxの著作権を侵害すると判断している。