こんにちは、日立ソリューションズの吉田です。今回は、OSSを語り始めると避けて通れない「ライセンス」についてご紹介します。
OSSというと「GPL(GNU General Public License)」というライセンスが有名で、諸悪の根源のように表現され、“GPL汚染” などと表現されるとてもかわいそうな存在です。本当にそんなにひどい存在なのでしょうか?じっくり考えていきたいと思います。
OSSライセンスとは?
Open Source Initiative(OSI)は、オープンソースの要件として、以下のような定義 “The Open Source Definition(OSD)” を掲げています。
- 自由な再頒布ができること
- ソースコードを入手できること
- 派生物が存在でき、派生物に同じライセンスを適用できること
- 差分情報の配布を認める場合には、同一性の保持を要求してもかまわない
- 個人やグループを差別しないこと
- 適用領域に基づいた差別をしないこと
- 再配布において追加ライセンスを必要としないこと
- 特定製品に依存しないこと
- 同じ媒体で配布される他のソフトウェアを制限しないこと
- 技術的な中立を保っていること
この要件を満たすオープンソースライセンスをOSIでは現在78種類認定しています(2016年6月28日時点)。単にソースコードを公開するだけではオープンソースとはいえず、上記の10項目を満たすライセンスを適用したものだけをオープンソースと呼ぶことになっています。
どんなライセンスがあるの?
次にこのような要件を満たすライセンスにどのようなものがあるかをご紹介したいと思います。
OSSライセンスは、「コピーレフト」と呼ばれる概念への適⽤状況に応じて、大きくは3つのカテゴリ(類型)に分類することができます。
コピーレフトは、著作者が著作物に対する権利(著作権)を保有したまま、著作物の配布条件として、利⽤者に著作物を複写・改変・再配布する⾃由を与える⼀⽅で、複写・改変・再配布された派⽣物(⼆次的著作物)の配布者に対しても、全く同じ条件で派⽣物を配布することを義務付けるといった考えになります。また、このコピーレフトは、著作物が配布され続ける限り、制限なく適⽤され続けるといった特徴を持っています。
こうしたコピーレフトの概念のライセンスへの適⽤状況に応じて、OSSライセンスは、(1)コピーレフト型ライセンス、(2)準コピーレフト型ライセンス、(3)⾮コピーレフト型ライセンス、の3つのカテゴリ(類型)に分類されます。具体的には、以下の2点が、ライセンスを上記の3つの類型に分類する際の基準になります。
- ソフトウェア利⽤者に対して、利⽤者がソースコードを改変した際に、改変部分のソースの開⽰までを義務づけるかどうか
- ソフトウェア利⽤者がソースコードを他のソフトウェアのソースコードと組み合わせた際に、他のソースコードの開⽰までを義務づけるかどうか
以下では、ソフトウェア開発者を「ライセンサ」、ソフトウェア利⽤者を「ライセンシ」と表記します。これに従って、分類すると下表のようになります。
類型 | 複製・再頒布可能 | 改変可能 | 改変部分のソース公開要 | 他のコードと組み合わせた場合他のコードのソース公開要 |
---|---|---|---|---|
コピーレフト型 | ◯ | ◯ | ◯ | ◯ |
準コピーレフト型 | ◯ | ◯ | ◯ | × |
⾮コピーレフト型 | ◯ | ◯ | × | × |