OSSライセンスのざっくり理解 - 代表的なライセンス6つの立ち位置
前置き
※ この記事は、OSSライセンスの法律的詳細ではなく、実務で「自分のコードに影響するか」「表記が要るか」を判断するための入門向けまとめです。
- 自身のプロジェクトでOSSを使う際の選択基準に重点を置いています。
- 法律的な正確さより、開発者の意思決定を支援することを目的にしています。
- 正確な法的判断が必要な場合は、弁護士や専門家に相談してください。
この記事でわかること
- OSSライセンスを「自身のコードへの影響」「表記の要否」で分類できます。
- 代表的な6つのライセンス(Apache 2.0、MIT、BSD系、GPL、LGPL)の違いをつかめます。
- どのライセンスのOSSを使うと、自分のコードにどう波及するかを判断できます。
この記事の要点
- 「ライセンスの自由度が高い」≠「何もしなくていい」です。表記が要るものが多いです。
- ライセンスは主に2軸で見ます:「自身のコードに影響するか」「表記が義務か」です。
- プロジェクトの初期段階で、どのライセンス帯のOSSを使うか決めておくことが重要です。
OSSライセンスの分類
ざっくり分類表
| ライセンス | 自身のコード影響 | 表記義務 | 使いやすさ | 向いている場面 |
|---|---|---|---|---|
| Apache 2.0 | なし | 推奨 | 高 | 商用プロジェクト |
| MIT | なし | あり | 高 | 小~中規模プロジェクト |
| BSD(2条項) | なし | あり | 高 | 既存システムへの組み込み |
| GPL | あり | あり | 低 | オープンソース重視 |
| LGPL | 一部* | あり | 中 | ライブラリの利用 |
*:LGPLライブラリそのものの改変を公開する場合のみ
代表的なOSSライセンス6つ
1. Apache 2.0 License
位置づけ: 企業向けで自由度が高い
- 自身のコードに影響しません。
- 表記は推奨(必須ではありませんが、慣行として記載します)。
- 商用利用、改変、再配布が自由です。
表記例
This software includes the work that is distributed in the Apache License 2.0.
※そのままコピペして使用可能です。
Apache 2.0が向いている場面
- 商用プロジェクトでOSSを活用したい
- 企業内での利用を前提にしている
2. MIT License
位置づけ: シンプルで分かりやすい
- 自身のコードに影響しません。
- 表記は義務です(著作権表示と許諾文を必ず含める)。
- ソースコード公開の義務はありません。
表記に含める内容
著作権表示: Copyright (c) <year> <copyright holders>
許諾文: Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
※ 上記の文中、"year" と "copyright holders" を置き換えればそのままコピペ可能です。
MITが向いている場面
- 小~中規模プロジェクト
- シンプルなライセンス管理をしたい
3. BSDライセンス(複数の条項がある)
位置づけ: 条項の数で扱い方が異なる
2条項BSD(FreeBSD License)- 推奨
- 自身のコードに影響しません。
- このライセンスを使用した場合、ライセンスの表記は義務です。
- 条件は2つだけで分かりやすいです。
条件
- ソースコード再配布時: 著作権表示・条件・免責事項を含める
- バイナリ配布時: ドキュメントなどに上記を含める
2条項BSDが向いている場面
- 既存システムへの組み込み
- クローズドソース製品への統合
3条項BSD / 4条項BSD - 注意が必要
- 3条項: 貢献者名を勝手に使ってはいけない条件あり
- 4条項: さらに宣伝で勝手に使ってはいけない条件あり
- 追加条件があるため、利用前に公式のライセンス文を確認してください。
4. GPL(GNU General Public License)
位置づけ: オープンソース重視の強力なライセンス
- 自身のコードに影響します。 (コード公開義務が発生)
- このライセンスを使用した場合、ライセンスの表記は義務です。
- GPLのコードを使うと、自分のコードもGPLになります。
GPLの4つのルール
- 好きに使える(自己責任で)
- 著作権表示は消さない
- 複製・改変・再配布・販売は自由(ただし条件あり)
- 再配布する物も必ず、GPLライセンスにしなければなりません
GPLが向いている場面
- オープンソース前提のプロジェクト
- 派生物も公開する予定がある
注意点
- GPLライブラリを組み込むと、プロダクト全体がGPL対象になります。
- 商用プロジェクトでは慎重な検討が必要です。
5. LGPL(GNU Lesser General Public License)
位置づけ: GPLより緩いライセンス(ライブラリ向け)
- 自身のコードへの影響は限定的です。 (LGPLライブラリそのものを改変した場合など)
- このライセンスを使用した場合、ライセンスの表記は義務です。
- 判断のポイントは、「LGPLライブラリ自体を改変したか」「自分のアプリから利用しているだけか」です。
実務ではこう判断する
- LGPLライブラリをそのまま利用するだけなら、自分のコードをLGPLにする必要はありません。
- LGPLライブラリそのものを改変して再配布するなら、その改変部分はLGPLで公開する必要があります。
- 静的リンクなどで一体化させる場合は条件確認が必要なので、配布前に個別確認します。
LGPLが向いている場面
- LGPLライブラリをプラグインとして使う
- ライブラリの内部実装は改変しない
6. その他(CC、Unlicense、WTFPL)
- CC(Creative Commons): 主に文書・画像向け。ソースコード向けではありません。
- Unlicense: パブリックドメイン的な「制限なし」です。
- WTFPL: ジョーク的なライセンス(「何をしても良い」)。実務利用は避けるべき。
判断の軸: プロジェクト開始前に確認すること
Phase 1: 使うOSSのライセンスを確認
1. GPL系(GPL/AGPL)?
→ コード公開の波及が大きいです。経営判断が必要です。
2. LGPL?
→ ライブラリの改変有無を確認します。
3. MIT / Apache 2.0 / BSD系?
→ ほぼ制限なしです。表記義務の有無を確認します。
Phase 2: 複数のOSSを使う場合
-
異なるライセンスの組み合わせが適法か を確認します。
- GPL(他のライセンスと共存しにくい)と組み合わせる場合は要注意です。
- MIT、Apache 2.0、BSDは比較的組み合わせやすいです。
Phase 3: 自分のコードのライセンスを決める
- 使っているOSSのライセンスが自動的に影響します。
- GPLを使っているなら、自分のコードもGPLになります。
- MITやApache 2.0なら、自分でライセンスを選べます。
よくある誤解
-
「ライセンスが緩い=何もしなくていい」
- 誤りです。表記は要る場合が多いです。
-
「商用利用は全部ダメ」
- 誤りです。MIT、Apache 2.0、BSDは商用利用OK。
-
「GPLはとにかく危険」
- 完全には正確ではありません。正しく理解すれば対応できます。
-
「改変しなければ何もしなくていい」
- 表記は別の問題です。ライセンスに応じて表記義務があります。
実務でのチェックリスト
- 使うOSSのライセンスを確認しましたか?
- 複数のOSSを使う場合、ライセンス間に矛盾がないか確認しましたか?
- 表記義務の有無を確認しましたか?
- ライセンス文を適切に保管・表示しましたか?
- 自社製品のライセンスを決めましたか?
- GPLを含む場合、経営判断を得ましたか?
まとめ
- OSSライセンスは「自分たちのコード」と「表記」の2軸で判断します。
- 代表的な6つのライセンスの違いを理解すれば、ほぼ判断ができます。
- プロジェクト開始時に、使用予定のOSSのライセンスをあらかじめ把握することが重要です。
関連リンク
- 参考: Apache License
- 参考: MIT License
- 参考: GNU GPL
- 参考: Open Source Initiative