ガイド · 02

寛容型 vs コピーレフト、どちらを選ぶか

MIT・Apache のような寛容型と、GPL・LGPL・MPL のようなコピーレフトを、目的・エコシステム・利用形態別に比較し、ライセンスを決める前に確認すべきチェックリストを提供します。

最終確認: 2026-09-23

まず目的を決める

ライセンスの選択は好みではなく、自分が何を望むかの問題です。ほとんどの人は、次の2つの目的の間のどこかにいます。

寛容型: 幅広い採用、少ない摩擦

MITBSDISCApache-2.0 は、表示の維持程度しか求めません。ほとんどの企業の法務部門が事前承認リストに載せているライセンスなので、導入が速いです。その代わり、誰かがコードを改変して非公開の製品に入れても止められません。

寛容型の中での選択は、主に次の2点です。

コピーレフト: 公開の連鎖

GPL は結合したプログラム全体、LGPL はライブラリ、MPL はファイル単位で公開義務を課します。サーバーで動くソフトウェアであれば、AGPL が GPL の空白を埋めます。コピーレフトを使うと、一部の企業は利用や貢献をためらうことがあります。特に AGPL は、多くの会社が社内ポリシーで利用を制限しています。これは意図した効果かもしれませんし、望まない副作用かもしれません。

エコシステムの慣行も無視できない

ライセンスは、コミュニティの慣例と合っているほうが摩擦が少なくなります。

エコシステムよく使われるライセンス備考
JavaScript(npm)MIT, ISC小さなパッケージが多く、短い寛容型が好まれる
Rust(crates.io)MIT OR Apache-2.0Rust 自体がこのデュアル方式
Python(PyPI)MIT, BSD-3-Clause, Apache-2.0科学計算の分野では BSD-3 が多い
GoBSD-3-Clause, MIT, Apache-2.0Go の標準ライブラリは BSD-3
Linux カーネルモジュールGPL-2.0-onlyカーネルと結合するには事実上必須
デスクトップの GNU ツールGPL-3.0-or-laterGNU プロジェクトのデフォルト
C/C++ ライブラリLGPL, MIT, BSL-1.0リンクの方式が選択に影響

決定のためのチェックリスト

  1. 依存関係の確認: すでに使っているライブラリのライセンスが選択肢を制限していないか確認します。GPL のライブラリと結合したプログラムを配布するなら、選択肢は GPL と互換性のあるライセンスに絞られます。
  2. 所属の確認: 業務で作成したコードは通常、会社が著作権者です。会社のオープンソースポリシーで定められたライセンスがあるか確認します。
  3. 利用形態: インストール型か、ライブラリか、サービスかによって、コピーレフトの効果が変わります。
  4. 貢献の方式: 外部からの貢献を受け付ける予定なら、後でライセンスを変えるのが難しくなることを念頭に置きます。複数の人の著作権が混ざるからです。
  5. 収益モデル: 商用ライセンスを別途販売する予定なら、コピーレフト+商用のデュアルライセンスとコントリビューターライセンス契約(CLA)をあわせて検討します。

ひとことでまとめると

選択ウィザードでこれらの基準に質問形式で答えると、候補と理由を表示します。

この記事は一般的な情報であり、法的助言ではありません。重要な決定は専門家にご相談ください。

参考資料