こんにちは、OSSよろず相談室のSKです。
今回は、前回の OSS(オープンソースソフトウェア)とはどんなものなのかというお話の続きです。
前回の内容:オープンソースライセンスとは 1
コピーレフトとは?
今回は OSS ライセンスに関わるキーワード「コピーレフト」について解説します。
そもそも「ライセンス」とは?
ソフトウェアを作成した著作者が、利用者に対して使用・改変・再配布を許可するための条件をまとめた文書。
これに基づいて利用者に与えられる許諾のことを「ライセンス」といいます。
コピーレフトの考え方
「コピーレフト」は、フリーソフトウェア財団(FSF)の創設者リチャード・ストールマンによって提唱された著作権の考え方です。
著作者が著作権を保持したまま、利用者に対して複製・改変・再配布の自由を保証する
という点が特徴です。
コピーライト vs. コピーレフト
「著作権」は英語で「Copyright」
著者者の許可がないと改変、使用、再配布ができないものです。
これに対抗する形で、リチャードさんは「Left(左)」という語を使い
「自由を保証するライセンス」として「Copyleft(コピーレフト)」という言葉を作りました。
「著作者の許可が無くても改変、使用、再配布ができる」ものです。

自由には制約もある?
コピーレフトは「自由」を提供しますが、その自由を他者にも提供しなければならないという「制約」もあります。
つまり、OSSライセンスのソフトウェアを組み込んで作成したソフトウェアも自由に使用、改変、再配布できるものでなくてはならならないのです。
コピーレフトの主な制約
OSSライセンスを使って作成したソフトウェアには、次の義務があります:
- ソースコードを公開する必要がある
- 再配布も自由に許可しなければならない
つまり、あなたが作ったソフトウェアがOSSのコードを含む場合、 その派生物も同様に自由である必要があるのです。

コピーレフトの分類
OSSライセンスは、「コピーレフトの強さ」によって以下のように分類されます:
- コピーレフト型
- 準コピーレフト型
- 非コピーレフト型
このようなライセンスの違いにより、コードの改変・組み込み・再配布の義務範囲が異なります。
代表的なライセンスを分類すると、表のようになります。

LinuxなどのGPLがコピーレフト型で最も厳しく、Apache Licenseなどが非コピーレフト型で緩い制約となります。
表に、
- 改変部分を含めたソースコードの公開
- 他のコードと組み合わせた場合、他のソースコードの公開
とありますが、どういうことでしょうか。
OSSライセンスを自分のソフトウェアに組み込んだ場合、コピーレフトの分類によってOSSソースコードの改変部分や組み込んだ自分のソースコードを公開するのか否かが変わります。
以下の図のようになります。

オープンソースライセンスの種類
代表的なオープンソースライセンスは以下の表のようなものがあります。
〇がコピーレフト型、△が準コピーレフト型、×が非コピーレフト型です。

次回はオープンソースにまつわるリアルな事例について、お話しします。