【おーぷんそーすらいせんす】

オープンソースライセンス とは?

最終更新:
💡 使ってよいことと、守る条件を確かめる

ソフトウェアのソースコードを利用・改変・再配布するときの許可と条件を定めるもの。MIT、Apache 2.0、GPLなどがあり、商用利用の可否だけでなく表示や配布時の条件を確認する。

📌 このページのポイント
使う許可と、配るときの条件利用・改変・再配布の許可商用利用も認めるOSSライセンスMIT / Apache 2.0表示などの条件を守るMIT:著作権・許諾文Apache:変更表示などGPL配布先にも自由を渡す対象となるプログラムの対応するソースも提供使う版・依存ライブラリ・配布方法を確認「公開されている」だけで判断しない
代表的な条件の違い。詳細は各ライセンスの本文で確認します。GPLでも私的な改変だけでインターネットへの公開義務が生じるわけではありません。
ひよこ ひよこ
公開されているコードなら、何に使ってもいい?
ペンギン先生 ペンギン先生
公開されているだけでは、改変や再配布の許可まであるとはいえないよ。ライセンスの条件を確認しよう。OSIのオープンソースの定義は、商用を含めた利用分野を制限せず、改変や再配布を認めるもの。それでも表示などの条件を守る必要があるんだ
ひよこ ひよこ
MITライセンスは、表示だけでいいと聞いたよ
ペンギン先生 ペンギン先生
利用・改変・配布・販売などを広く許可するライセンスだよ。条件として、コピーやソフトウェアの重要な部分に著作権表示と許諾文を含める必要がある。「作者の名前だけ付ければよい」と省略しないで、ライセンス文を確認しよう
ひよこ ひよこ
Apache 2.0も同じなのかな?
ペンギン先生 ペンギン先生
広い利用許可に加えて、貢献者の一定の特許について許諾を明示しているよ。ただし他の特許まで全部保証するものではないんだ。再配布時にはライセンスのコピーや変更したファイルの表示などが必要で、元にNOTICEがあれば該当する表示を残す条件もあるよ
ひよこ ひよこ
GPLを使うと、自分のコードを全部公開するの?
ペンギン先生 ペンギン先生
そう単純ではないよ。GPLは、対象のプログラムやそれを元にした一体のプログラムを配布するとき、受け取る人にもGPLの権利と対応するソースコードを渡せるようにする仕組みだよ。自分のための私的な改変だけで、インターネットに公開する義務が生じるわけではない。独立した別のプログラムを同じ媒体に入れる場合とも区別するんだ
ひよこ ひよこ
仕事で使うとき、何を確認すればいい?
ペンギン先生 ペンギン先生
使うバージョンのライセンスと、組み込む依存ライブラリも一覧にしよう。社内で使うのか、アプリに組み込んで配るのかなど、利用・配布の形に合わせて表示やソース提供の条件を確認するんだ。自動検出ツールは手掛かりになるけれど、条件への対応が済んだことまで自動で保証するものではないよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「オープンソースライセンス」って出てきたら「ソフトを使う・直す・配るときの許可と条件」と思えばだいたいOK!
📖 おまけ:英語の意味
「Open Source License」 = オープンソースソフトウェアの利用許諾
💬 ソースコードを使えるようにする許可と、その条件を示すよ。無料か有料かだけで分類するものではないんだ

参考資料

← 用語集にもどる