ライセンスの氾濫とは
ライセンスの氾濫(License proliferation)とは、
ソフトウェアパッケージごとに独自のライセンスが作成されることで生じる問題を指します。これは、
ソフトウェアの再利用を妨げ、開発者や組織にとって大きな負担となるため、自由
ソフトウェアコミュニティに多大な影響を与えています。この問題は、ライセンスの拡散やライセンスの増殖とも呼ばれます。
ライセンスの互換性の問題
ソフトウェア開発者は、複数の
ソフトウェアプログラムを組み合わせて利用することが多いですが、ライセンスの互換性がない場合、これが困難になります。異なるライセンスで配布されている
ソフトウェアを組み合わせて一つの著作物を作成できる場合、それらのライセンスは互換性があると言えます。
ライセンスの種類が増加するにつれて、開発者が組み合わせたい
ソフトウェアが、互いに互換性のないライセンスで配布されている可能性が高まります。また、組織が使用する
ソフトウェアのライセンスを評価する際、その負担が増大します。ライセンスの氾濫は、新たなライセンスを作成するニーズや、そのようなニーズに対処しようとする組織の傾向が根底にあります。
互換性のあるライセンス
フリー
ソフトウェア財団(FSF)は、
GNU General Public License(GPL)と互換性のあるライセンスのリストを公開しています。また、
Apache Licenseも有名なFLOSSライセンスの一つです。
Apache[[ソフトウェア財団]]によると、
Apache LicenseはGPLv3と「一方的に」互換性があります。つまり、GPLv3の
ソフトウェアは
Apache Licenseの
ソフトウェアを含めることができますが、その逆はできません。
空虚なライセンス
空虚なライセンス(Vanity licenses)とは、特定の企業や個人が特に理由もなく作成したライセンスを揶揄する言葉です。既存のFLOSSライセンスと比較して、明確な改善点や相違点がないライセンスは、空虚であると批判されることがあります。
FLOSSライセンスの要件を満たさず、その要件も知らず、標準的ではないライセンスを新規に作成する開発者も多くいます。これにより、第三者にとってそのプログラムがほとんど意味のないものになってしまうことに気づいていない場合があります。
主要な団体の姿勢
Google:
2006年から
2010年にかけて、
Googleはライセンスの氾濫に対して独自の立場をとっていました。
2006年には、
Google Codeで受け入れる
ソフトウェアプロジェクトのライセンスを制限し、
Apache License 2.0、Artistic LicenseとGPLのデュアルライセンス、GPL 3.0、GPL 2.0、
GNU Lesser General Public License、
MIT License、新BSD License、
Mozilla Public License 1.1、
Eclipse Public Licenseのみを認めていました。その後、
Apache LicenseまたはGPLv3を推奨しましたが、
2010年にはOSI承認済みのライセンスであれば全てホストできる方針に変更しました。
OSI:
Open Source Initiative(OSI)は、
オープンソースライセンスを管理する立場と自認しており、OSI認証済みライセンスの一覧を管理しています。当初、OSIが新たなライセンスを受け入れることが、ライセンスの氾濫を助長していると批判されました。これに対応するため、OSIは「ライセンス氾濫問題プロジェクト」を立ち上げ、報告書を作成しました。
FSF:
FSF代表のリチャード・ストールマンと元執行役員ブラッドリー・M・クーンは、
2000年頃からライセンスの氾濫に対して主張を行っています。FSFは、
ソフトウェア開発者がGPLと両立する自由
ソフトウェアライセンスを使用することを推奨しています。また、GPLと両立しないライセンスについても、既存の
ソフトウェアの利用は問題ないとしつつも、新規
ソフトウェアには使用しないよう勧めています。
FSFE:
FSFEは、ライセンスの氾濫を阻止する主な動機は、新しいライセンスを作成する理由を減らすことだと主張しています。可能な限りGNU GPLのみを利用し、それが不可能な場合は、GPLと互換性のあるライセンスを採用することを推奨しています。
ライセンスの選択
不要なライセンス作成を避け、コードの再利用性を高めるためには、既存のライセンスと互換性のあるライセンスを作成するか、既存のライセンスから適切なものを選択する必要があります。FSFは、ライセンス選択の指針として、プロプライエタリな実装が存在する
ソフトウェアにはLGPLを、WebアプリケーションにはGNU AGPLを、プロプライエタリなフォーマットの置き換えを目指す
ソフトウェアや小規模な
ソフトウェアには
Apache Licenseバージョン2を推奨しています。その他のプログラムや
ライブラリにはGPLが適切だと述べています。
Apache Licenseバージョン2はパーミッシブ・ライセンスであり、
BSDライセンスと同様に、二次的著作物を同一の条件にする必要がないため、プロプライエタリ
ソフトウェアと組み合わせることができます。さらに、
特許に対する防御策が施されているため、不当な
特許権主張からの保護が期待できます。
コンテンツのライセンス
オープンコンテンツやフリーコンテンツについても、
ソフトウェアと同様にライセンスの互換性を考慮する必要があります。標準化されたライセンスを使用し、独自のライセンスを作成することで、自由利用可能なコンテンツの組み合わせを狭めてしまうことを避けるべきです。
まとめ
ライセンスの氾濫は、
ソフトウェア開発の現場で深刻な問題となっています。適切なライセンスを選択し、互換性を意識することで、より円滑な
ソフトウェア開発と再利用性の向上が期待できます。