はじめに
Qiitaの文化にまだまだ全然慣れていないので、
記事にダメな所があれば、バシバシ突っ込んで欲しいです。
今回は、オープンソースライセンスの種類がたくさんありすぎて、何が何だかわからない、特に商用利用の場合の制限が怖いので、ちゃんと知らないといけないなということで記事を書きます。
そして、あまり詳しく書いている記事がまだまだ少ないと思ったので、今回詳しくまとめて記事にしようと思いました。
ライセンスによっての比較はgoogledocsで表形式で詳しくまとめてくださっている方がいたので、手っ取り早く知りたい方はこちらをどうぞ。
また、OSSにどんなものがあるかの一覧もどうぞ。
オープンソースライセンス比較用早見表
OSSの種類:IT Leaders OSS俯瞰図2017
そもそもライセンスとは?
※この記事ではライセンスをFLOSS(フリーソフトウェアとオープンソース)におけるライセンスとして定義します。
ソースコードの添付または入手可能性の保証を絶対条件として、ソフトウェアの配布や利用の許諾を行うライセンス(利用許諾契約)のこと。
商用利用を認めるか否か、作者名や商標の表示を条件とするか否か、改変したソースコードの配布を認めるか否かなどにより、さまざまな種類のオープンソースライセンスが存在している。
Weblioより引用
要するに、公開されているソフトウェアを使ってもいいけど、使うときは決められたルールを守ってくださいね。ということです。そして、そのルールの種類が沢山あるので、使うときはよく見ておかないと大変なことになってしまうことがあるということですね。
オープンソースの定義
1.再頒布の自由
2.ソースコードが入手可能
3.派生物が存在でき、派生物にも同様のライセンスが適用可
4.差分情報の配布を認める場合、同一性保持を要求できる
5.個人や特定のグループを差別しない
6.利用分野によって差別しない
7.再配布での追加ライセンスを必要としない
8.特定製品に依存しない
9.他のソフトウェアを制限してはいけない
10.技術的中立の立場でないといけない
ライセンスの基本用語
マルチライセンス
要は複数のライセンスをこのOSSは採用していますよということ。
デュアルライセンス、トリプルライセンスと数が増えていくと呼び方が変わる。
コピーレフト
このライセンスを適用したソースを使って開発したソフトウェアは同じようにそのライセンスを適用しなければならないといけないということ。
よく聞く言葉としてGPL汚染という言葉がある。
これはGPLライセンスが適用されたものを1行でも使用したらGPLを自動的に適用しなければならないという強力なものだ!
ライセンスの種類
GPLライセンス
GNU General Public Licenseの略。
ソースコードの公開 商用利用・改変・再配布が可能。
再配布する場合は元の情報も含め、GPLのものを使う場合は派生物にも同様のライセンスが適用される。
・適用範囲
GPLソフトウェアを修正・改造する場合
GPLソフトウェアとリンクして実行される場合
・適用外
GPLソフトウェアを使用してデータを作成する。
バージョン2とバージョン3がある。
また派生形でAGPLやLGPLがある。
GPLのものを使っても、配布しないのであれば、ソースコードの公開義務はありません。
AGPLを使ってサービスを公開したら、ソースコードも公開しないといけませんが。
GPLv3
著作物の権利などのソフトウェアの自由と衝突するような法や法的権利の制限などに関する基本理念をGPLv2より明文化。
AGPL
ネットワーク上での利用でもソースコードを公開する義務がある。
LGPL
準コピーレフト型
ソースコードの改変部分のみソースコード公開の義務あり。
GPLのサービス
・MySQL(MySQLを使って開発した商品を販売する際に、コマーシャルライセンスを取得しない場合に適用)
・git(GPLv2)
・Linux
・WordPress
・Mastodon(AGPL)
MITライセンス
著作権表示とライセンスの表記を明記しておけば、商用利用や再配布など自由に可能
ゆるいライセンス。
MITのサービス
jQuery(1.8以降)
BSDライセンス
現在は主に修正BSDライセンスの意味で用いられることが多い。
著作権の表示と免責事項,ライセンスの表記を明記しておけば、再利用・再配布も自由で、商用利用も可能。
BSDのサービス
・OpenCV
CCライセンス
クリエィティブ・コモンズ・ライセンスの略で、
オープンソースというより、写真や絵といったものに使われることが多いライセンス。
下記の画像のように、表示・非営利・改変禁止・継承を組み合わせて使用する。
表示:作品のクレジット表示が必須
非営利:営利目的で利用できない
改変禁止:元の作品を改変してはならない
継承:元の作品と同じCCライセンスを引き継ぐ必要がある
パブリックドメイン
著作権を完全に放棄したライセンス。
どんな形で好きに使っても良い。
ライセンスの宣言の仕方
1.ライセンス文章を用意する
ライセンスごとに用意されているフォーマットがあるので、それを準備します。
LICENSE.txtという形で保存しておきます。
2.ライセンス文章の冒頭のコピーライト表記を書き換える
Copyright (c) [year] [fullname]というような部分がフォーマットにあるので、それを
Copyright (c) [作成年] [著作権者名]というような形で書きます。
例:Copyright (c) [2018] [Yuki]
3.公開するソフトウェアの説明文を用意する
README.txtファイルを作成して、そこに下記のような形で宣言をします。MITライセンスの例です。
例:This software is released under the MIT License, see LICENSE.txt.
4.ファイルを配置する
あとはGithubなどにあげる場合はREADME.txtをREADME.mdに変更するなどして配置すれば完了です。
ソースコードにもコメントでコピーライトやライセンスの記述をするともっと効果的です。
最後に
まだまだライセンスの話を細かく追ってくとたくさんありますが(ApacheライセンスやCPLなど)、基本的なところだけまずは抑えてあります。
少しずつ記事をアップデートしていってより細かく、わかりやすくできればと思います。
今回の記事を書くにあたって参考にした記事です。
ありがとうございます。
ライセンスの選択を恐れる必要はありません
オープンソースライセンスの談話室
[Web] MIT、BSD、GPLライセンスの内容と意味を学んでみた
著作権のネタ帳
MITライセンスを1行1行読んでいく
OSSライセンス違反とその対策
ライセンスを理解してますか?
オープンソースの定義
訴訟が増えている!?OSSライセンス違反
また、この記事は専門家によるものではありません。法律問題への対処には弁護士などの専門家によるアドバイスを受けてください。本記事を参考にしたことで受けた全ての利益・損害について、筆者は一切の権利・責任を負いません。