MIT vs GPL 라이센스 [닫기]


122

MIT 라이센스는 GPL과 호환됩니다. GPL 라이선스는 MIT와 호환됩니까? 즉, GPL 라이선스 제품에 MIT 라이선스 코드를 포함 할 수 있지만 MIT 라이선스 제품에 GPL 라이선스 코드를 포함 할 수 있습니까?

MIT 라이선스와 GPL의 가장 큰 차이점은 MIT가 수정을 요구하지 않는 반면 GPL은 수정이 필요하다는 것입니다. 그 맞습니까? GPL이 MIT 라이선스보다 더 제한적입니까?


1
en.wikipedia.org/wiki/MIT_License 이 라이센스는 GPL 과도 호환됩니다. 즉 ...
Michael Petrotta

답변:


76

MIT 라이선스와 GPL의 가장 큰 차이점은 MIT가 수정을 요구하지 않는 반면 GPL은 수정이 필요하다는 것입니다.

사실-일반적으로. 당신은하지 않습니다 당신이 GPL을 사용하는 경우 오픈 소스에 변경 내용을. 배포하지 않는 한 수정하여 자신의 목적으로 사용할 수 있습니다. 하지만 배포하면 GPL 코드를 사용하는 전체 프로젝트도 자동으로 GPL이됩니다. 즉, 오픈 소스 여야하며 수신자는 귀하와 동일한 권리를 갖습니다. 즉, 그들은 그것을 돌려서 배포하고, 수정하고, 판매 할 수 있습니다. 그리고 그것은 당신의 독점 코드를 포함 할 것입니다. 더 이상 독점적입니다-오픈 소스가됩니다.

MIT와의 차이점은 MIT 라이센스 코드를 사용하는 독점 코드를 실제로 배포하더라도 코드를 오픈 소스로 만들 필요가 없다는 것입니다. 코드가 암호화되거나 바이너리 인 폐쇄 된 앱으로 배포 할 수 있습니다. MIT 라이센스 코드를 포함하면 MIT 라이센스 통지를 전달하는 한 암호화 할 수 있습니다.

GPL이 MIT 라이선스보다 더 제한적입니까?

예, 매우 그렇습니다.


16
GPL은 소프트웨어를 "오픈 소스"로 만들지 않습니다. GPL에 따른 소프트웨어가 무료가됩니다 (사용자의 자유를 보호하는 것과 같이). 자유 소프트웨어는 공개 된 것보다 더 오래되고 의미있는 운동입니다. 차이점에 대한 기사가 있습니다 : gnu.org/philosophy/open-source-misses-the-point.html . 감사합니다
Jorge Orpinel 2014 년

11
같은 이유로 MIT는 사용자의 모든 자유를 보호하지 못하고 소프트웨어 사유화 (= 사용자에 의한 제한 및 제어 상실)로 이어질 수 있기 때문에 더 제한적이라고 주장 할 수 있습니다. 다시 한 번 감사드립니다
Jorge Orpinel 2014 년

3
@tcurdt 왜 이곳이 자유에 대해 이야기하기에 "적절한 장소"가 아닌가? 왜 자기 검열인가? 그리고 안타깝게도 그것은 '무료'가 의미하는 바가 아닙니다. '개방'도 없다는 뜻입니다. MIT 나 GPL 라이센스가 "무엇이든"할 수 없다는 것을 명확히하기 위해서입니다. 라이센스가없는 코드 만 해당 범주에 속할 수 있습니다. 건배
Jorge Orpinel 2014 년

3
잘못된 다시,이에 유래가에 대한 있어야하는데 무엇 stackoverflow.com/help/on-topic . 이것이 주제에서 벗어난 것이라고 생각하는 사람은 그렇게하지 않습니다. 어쨌든 저는 표현의 자유가 있고 여기는 일종의 공공 장소라서 ... 그래. 당신은 틀린 것을 감당할 수 없습니다. 실제로 저는 가능한 한 당신과 다른 독자들을 돕고 있습니다. 어쨌든 행운을 빕니다
Jorge Orpinel 2014 년

8
@JorgeOrpinel "라이센스가없는 코드 만 해당 범주에 속할 수 있습니다." 이것은 매우 잘못된 것입니다. 라이센스가없는 코드는 PROPRIETARY / "all rights reserved"입니다. 다른 사람들이 라이선스없이 만든 코드를 돌아 다니며 재배포하면 많은 법적 문제가 발생할 위험이 있습니다. 당신은 당신이 "당신과 다른 독자들을 돕고있다"고 말하지만 독자들을 고소하는 것은별로 도움이되지 않습니다. 참고로.
세미콜론

45

MIT 라이선스 제품에 GPL 라이선스 코드를 포함 할 수 있습니까?

할 수 있습니다. GPL은 MIT와 마찬가지로 자유 소프트웨어입니다. 두 라이센스 모두 "포함"이 항상 양방향 인 코드를 함께 가져 오도록 제한하지 않습니다.

결합 된 저작물 (즉, 두 개 이상의 저작물이 하나의 저작물을 구성 함)에 대한 저작권에서는 한 저작물이 다른 저작물보다 "큰"지 여부에 관계없이 큰 차이가 없습니다.

따라서 MIT 라이센스 제품에 GPL 라이센스 코드를 포함하면 동시에 GPL 라이센스 코드에도 MIT 라이센스 제품이 포함됩니다.

두 번째 의견으로 OSI 는 두 라이선스 (MIT 및 GPL) 에 대해 다음 기준 (자세히)나열했습니다 .

  1. 무료 재배포
  2. 소스 코드
  3. 파생 된 작품
  4. 저자 소스 코드의 무결성
  5. 개인 또는 집단에 대한 차별 금지
  6. 노력 분야에 대한 차별 금지
  7. 라이센스 배포
  8. 라이선스는 제품에 한정되지 않아야합니다.
  9. 라이선스는 다른 소프트웨어를 제한해서는 안됩니다.
  10. 라이센스는 기술 중립적이어야합니다.

둘 다 당신이 요구해 온 결합 된 작품의 창조를 허용합니다.

두 저작물을 결합하는 것이 파생물로 간주되는 경우 두 라이선스 모두에 의해 제한되지 않습니다.

그리고 두 라이선스 모두 소프트웨어 배포를 제한하지 않습니다.

MIT 라이선스와 GPL의 가장 큰 차이점은 MIT가 수정을 요구하지 않는 반면 GPL은 수정이 필요하다는 것입니다.

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 라이선스에 따라 전체적으로 배포 할 수 없습니다 .
antinome

3
제한성이 주관적이라고 주장하는 것도 오해의 소지가 있습니다. "내가 획득 한 파일로 합법적으로 어떤 조치를 수행 할 수 있습니까?"라고 묻는 것은 합리적이고 주관적이지 않은 질문입니다. GPL 하에서 이러한 일련의 작업은 실제로 MIT 하에서 수행되었을 작업의 적절한 하위 집합입니다.
antinome 2012-08-15

1
@hakra : MIT 라이선스 프로젝트에 GPL 라이선스 코드를 포함하는 것은 불가능합니다. 배포하지 않더라도 결과 전체가 더 이상 MIT 라이선스가 아니기 때문입니다. (그렇다면 MIT 라이센스 조건에 따라 배포 수 있습니다!)
antinome

9
tl; dr : MIT 라이선스 앱은 GPL 코드를 포함 할 수 있지만 결과 앱은 MIT 라이선스가 아닙니다.
antinome

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 라이선스 부품을 가져 와서 MIT 라이선스에 따라 다시 라이선스를 부여 할 수 없습니다. 이는 GPL 조건에 위배되기 때문입니다.) jQuery의 경우 코드의 저작권 소유자가 이중 라이선스로 배포 했으므로 문제가되지 않지만 다른 곳에서 일부 GPL 코드를 "차용"하면 더 이상 결합 된 작업에 대한 MIT 라이선스를받을 수 없습니다. .
Mark H

사실이 아닌 AFAIK. FSF에 따르면 GPL은 MIT 라이선스와 호환됩니다. [1] 불행히도 프로젝트 자체가 더 이상 MIT 라이선스로 완전히 커버되지 않는다는 사실을 바꾸지는 않습니다. 코드를 공개하지 않으면 더 이상 상업적인 맥락에서 프로젝트 전체를 사용할 수 없습니다. 이러한 혼동을 피하기 위해 MIT 라이센스 프로젝트에 GPL 코드를 포함하지 않는 것이 좋습니다 . 당신이 할 수 없다는 것은 잘못된 것입니다. [1] gnu.org/licenses/license-list.html#SoftwareLicenses
tcurdt 2011

...하지만 난 당신이 "제품"으로 정의에 따라 달라집니다 것 같아요
tcurdt

2
MIT 라이센스 제품 (아마도 '애플리케이션'이 더 나은 단어 일 것입니다)에는 GPL 코드가 포함될 수 없습니다. MIT 제품에 GPL 코드를 추가 할 수 있지만 결과 애플리케이션은 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 사실 Microsoft는이 문제를 완벽하게 지적합니다. GPL은 모든 프로젝트를 오픈 소스로 전환하기 때문에 바이러스가 많습니다.
magallanes

10
문제 가되지 않습니다 . GPL은 의도적으로 바이러스 성입니다. 다른 사람들이 자신의 코드를 자유롭게 사용할 수 있도록하고 싶은 사람들이 사용하도록 의도되었지만, 해당 소프트웨어 또는 파생물을 게시 하는 다른 사람들도 동일한 방식으로 사용자를 존중하도록 요구합니다. GPL은 사용자 에 관한 입니다. 국가가 시행하는 독점을 통해 기업이 이익을 극대화하는 것이 아니기 때문에 재귀 적이라는 사실은 실제로 마이크로 소프트가 '완벽하게 지적'할 수있는 '문제'가 아니라 그 아름다움과 강점입니다. GPL이 바이러스 성이라는 것을 인식하는 데 특별한 통찰력이 필요하지 않습니다 ~ Wikipedia로 충분합니다.
칼 스미스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.