プロジェクトに最適なオープンソースライセンスの選び方
プロジェクトに最適なオープンソースライセンスを選ぶための実践ガイド。寛容型vsコピーレフト、特許保護、一般的なシナリオをカバーします。
Guides
詳細な説明
オープンソースライセンスの選び方
ライセンスの選択は、オープンソースプロジェクトを公開する際の最初の決定の1つです。正しい選択は、あなたの目標、コミュニティ、そして他の人にコードをどのように使ってほしいかによって異なります。
決定フレームワーク
以下の質問を自分に問いかけてください:
- 最大限の採用を望みますか? 寛容型ライセンスを選択(MIT、ISC、Apache-2.0)
- 派生作品がオープンソースであることを望みますか? コピーレフトライセンスを選択(GPL-3.0、AGPL-3.0)
- 特許保護が必要ですか? Apache-2.0またはGPL-3.0を選択
- 他のプログラムにリンクされるライブラリですか? LGPL-3.0またはMPL-2.0を検討
- Webサービスですか? コピーレフトが重要ならAGPL-3.0を検討
クイック推奨表
| シナリオ | 推奨ライセンス |
|---|---|
| JavaScriptライブラリ / npmパッケージ | MITまたはISC |
| エンタープライズツール / 企業の貢献 | Apache-2.0 |
| オープンであり続けるべきアプリケーション | GPL-3.0 |
| プロプライエタリアプリが使用するライブラリ | LGPL-3.0またはMIT |
| Webサービス / SaaS | AGPL-3.0(コピーレフトが望ましい場合) |
| パブリックドメイン | UnlicenseまたはCC0-1.0 |
よくある間違い
- ライセンスなし — ライセンスがないとデフォルトの著作権が適用され、誰もコードを合法的に使用、変更、配布できない
- カスタムライセンス — 独自のライセンス文を作成するのはほぼ常に悪いアイデア。OSI承認ライセンスを使用すること
- エコシステムに合わないライセンス — 一部のエコシステムには強い慣例がある(npmにはMIT/ISC、Java/エンタープライズにはApache-2.0など)
ユースケース
新しいオープンソースプロジェクトを開始してどのライセンスを使用するか決める必要がある場合、または既存のプロジェクトのライセンスを変更するかどうかを評価する場合。