MITライセンスとは?その意味や商用利用について詳しく解説
オープンソースソフトウェア(OSS)とは
オープンソースソフトウェア"Open Source Software"は、その頭文字から「OSS」と略して使用されています。OSSはそのソフトウェア自身のソースコードの公開と、その利用・改変、再配布などを自由に行うことが許可された点が特徴のソフトウェアです。
OSSの中でも皆さんがよく利用されているものに、「Linux OS」、DBMSの「MySQL」、プログラム言語の「Java」「Perl」「PHP」「Python」やブラウザソフトの「Firefox」などが知られています。
ご存知の通り、OSSは無償利用が可能なソフトですが、その性能の高さや信頼性が評価され、ビジネス利用においてもOSSをベースにした開発が多く見られます。エンジニアの皆さんも、これらのソースを元にアプリ開発を行った方も少なくないでしょう。今さら、OSSかと思われるかも知れませんが、改めてご自身の知識を再確認する記事になれば幸いです。
OSIの認定とは
OSSは無償で提供されているソフトウェアですが、改変が禁止されているフリーソフトとは異なり、改変して利用することができます。しかし、誰もが好き勝手に使って良いものではありません。OSSライセンスは非営利団体のOSI(正式名称:The Open Source Initiative)がその管理や認定を行っています。また、OSIはライセンスのレビューなどを通じてOSSの普及にも力を入れています。ソフトウェアがOSSとして認められるためには、そのライセンス(利用条件など)がOSIが定めた「オープンソースの定義」にマッチしていることが認定の条件です。
「MITライセンス」は商用利用できる
「MITライセンス」は、マサチューセッツ工科大学で考案・作成された代表的なOSSライセンスで、利用における制約や制限が少なく、無料で商用利用などに自由に使えるのが特徴です。
MITライセンスの規定は大変シンプルで、「ソフトウェアを自由に扱ってよい」「再配布の際に著作権とライセンスの表示を含める」の2点だけが利用条件です。また、「作者や著作権者はいかなる責任も負わない」ことを定めています。
さらに、MITライセンスのソフトウェアをベースにして新たに作成したプロダクトは、その「ソースコードを公開しない」配布が可能である点が、ソースコードの開示が前提となるGPLライセンスなどとの違いであり、その簡便さがMITライセンスに人気が集まる理由の1つです。
MITライセンスのシェアは、OSSライセンス中では最も高い4割前後の利用となっています。
OSSライセンスにはさまざまな種類のライセンスがありますが、OSSライセンスに共通の重要ポイントが3つあります。ここでは、その3つの重要ポイントについて解説していきます。
動作結果に対する保障がない
OSSライセンスでは「OSSの正常動作の保障がなく、発生した結果について作成者は一切の責任を負わない」という免責があります。
つまり、「利用して何かあっても責任は負わない」という条件付で無償配布がされていると理解しましょう。責任を負わないという点に不安を感じますが、OSSにはLinuxやJAVAのように良く知られたメジャーなソフトが多く、サポート関連サイトもあり、仮にバグなどのトラブルがあってもソースコードを触ることができるため、直ちに対応できるのが特徴です。ここがフリーウェアなどとの大きな違いです。
著作権の表示義務がある
OSSライセンスにはさまざまのタイプがありますが、オリジナルOSSから派生したソフトウェアの配布の当たり、オリジナルのOSSに関する「ライセンスに関する文」「著作権」「免責事項」などに関する表示の義務が生じるという点が共通しています。
それらを具体的に表示する場所・表示の方法・表示内容などについては、各ライセンスによって多少異なるため、詳細はそれぞれのライセンスを個別に確認する必要があります。
MITライセンスでは記載事項として、「著作権表示」と「本許諾(ライセンス)に関する文」の2つが定められています。
具体的には、「Copyright (c)2021 Taro Yamada」(例)と、このライセンスの全文(The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.)をソースコードの中に記載、もしくはソースコードとは別にテキストファイルなどを利用した形での掲載、提供が求められます。
■ソースコード形式での配布の場合
ソースコードでの配布の場合は、オリジナルのソースコードの中に「著作権」や「ライセンスに関する文章」が既に入っているため、著作権に関して特別に何かをする必要はないでしょう。
■バイナリ形式での配布の場合
このパターンでは、コンパイル時にソースに記載された「ライセンスに関する文」が消えてしまうため、バイナリとは別に「ライセンスなどを表示する専用ファイル」を作成して、ソフトウェアを配布します。
コピーレフト型と非コピーレフト型
OSSライセンスには3つの型のライセンス方式があります。「コピーレフト型」「準コピーレフト型」「非コピーレフト型」のいずれかに分類されます。ちなみにレフトというのは、Leftは「残す」といの意味です。
■「コピーレフト型ライセンス」
「コピーレフト」は”コピーを残す”という意味なため、「オリジナルOSSから派生するプロダクトを作成して配布する場合、元のOSSと同様に、そのプロダクトなどのソースコードを公開しなければならない」ということを意味しています。コピーレフト型ライセンスとしては「GPLライセンス」などがあります。
■「非コピーレフト型ライセンス」
オリジナルOSSに手を加えて新たに作成したプロダクトに関しては、オリジナルと同じライセンスを適用する必要がないことが特徴で、そのプロダクトを自社商品として販売することが可能です。非コピーレフト型ライセンスには、MITライセンス以外に「BSDライセンス」が有名です。
■「準コピーレフト型ライセンス」
オリジナルOSSに関する制限は「コピーレフト型」と全く同一ですが、OSSをベースにして新たに作成したプロダクトはソースコードの開示義務がないという点が特徴です。
GitHubについて
開発者としては外せないサービスの1つに、GitHubがあります。GitHubは、簡単に言うとソフトウェア開発プロジェクトにおけるソースコードの管理サービスです。GitHubでは、ソースコードのバージョン管理・閲覧・バグの追跡機能・SNS機能などを備え、開発者にとって必要不可欠とも言えるサービスです。OSSライセンスの確認もGitHub上で簡単に行えるようになっているため、GitHubを上手く活用してみてください。
OSSの最大の利用メリットは「コストメリット」だと考える方が多いでしょう。しかし、OSSには「コストメリット」以外にもさまざまなメリットがあるからこそ、広く利用されているのです。これからコストメリット以外のメリットについても見ていきましょう。
1.ソースコードの信頼性
ソースコードが公開されているため、不正プログラムや脆弱性などの監査が可能であり、ソフトウェアの信頼性を担保できます。また、発見されたバグや脆弱性に対して、迅速に対応することが可能です。
2.長期にわたって使い続けられる
商用ソフトは「プロプライエタリ・ソフトウェア」タイプが大半で、ソースを開示せず、ソフトウェアそのものの改変や複製などを制限し、サポート終了の際にアップグレードが必須となるのが普通です。Windows OSをイメージするとよく分かるでしょう。これに対して、OSSはそのソースコードがオープンになっている、継続してメンテナンスを行うことができて長期間安定して利用することが可能です。
3.柔軟性に優れている
OSSライセンスの特徴の3つ目は、非常に柔軟性がある点です。OSSには国際標準規格のプロトコルやAPIが備えられているため、システム間の連携やプラグイン開発が容易に行えます。さらには、ソースコードそのものの修正も可能であり、業務の変更や市場の変化などに柔軟に対応することができます。
ソース
さらに深堀します!
自由度の高い 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 ライセンスの日本語訳は以下の通りです。
MIT ライセンス原文(英語):The MIT License (MIT) | Open Source Initiative
MIT ライセンス日本語訳:https://licenses.opensource.jp/MIT/MIT.html
上記の日本語訳を要約すると以下のようになります。
前述した通り、「著作権表示」と「MIT ライセンスの全文掲載(原文への URL でも可)」がクリアしていれば利用条件を満たしたことになります。
また、ウェブページ内に「著作権表示」と「MIT ライセンスの全文」を掲載し、その URL を同梱ファイルに掲載するという方法でも問題ありません。
MIT ライセンスの掲載例
ここからは実際に、MIT ライセンスを利用する際の掲載例をご紹介します。
下記は「著作権表示」と「ライセンスの全文」の記載の実例です。
上記の例では、最後の 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 の標準形式になります。
それじゃーね!