はじめに
オープンソースソフトウェアの世界で「準コピーレフト」の代表格として知られるMPL 2.0(Mozilla Public License 2.0)。
MITライセンスとGPLライセンスの中間的な性質を持つことで注目されていますが、実際にはどのような特徴があるのでしょうか。
今回は、MPL 2.0ライセンスの基本から実際の使い方まで、わかりやすく解説します。
MPL 2.0ライセンスとは
MPL 2.0(Mozilla Public License 2.0)は、Mozilla Foundationによって開発されたオープンソースライセンスです。
2012年1月にリリースされた現在の最新版で、ファイルレベルのコピーレフトという独特な特徴を持っています。
主な特徴
1. 準コピーレフト(Weak Copyleft)
MPL 2.0は準コピーレフト型ライセンスとして分類され、GPLのような強いコピーレフトとMITのような非コピーレフトの中間に位置します。
2. ファイル単位でのコピーレフト
MPL 2.0は、かなり特殊なライセンスで、GPLと同じようにコピーレフトですが、その効力はファイル単位と規定されている最大の特徴です。
3. 柔軟な組み合わせ
MPL 2.0以外のライセンスが適用されるプログラムを同じソフトウェアパッケージに同居させることができるため、企業利用においても非常に柔軟性があります。
4. 最小限の義務
利用者が守るべき義務は以下の通りです:
- 著作権表示の保持
- ライセンス条文の同梱
- 改変したMPL 2.0ファイルのソースコード公開
MPL 2.0ライセンスの全文
MPL 2.0ライセンスの全文は比較的長く(約14,000文字)、詳細な条項が含まれています。
公式の全文はMozilla Public License, version 2.0で確認できます。
主要な章構成
- 定義(Definitions) – 用語の定義
- ライセンス許可と条件(License Grants and Conditions) – 権利の付与
- 責任(Responsibilities) – 利用者の義務
- 法令等による不履行(Inability to Comply Due to Statute or Regulation)
- 終了(Termination) – ライセンスの終了条件
- 免責条項(Disclaimer of Warranty) – 保証の否認
- 責任の制限(Limitation of Liability) – 損害賠償の制限
- 訴訟(Litigation) – 法的紛争の取り扱い
- その他(Miscellaneous) – その他の規定
- ライセンスのバージョン(Versions of the License)
重要なポイント
Exhibit A – ソースコードフォームライセンス表示
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
Exhibit B – セカンダリライセンス非互換の表示
This Source Code Form is "Incompatible With Secondary Licenses", as
defined by the Mozilla Public License, v. 2.0.
※日本語訳についてはMPL-2.0 | オープンソースライセンス翻訳をご参照ください。
この詳細な条文が、ファイル単位でのコピーレフトと他のライセンスとの柔軟な組み合わせを可能にしています。
MPL 2.0ライセンスで何ができるのか
自由な利用と配布
- 個人利用・商用利用問わず使用可能
- 改変・カスタマイズが自由
- 他のプロジェクトへの組み込み
- 元のソースコードの配布
- 改変したバージョンの配布
混合ライセンスでの配布
企業がMPL 2.0で公開されたプログラムを組み込んだ自社のソフトウェア製品を開発し、自社開発部分のプログラムはソースコードを公開せずに実行ファイルのみを提供する(オープンソース部分はパッケージ内にソースコードを添付する)といった対応が可能です。
特許権の保護
貢献者は特許権の明示的な許可を提供するため、特許訴訟のリスクを軽減できます。
守るべき義務
1. ファイル単位でのソースコード公開
MPL 2.0でライセンスされたファイルを改変した場合、そのファイルのソースコードをMPL 2.0ライセンスのまま公開する必要があります。
2. ライセンス表示の保持
- 著作権表示の保持
- ライセンス条文の同梱
- 著作権とライセンス表示を保持する必要があります
3. 改変通知
改変を行った場合は、その旨を明記する必要があります。
他のライセンスとの比較
ライセンス | コピーレフトの範囲 | ソース公開義務 | 商用利用 |
---|---|---|---|
MIT | なし | なし | 制限なし |
MPL 2.0 | ファイル単位 | 改変ファイルのみ | 可能(混合可) |
LGPL | ライブラリ単位 | ライブラリ部分 | 可能(条件付き) |
GPL v3 | プロジェクト全体 | 全体 | 可能(条件付き) |
GPLとの互換性
MPL 2.0第3.3節は、GNU GPLバーョン2.0、GNU LGPLバージョン2.1、GNU AGPLバージョン3、および、それ以降のすべてのバージョンのこれらのライセンスとの両立性を間接的に提供しています。ただし、条件があります:
- MPL 2.0のファイルをGPLプロジェクトに組み込む場合
- オリジナルのMPL 2.0ファイルはMPL 2.0の条項でも利用できることを確実にする必要がある
- 「Larger Work」(大きな作品)として扱われる
実際の使用例
MPL 2.0ライセンスは多くのプロジェクトで使用されていますが、複雑なライセンス体系を持つものもあります:
Mozillaプロジェクト(複合ライセンス)
- Firefox – Mozilla Firefoxブラウザ(歴史的にトライライセンス:MPL/GPL/LGPL)
- Thunderbird – Mozilla Thunderbirdメールクライアント(Mozilla Foundation製品)
デュアルライセンス
- LibreOffice – オープンソースオフィススイート(LGPLv3以降 と MPL 2.0のデュアルライセンス)
純粋なMPL 2.0プロジェクトの例
MPL 2.0を単独で採用しているプロジェクトも多数存在します。特に、企業が開発するオープンソースプロジェクトでファイル単位でのコピーレフトが適している場合に選択されることが多いです。
注意: 前述のプロジェクトは複雑なライセンス体系を持つため、利用時は各プロジェクトの公式ドキュメントで最新のライセンス情報を必ず確認してください。
開発者として気をつけること
プロジェクトでMPL 2.0ライセンスを採用する場合
1. LICENSEファイルの作成
- プロジェクトルートに「LICENSE」ファイルを作成
- MPL 2.0全文をコピー
- 各ソースファイルにライセンス表示を追加
2. ファイルヘッダーの追加
各ソースファイルに以下のようなヘッダーを追加:
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
3. README.mdでの表示
## License
This project is licensed under the Mozilla Public License 2.0 - see the [LICENSE](LICENSE) file for details.
MPL 2.0ライセンスのソフトウェアを利用する場合
1. ファイル単位での管理
- MPL 2.0ライセンスのファイルがどれかを明確に把握
- 改変したMPL 2.0ファイルのソースコード公開の準備
- 自分で追加したファイルには別のライセンスを適用可能
2. 配布時の対応
- 改変したMPL 2.0ファイルのソースコードを同梱
- 元のMPL 2.0ライセンス表示を保持
- 改変内容の明記
3. 企業での利用
- MPL 2.0部分のソースコード公開は必要
- 自社開発部分はクローズドソースのまま配布可能
- 法務部門との連携を推奨
注意すべき点
1. ファイル単位での管理の複雑さ
プロジェクト全体ではなくファイル単位でライセンスが適用されるため、どのファイルがMPL 2.0ライセンスなのかを正確に管理する必要があります。
2. 改変時のソースコード公開義務
MPL 2.0ライセンスのファイルを改変した場合、そのファイルのソースコードは必ず公開する必要があります。
3. 特許条項
MPL 2.0には特許条項が含まれており、特許訴訟を起こした場合にライセンスが終了する可能性があります。
4. 複合ライセンスプロジェクトの注意
多くの大規模プロジェクト(Firefox、LibreOfficeなど)は、MPL 2.0以外のライセンスも組み合わせて使用しています。これらのプロジェクトを利用する際は、すべてのライセンス条項を確認する必要があります。
まとめ
MPL 2.0ライセンスは、オープンソースの利益を保ちつつ、企業利用における柔軟性も確保した「準コピーレフト」ライセンスです。ファイル単位でのコピーレフトという独特な仕組みにより、オープンソース部分とプロプライエタリ部分の共存が可能になっています。
開発者として、MPL 2.0ライセンスの特徴を正しく理解し、ファイル単位での管理を適切に行うことで、オープンソースエコシステムと商用利用の両立を図ることができるでしょう。ライセンス選択に迷った際は、プロジェクトの性質や利用想定、さらには将来の展開可能性を考慮して慎重に検討することが重要です。
特に、有名なオープンソースプロジェクトは複雑なライセンス体系を持つことが多いため、利用前には必ず公式ドキュメントでライセンス情報を確認することを強く推奨します。
用語解説
コピーレフト:著作権を使って、派生作品も同じ自由を保証する仕組み。「左」は著作権(copyright)の「右」に対する皮肉。
準コピーレフト(Weak Copyleft):コピーレフトの効力が限定的なライセンス。プロジェクト全体ではなく、特定の範囲(ファイル単位やライブラリ単位)にのみ適用される。
ファイルレベルコピーレフト:MPL 2.0独特の仕組みで、コピーレフトの効力がファイル単位で適用される。そのため、同一プロジェクト内でMPL 2.0ファイルと他のライセンスファイルが共存できる。
トライライセンス:3つのライセンス(MPL、GPL、LGPL)から利用者が選択できる方式。Mozillaプロジェクトで歴史的に採用されてきた。
デュアルライセンス:2つのライセンスを組み合わせて提供する方式。利用者がいずれかの条件を満たせば使用可能。
この記事は一般的な情報提供を目的としており、法的アドバイスではありません。具体的な法的問題については、専門家にご相談ください。