yamory Blog

自由度の高い MIT ライセンスの概要と他ライセンスとの比較

MIT ライセンス (エムアイティーライセンス、MIT License)とは、オープンソースソフトウェアを開発・配布する際に用いられる代表的なオープンソースライセンスのひとつで、利用許諾のための条件などを定めているものです。

本記事では MIT ライセンスの概要から掲載例、各種ライセンスの比較について解説していきます。

MIT ライセンスの概要

MIT ライセンスは、マサチューセッツ工科大学で作成された代表的な寛容型オープンソースライセンスのひとつです。

MIT ライセンスの規定はシンプルで、ソフトウェアを自由に扱ってよいこと、再頒布時に著作権表示とライセンス表示を含めること、作者や著作権者はいかなる責任も負わないことを定めています。

MIT ライセンスの大きな特徴は、MIT ライセンスを用いて公開されたプログラムを改変したり、自らのプログラムに組み込んだ派生的な著作物は、ソースコードを公開せずに販売・配布が可能になることです。

また、制限がゆるいため、他のライセンスと組み合わせたときのライセンスの互換性(共存可能性)が比較的高いことも特徴です。

コピーレフト条項のある GPL などのライセンスでは、上記の行為は禁じられているケースが多く、派生著作物のソースコードを公開しなければならない場合もあります。

MIT ライセンスの「ソースコードを公開しなくてもよい」点を好んで、MIT ライセンスを採用する開発者も多くいます。

MIT ライセンスは 1980 年代にマサチューセッツ工科大学で X Windows System などの開発・配布のために考案されたものですが、カリフォルニア大学バークレー校の BSD ライセンス(BSD License)に影響を受けており、似た構成の Apache ライセンス(Apache License)などとともに「BSD スタイル」と総称されることもあります。

MIT ライセンスの内容

MIT ライセンスを利用する際には、守らなくてはいけない利用条件が存在します。
利用条件は、「著作権表示」と「MIT ライセンスの全文」を記載する、というふたつのみです。

なお、「MIT ライセンスの全文」を記載する代わりに、MIT ライセンスの全文が記載されているウェブページのURLを記載することで対応することも公式に認められているので、利用者にとってはとてもハードルの低いライセンスといえるでしょう。

MIT ライセンスの日本語訳は以下の通りです。

Copyright (c) <著作権発生年> <著作権保持者名>

以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。
これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。
上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。

ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。
ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。
作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。

MIT ライセンス原文(英語):The MIT License (MIT) | Open Source Initiative

MIT ライセンス日本語訳:licenses/MIT_license - Open Source Group Japan Wiki - Open Source Group Japan - OSDN


上記の日本語訳を要約すると以下のようになります。

このソフトウェアは、コピー利用、配布、変更の追加、変更を加えたもの再配布、商用利用、有料販売など、どなたも自由にお使いいただくことができます。

このソフトウェアの著作権表示(「Copyright (c) 年 作者名」)と、このライセンスの全文(英語の原文)を、ソースコードや、ソースコードに同梱したライセンス表示用の別ファイルなどに掲載してください。

このソフトウェアには保証はついていません。
このソフトウェアを利用したことで問題が起きた際に、ソフトウェアの製作者は一切の責任を負いません。

前述した通り、「著作権表示」と「MIT ライセンスの全文掲載(原文への URL でも可)」がクリアしていれば利用条件を満たしたことになります。
また、ウェブページ内に「著作権表示」と「MIT ライセンスの全文」を掲載し、その URL を同梱ファイルに掲載するという方法でも問題ありません。

MIT ライセンスの掲載例

ここからは実際に、MIT ライセンスを利用する際の掲載例をご紹介します。

下記は「著作権表示」と「ライセンスの全文」の記載の実例です。

Copyright (c) 2020 yamory yamada
Released under the MIT license
https://opensource.org/licenses/mit-license.php

上記の例では、最後の URL が「MIT ライセンスの原文ページ」の URL になっていますが、自身で作成した「MIT ライセンスの原文ページ」でも可能です。

MIT ライセンスのバリエーション

MIT ライセンスと一口に言っても、その形式には加筆修正を加えた様々なバリエーションが存在するため、「MIT ライセンス」というだけではどのライセンス形式を指すのか曖昧です。

MIT ライセンスをカスタマイズした代表的な例として JSON ライセンス(The JSON License)があげられます。

JSON ライセンスはMIT ライセンスに “The Software shall be used for Good, not Evil.”(このソフトウェアは良いことに使うべきであり、悪いことに使うべきではない)という一文を追加しています。

なにをもって良いこと・悪いこととするのか興味深いところですが、この一文によって OSS の用途に制限が出てきました。

この制限により、オープンソース推進団体の Open Source Initiative(OSI)から、JSON ライセンスは OSS ライセンスには適合しないとされ OSS ライセンスとして認定されませんでした。

もう 1 つの例として、MIT ライセンスは X11 ライセンスとも呼ばれますが、厳密には X11 ライセンスは MIT ライセンスに広告に関する節が追加されているという違いがあります。

このようなバリエーションはライセンスをレビューする担当者にとって厄介です。
内容は同じでも些細な形式の違いがあるために、確認の必要性が出てきます。

幸いなことに、OSI によって一般的な形式の MIT ライセンスが The MIT License として標準化されています。

この標準化された MIT ライセンスは Expat ライセンスと同じであり、MIT ライセンスのバリエーションとの混同を避けるため明示的に Expat ライセンスと呼ばれることもあります。(Expat ライセンスが MIT ライセンスとして知られている、という見方もできるでしょう)

MIT ライセンスを使う場合は、標準形式を使用することを推奨します。前述の「MIT ライセンスの掲載例」で言及したライセンスの原文ページに記載された内容は、OSI の標準形式になります。

各種ライセンスの比較

世の中には数多くの OSS ライセンスが存在します。

ここでは開発の際に見かけることが多いであろうライセンスの頒布時の条件を含む特徴と MIT ライセンスの特徴を比較します。

修正 BSD License(3 条項 BSD ライセンス)

修正 BSD ライセンスは、MIT ライセンスと同じく寛容型ライセンスです。

内容も MIT ライセンスとほとんど同じですが、以下の点がMIT ライセンスと異なります。

(1) 書面での許可なしに著作権者及び関係する組織の名前の使用が禁止されていること
(2) ソースコードの配布とバイナリの配布を区別していること

(2) については、ソースコード形式かバイナリ形式かを問わず、ソフトウェアのすべての複製または重要な部分にクレジットとライセンス条項を表記する、と解釈すれば本質的な違いは (1) のみになります。

BSD ライセンスは 2 項型から 4 項型までありますが、最も一般的な 3 項型が利用されるケースが多く、クレジット及びライセンス条項の表記(ソースに記載など)を行えば基本的に制限はありません。

特徴

・商用利用可能(無償かつ無制限に使用可能)
・利用に伴い作成者はいかなる責任も負わない
・著作権表示とライセンス条文+無保証である旨をソフトウェアの重要部分(ヘッダ部など)に記載する必要あり
・複製・改変後のソースコードの公開義務なし
・開発者または他の利用者の名前を許可なく使用してはならない

公式HP: https://opensource.org/licenses/bsd-license.html
公式日本語訳:https://ja.osdn.net/projects/opensource/wiki/licenses%2Fnew_BSD_license

GNU General Public License version 2.0(GPL v2.0)

GPL ライセンスは、コピーレフトとして有名なライセンスです。
WordPress を始め、様々なソースコードなどへ付与されていることでも知られています。

MIT ライセンスや修正 BSD ライセンスに比べると制限が強く、厳格にコピーレフトを守ったライセンスとなっています。
なお、単に GPL ライセンスのソフトウェアを改変しただけでは公開義務は発生しません

また、GPL v2.0 は 他のライセンスと組み合わせたときに GPL ライセンスにはない強力な制限を加えることはできないため、後述の Apache License 2.0 との互換性がないことでも知られています。

特徴

・商用利用可能(無償かつ無制限に使用可能)
・利用に伴い作成者はいかなる責任も負わない
・著作権表示とライセンス条文+無保証である旨をソフトウェアの重要部分(ヘッダ部など)に記載する必要あり
・GPL ライセンスを利用して作成されたソフトウェアは頒布時にソースコードの公開義務あり(改変部分のソースコード公開を含む)
・GPL ライセンスが適用されたプログラムの全部あるいは一部を用いて作られたソフトウェアは GPL に従って頒布されること
・GPL ライセンスを適用したソフトウェアを頒布する際に GPL ライセンスで書かれている以上の条件を課すことは出来ない

公式HP:http://www.gnu.org/copyleft/gpl.html
公式説明(日本語):http://www.opensource.jp/gpl/gpl.ja.html

Apache License, Version 2.0(Apache License 2.0)

Apache ライセンスは、世界的に利用されている主要なオープンソースライセンスのひとつです。

MIT ライセンスとの大きな違いは、Apache ライセンスでは利用者に特許使用権を付与していることです。
ここでいう特許はその OSS の原作者を含むコントリビュータが持つ特許で、当該 OSS のみで実現可能な特許を指します。

Apache ライセンス 2.0 の第 3 項に特許ライセンスの付与についての記載があります。
第 3 項ではおおよそ次のことを述べています。

(1) コントリビュータから利用者へ特許ライセンス(patent license; 特許使用権)を付与
(2) 利用者による特許権行使を禁止する(厳密には禁止ではなく、特許訴訟を起こした場合は、その特許ライセンスは訴訟を起こした時点で終了する)

特許使用権を与える意図は、利用者が OSS 開発者らからの特許権行使を恐れて OSS 利用を躊躇してしまうことを避けるためと言われています。

特徴

・商用利用可能(無償かつ無制限に使用可能)
・利用に伴い作成者はいかなる責任も負わない
・Apache License のコードが利用されている旨を知らせる必要あり(改版した場合は改版した旨も知らせる必要あり)
・ソースコードの公開義務なし(コピーレフト条項を持たない)
・ 特許ライセンスが付与される(ただし特許権行使をするとライセンスは失効する)

公式HP:http://www.apache.org/licenses/
非公式説明(日本語):https://licenses.opensource.jp/Apache-2.0/Apache-2.0.html

さいごに

今回は MIT ライセンスの概要について解説しました。

MIT ライセンスは制限が緩く、比較的ハードルの低いライセンスです。
改変、再配布、商用利用、有料販売など、幅広いニーズに対応できるのも開発者にとっては嬉しいポイントではないでしょうか。

ライセンスには多くの種類があり、それぞれに特徴があります。
利用する際は自分の環境にどれがベストか、比較検討することをおすすめします。

さいごになりますが、yamory はオープンソースソフトウェアの脆弱性と、その脆弱性に関連する攻撃情報のモニタリングをすることができる脆弱性管理ツールです。

また現在、トライアルを含む有償プランにて α 版としてソフトウェアライセンス管理機能をご提供中です。

お使いのオープンソースソフトウェアのライセンスを一覧で確認することができ、合わせて Web アプリケーションで危険となりうる脆弱性を自動的に検出できるため、よりセキュアなシステム構築の助けになるかと思います。
無料でトライアルもできますので、ぜひ一度お試しください。

オープンソース脆弱性管理ツール yamory

  • 利用中のOSSを抽出し
    脆弱性を自動スキャン
  • 脆弱性への対応優先度を自動で分類
  • 組織規模に合わせたプランを選択可能

フリー

¥0

個人向け

1チームまでの開発チーム作成

yamory を使いはじめる

プロ

有料料金はお問い合わせください

中〜大規模組織向け

無制限の開発チーム作成

開発チームを俯瞰できるセキュリティチーム機能

危険な脆弱性の Slack 連携通知機能

Jira Cloud と連携

シングル・サインオン(SSO)連携*

* SSO 連携は無料トライアルではご利用できません。プロプラン契約後からご利用できます。

30日間の無料トライアルを開始