MIT vs GPLライセンス[終了]


122

MITライセンスはGPL互換です。GPLライセンスはMIT互換ですか?つまり、GPLライセンス製品にMITライセンスコードを含めることができますが、MITライセンス製品にGPLライセンスコードを含めることはできますか?

MITライセンスとGPLの主な違いは、GPLが行うのに対して、MITは修正をオープンソースにする必要がないということです。あれは正しいですか?GPLはMITライセンスよりも制限的ですか?


1
en.wikipedia.org/wiki/MIT_License ライセンスもGPL互換、それを意味している...
マイケルPetrotta

回答:


76

MITライセンスとGPLの主な違いは、GPLが行うのに対して、MITは修正をオープンソースにする必要がないということです。

正しい-一般的に。あなたはしていない持っているあなたがGPLを使用している場合は、オープンソースに変更を。配布していない限り、変更して独自の目的に使用できます。しかし...配布した場合、GPLコードを使用しているプロジェクト全体も自動的にGPLになります。つまり、オープンソースである必要があり、受信者はあなたと同じ権利をすべて取得します。つまり、向きを変えて配布し、変更し、販売することができます。これには、独自のコードが含まれるため、もはや独占的である-それはオープンソースになる。

MITとの違いは、MITライセンスコードを使用する独自のコードを実際に配布しても、コードをオープンソースにする必要がないことです。コードが暗号化されているか、バイナリであるクローズドアプリとして配布できます。MITライセンスの通知が含まれている限り、MITライセンスのコードを含めて暗号化できます。

GPLはMITライセンスよりも制限的ですか?

はい、とてもそうです。


16
GPLはソフトウェアを「オープンソース」にするものではありません。GPLに基づくソフトウェアは(ユーザーの自由を保護する場合と同様に)無料になります。フリーソフトウェアはオープンなものより古く、より意味のある動きです。違いに関する記事は次のとおりです:gnu.org/philosophy/open-source-misses-the-point.html。ありがとう
ホルヘ・オルピネル14年

11
同じ理由で、MITはユーザーの自由をすべて保護するわけではなく、ソフトウェアの民営化(=ユーザーによる制限と制御の喪失)につながる可能性があるため、MITはより制限的であると主張することができます。ありがとうございました
ホルヘ・オルピネル14年

3
@tcurdtなぜこれが自由について話すのに「適切な場所」ではないのですか?なぜ自己検閲?いいえ、残念ながらそれは「無料」が意味するものではありません。「オープン」でもそれは意味しません。MITとGPLのどちらのライセンスも明確にするために、「それで何でも」できるようにしています。ライセンスのないコードのみがそのカテゴリに分類できます。乾杯
ホルヘ・オルピネル

3
もう一度言いますが、これはstackoverflow.com/help/on-topicで使用するはずのstackoverflowです。これが主題外だと思っている人は、そうはしません。とにかく、表現の自由があり、これは一種の公共空間なので……うん。あなたはただ間違ったことを処理することはできません。実は私はできればあなたや他の読者を助けようとしています。とにかく、幸運
ホルヘオーピネル2014年

8
@JorgeOrpinel「ライセンスのないコードのみがそのカテゴリに該当する可能性があります。」これは非常に間違っています。ライセンスのないコードはPROPRIETARY / "all rights reserved"です。ライセンスを取得せずに他の人が作成したコードをあちこちに再配布すると、多くの法的問題を引き起こす危険があります。あなたは「あなたや他の読者を助けようとしている」と言っていますが、読者を訴えることはあまり役に立ちません。参考までに。
セミコロン

45

GPLライセンスコードをMITライセンス製品に含めることはできますか?

あなたはできる。GPLはフリーソフトウェアであり、MITも同様です。どちらのライセンスも、「include」が常に双方向であるため、コードをまとめることを制限しません。

結合された作品(つまり、2つ以上の作品が1つの作品を形成する)の著作権では、1つの作品が他の作品よりも「大きい」かどうかに関係なく、大きな違いはありません。

したがって、MITライセンス製品にGPLライセンスコードを含める場合、同時にGPLライセンスコードにもMITライセンス製品を含めます。

セカンドオピニオンとして、OSIは両方のライセンス(MITおよびGPL)について次の基準(詳細)リストしました

  1. 無料の再配布
  2. ソースコード
  3. 派生作品
  4. 著者のソースコードの整合性
  5. 人またはグループに対する差別はない
  6. 努力の分野に対する差別はない
  7. ライセンスの配布
  8. ライセンスは製品に固有のものであってはなりません
  9. ライセンスは他のソフトウェアを制限してはならない
  10. ライセンスはテクノロジーに中立でなければならない

どちらも組み合わせ作品の作成を可能にします。これはあなたが求めていたものです。

2つの作品を組み合わせることが派生物と見なされる場合、これは両方のライセンスによっても制限されません。

また、どちらのライセンスもソフトウェアの配布を制限していません。

MITライセンスとGPLの主な違いは、GPLが行うのに対して、MITは修正をオープンソースにする必要がないということです。

GPLでは、変更を加えたという理由だけで変更をリリースする必要はありません。それは正確ではありません。

これをGPLの下でのソフトウェアの配布と混合するかもしれませんが、これはあなたが直接尋ねたことではありません。

それは正しいですか-GPLはMITライセンスよりも制限的ですか?

これは私がそれを理解する方法です:

ディストリビューションが重要である限り、パッケージ全体をGPLの下に置く必要があります。パッケージ内のMITコードは引き続きMITの下で使用できますが、GPLは、より高い権限によって制限されない限り、パッケージ全体に適用されます。

「制限的」または「より制限的」/「より制限的でない」は、視点に大きく依存します。ソフトウェアユーザーにとって、MITはGPLで利用可能なソフトウェアよりも制限されたソフトウェアになる可能性があります。そのユーザーは具体的にはMITをより制限的に呼ぶでしょう。そう言うのは主観的なもので、人によって答えは異なります。

異なるライセンスの制限について話すのは主観的なだけなので、代わりに達成したいことについて考える必要があります。

  • 変更の使用を制限したい場合、MITはGPLよりも配布を制限することができ、それがあなたが探しているものかもしれません。
  • ソフトウェアの自由が配布先のユーザーによってそれほど制限されないようにしたい場合は、MITではなくGPLでリリースすることをお勧めします。

あなたが作者である限り、あなたが決めることができます。

したがって、誰がどのライセンスを選択しているかに関係なく、これまでで最も制限的な人物は作者です。


1
「パッケージ内のMITコードはMITでも引き続き使用できます」完全にはわかりません。GPL + MITプロジェクトは、MITの部分を含むオープンソースプロジェクトを提出する必要があります。他の問題については、LGPLはプロジェクト全体の邪魔にならない。
magallanes 2011

13
回答の後半で明確にしますが、MITライセンスのプロジェクトにGPLライセンスのコードを含めることは「可能」であると言って始めるのは非常に誤解を招きます。もともとMITライセンスであったプロジェクトは、GPLでのみ利用可能なコードが含まれるようになると、MITライセンスで全体として配布できなくなります
アンチノーム

3
また、制限は主観的であると主張することは誤解を招くものです。「取得したこれらのファイルを使用して合法的に実行できるアクションは何か」と尋ねることは、合理的で主観的ではない質問です。GPLの下では、その一連のアクションは、実際にはそれらのアクションがMITの下で行われるはずだったものの適切なサブセットです。
アンチノーム

1
@hakra:GPLライセンスのコードをMITライセンスのプロジェクトに含めることはできません。配布しない場合でも、結果の全体はMITライセンスではなくなるためです。(もしそうなら、MITライセンスの条件はあなたがそれを配布することを許可するでしょう!)
アンチノーム

9
tl; dr:MITライセンスのアプリにはGPLコードを含めることができますが、結果のアプリはMITライセンスではありません。
アンチノーム

16

あなたは、GPLがMITライセンスよりも制限的であることは正しいです。

MITライセンス製品にGPLコードを含めることはできません。GPLとMITコードを組み合わせた組み合わせ作品を配布する場合(「単なる集計」などの特定の状況を除く)、その配布はGPLに準拠している必要があります。

GPL製品にMITライセンスコードを含めることができます。結合されたすべての作業は、GPLに準拠した方法で配布する必要があります。コードのMIT部分に変更を加えた場合、GPLおよびMITコードを含むアプリケーションを配布する場合、それらの変更のソースを公開する必要があります。

あなたがGPLコードの著作権所有者であれば、もちろんそのコードをMITライセンスの下でリリースすることを選択できます。その場合、それはあなたのコードであり、好きなだけ多くのライセンスの下で公開できます。


3
プロジェクトがjqueryなどのデュアルライセンスでない限り。
buggedcom 2011年

7
@buggedcom-MITライセンスの下にあったパーツをデュアルライセンスすることはできますが、MIT / GPLライブラリを組み合わせてデュアルライセンスを適用することはできません。GPLの下でのみライセンスを取得する必要があります。(GPLの条件に違反するため、GPLライセンスのあるパーツをMITライセンスの下で再ライセンスすることはできません)。jQueryの場合、コードの著作権所有者はデュアルライセンスの下でコードをリリースしたので問題ありませんが、他の場所からGPLコードを「借用」した場合、結合した作品のMITライセンスを取得できなくなります。 。
Mark H

私の知る限り、そうではありません。FSFによると、GPLはMITライセンスと互換性があります[1]残念ながら、プロジェクト自体がMITライセンスで完全にカバーされなくなったという事実は変わりません... コードをリリースせずに、プロジェクト全体を商用コンテキストで使用することはできなくなります。この混乱を避けるために、それはだ、より良い MITライセンスのプロジェクトにGPLコードを含まないように。できないことは間違っています。[1] gnu.org/licenses/license-list.html#SoftwareLicenses
tcurdt 2011

...しかし、それはあなたが「製品」として定義するものに依存すると思います
tcurdt

2
MITライセンス製品(おそらく「アプリケーション」のほうがいいでしょう)にGPLコードを含めることはできません。GPLコードをMIT製品に追加できますが、結果のアプリケーションはGPLライセンスでのみ配布できます。GPLの条件の下でのみ配布できるアプリケーションが「MITライセンス製品」であると誰かが説明するのを見たことがありません。ライセンスが「互換性がない」場合、結合された作品をまったく作成できません。それらが互換性があるという事実は、GPLライセンスで配布できる結合された作品を作成できることを意味します。
JosephH 2011

5

IANALですが、私が見ると...

GPLコードとMITコードを組み合わせることができますが、GPLは汚染されています。つまり、パッケージ全体がGPLの制限を受けます。これはより制限的であるため、商用(またはクローズドソース)ソフトウェアでは使用できなくなります。これは、MIT / BSD / ASLプロジェクトがある場合、GPLコードに依存関係を追加したくないことも意味します。

GPL依存関係を追加してもコードのライセンスは変更されませんが、プロジェクトのアーティファクトを使用してユーザーが実行できる操作が制限されます。これは、ASFがプロジェクトのGPLコードへの依存を許可しない理由でもあります。

http://www.apache.org/licenses/GPL-compatibility.html


1
+1実際、マイクロソフトはこの問題を完全に特定しており、GPLはすべてのプロジェクトをオープンソース化するため、バイラルです。
magallanes 2011

10
問題ではありません。GPLは設計上バイラルです。他の人が自由にコードを使用できるようにしたい人が使用することを目的としていますが、そのソフトウェアまたは派生物のコピーを公開する他の人も同じようにユーザーを尊重する必要があります。GPLはユーザーについてです。それは、国家が実施した独占を通じて利益を最大化する企業についてではなく、再帰的であるという事実は、実際にはその美しさと強さであり、Microsoftが「完全に特定」できる「問題」ではありません。GPLがバイラルであることを認識するのに特別な洞察は必要ありません。ウィキペディアで十分です。
カールスミス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.