MIT ライセンスとは
MIT ライセンスに関するよくある質問と答え Top 10
MIT ライセンスとは
MITライセンスは、ユーザーがコードを再利用することを明示的に許可するもので、ときにはコードがプロプライエタリソフトウェアの一部になっている場合もあります。ユーザーが配信物に MIT ライセンスのオリジナルコピーを含める限り、ユーザーは自分のニーズに合わせてコードの変更や修正ができます。
最もシンプルなオープンソースライセンス契約の 1 つです。 一般のユーザーが理解できる文章にすること、また他の同様のフリーアンドオープンソースソフトウェア (FOSS) ライセンスで生じかねない大規模な訴訟を回避することを意図しています。
MIT ライセンスにはどのような経緯がありますか
1983 年の IBM、MIT、DEC (Digital Equipment Corporation) の共同プロジェクトが、MITライセンスの起源であると考えられています。起源が断定的でない理由は、文言に変更を加えた複数の異なるバージョンがさまざまな時期に使用されていたためです。
オープンソースソフトウェアライセンスが必要になったのは、1980 年代からです。それ以前のほとんどのプログラマーは、科学的研究を向上させ、システムを開発して、人間の知識とテクノロジーを発展させることを目指し、コードベースを積極的に共有していました。1960 年代になると、世界中の大学でコンピューターが使われるようになり、研究者は数学的な仮説を検証するためにコードを書くようになりました。
マサチューセッツ工科大学 (MIT) では、故エドワード・ローレンツ (Edward Lorenz) が 1960 年代に初めて気象予測ソフトを実用化し、シミュレーションに小さな変更を加えると混沌とした不一致が生じることに注目しました(現在はカオス理論と呼ばれています)。このようなイノベーションにより、大企業にとってソフトウェアは非常に魅力的なものとなり、プロプライエタリソフトウェアの時代が到来しました。
1980 年までに、プリンターなどのデバイスのソースコードが自由に入手できなくなりました。MIT のリチャード・ストールマン教授 (Richard Stallman) はこれを機に、開発者のコミュニティがソースコードを利用できるようにするため、生涯をかけて奮闘することになりました。ソフトウェアを共有可能にするために、MIT のような機関では、特に学術分野で生まれたオリジナルのコードについて、ソフトウェアライセンス契約を整備することが求められました。
MIT オープンソースライセンスのメリットとは
MIT ライセンスを使用する大きなメリットは、どのような立場であれ、等しく役立つということが挙げられます。GNU GPL ライセンスは自由すぎると感じる開発者もいれば、すべてのソフトウェアは最終的にプロプライエタリにするべきだと考える開発者もいます。MIT ライセンスはオープン言語であるため、コミュニティの開発者にも、既存の MIT ライセンスコードを使ってプロプライエタリソフトウェアを作ろうとしているチームにも適しています。
MIT ライセンスの利用条件とは
MIT ライセンスの主な契約条件は、アクセス許可を付与し、将来の使用について開発者を補償することです。具体的には、ソフトウェアおよび関連ファイルのコピーを取得したすべての人に、ソフトウェアのコピーの使用、複製、変更、マージ、配布、公開、サブライセンス、販売の権利を与えます。
ソフトウェアを使用するために必要な唯一の条件は、ソフトウェアのすべての複製物またはその相当部分に同じ著作権表示を含めることです。本文の最後の部分は、制限を規定し、コードの共有によって暗示されるいかなる保証も無効にしています。
MIT オープンソースライセンスの参照先クラスとは
オープンソースやフリーソフトウェアのクラスは、2つのタイプに分類できます。
コピーレフト\: 弱い、あるいは強いコピーレフトライセンス (著作権を意味するコピーライトの逆) は、オープンソースコンポーネントに基づくすべてのソフトウェアに対し、製品と同様の FOSS ライセンスの適用を試みます。
BSD スタイルおよびパーミッシブ\: これらのライセンスでは、後続のユーザーがオープンソースまたはプロプライエタリにする目的でソフトウェアを実装、変更、または拡張する方法について、最小限の制限を課しています。
MIT ライセンスは、FOSS ライセンスのうち、パーミッシブなもの (または BSD スタイル) に属します。BSD スタイルのライセンスは、帰属表示を行い、将来的にいかなる請求も行わないことを条件として、誰でも自由にコードを使用できるようにしています。
MIT ライセンス対 Apache 2.0
Apache 2.0 ライセンスは MIT ライセンスに似ていますが、いくつかの重要な違いがあります。その一つには、Apache 2.0 ライセンスの文言は MITライセンスよりもずっと詳細で、多くの法律用語が含まれているという点が挙げられます。MITライセンスは、開発者がソフトウェアを配布する上で、最もシンプルでわかりやすいオープンソースライセンスを目指しています。
もう一つの大きな違いは、Apacheライセンスでは、開発者がオリジナルのソースコードに大きな変更を加えた場合、その内容を開示することが義務付けられている点です。変更したソースコードを公開する必要はありませんが、変更したことの通知が必要です。ただし、変更されていないコードは、Apache のライセンスを保持する必要があります。
MITライセンスと異なり、Apache ライセンスのオープンソースソフトウェアに変更を加えたものは、エンドユーザーによる特許取得も認められています。これらの特許権は、変更されたバージョンが Apache によって何らかの方法で承認されていることを示唆しない限り、グローバル、永久的、取消不能、および非独占的です。Apache ライセンスの文言では、特許権を明示的に明確に付与していますが、MIT ライセンスでは特許権が曖昧です。
MIT ライセンスを取得するには
開発者が MIT ライセンスを使用する場合は、提供された文言をコピーし、該当するソースファイルに含める必要があります。プロジェクトで他の MIT ライセンスソフトウェアを使用する場合、ファイルの先頭のオリジナルのライセンス情報を保持し、著作権表示も残します(変更されていない場合)。
MIT ライセンスは誰でも使えますか
はい、開発した製品に関するすべての権利が将来自由に変更できるようになることを理解している開発者やユーザーは誰でも、自身のプロジェクトに MIT ライセンスを含めることができます。
Snyk が提供するオープンソースライセンスコンプライアンス管理ソリューションを使えば、プロジェクトでオープンソースソフトウェアライセンスを遵守しながら、すばやい開発ペースを維持できます。
MIT ライセンスのコードは商用利用できますか
MIT ライセンスでは、商用利用が許可されています。ユーザーが新しいソフトウェアをリリースする際に、他のソースコードを提供する必要はありません。再利用するコードには、帰属表示とオリジナルの MIT ライセンスを含めれば十分です。
MIT ライセンスはどのくらい普及していますか
すべての FOSS ライセンスの中で最も広く普及しているのが、MIT ライセンスです。2019 年には、Github 上のすべてのオープンソースライセンスの 27% が MIT ライセンスを使用していることが研究者による調査で判明しました。その理由は、MIT ライセンスが短く、要点を押さえており、開発者向けに最適化されているためです。
ライセンス条件を遵守していることを確認するには
ソフトウェア開発のライフサイクルの早期からライセンスコンプライアンスを遵守することが重要です。Snyk を活用すれば、開発者はライセンスコンプライアンスを既存のワークフローに簡単に統合できます。Snyk が提供するさまざまな統合機能により、開発者は SDLC の各段階、そして可能な限り早期にライセンステストを適用できるようになります。
Snyk は Git ベースの統合 (GitHub、Bitbucket、GitLab、CircleCI、TeamCity) の提供により、通常のワークフローの一部としてライセンススキャンをサポートしています。新しいプルリクエストは、ライセンス違反がないかを査証し、定義されたポリシーに従ってライセンスチェックが合格または不合格になった場合に表示されます。