😺
オープンソースソフトウェアのライセンスの分類
オープンソースソフトウェアのライセンスの違いがよくわからなかったので自分なりにまとめてみました。
オープンソースソフトウェアとは
ソースコードが無償で公開されており、だれでも複製・改変・再配布できるソフトウェアのこと。
オープンソースソフトウェアにはライセンスがある
複製・改変・再配布する上での決まり事があるため、OSSを製品に組み込んだところ製品のソースコード全体を公開しなければならなくなった等の不都合に直面しないためにライセンスには注意する必要がある。
各ライセンスの違い
| 種類 | OSS自体を改変する場合のソースコードの公開 | OSSを組み込んだソフトウェアのソースコード全体の公開 | 代表的なライセンス |
|---|---|---|---|
| コピーレフト | 必要 | 必要 | GPL, AGPL |
| 準コピーレフト | 必要 | 不要 | LGPL, MPL |
| 非コピーレフト | 不要 | 不要 | BSD, MIT, Apache |
「コピーレフト」が最も制限が厳しく、「非コピーレフト」が最も自由度が高い。
準コピーレフトは「OSS自体を改変して再配布する場合」はソースコードの公開を義務づけるが、OSSを利用するアプリケーションは公開は不要。
公開が必要か不要かという違いで区別しているが、OSS自体が無償で公開されるという定義であるためそう見えるだけで、本質としてはライセンスが伝播する範囲(OSS自体を改変した派生物だけか、利用するアプリケーション全てか)の違いである。
Discussion