실제로 GPL과 BSD 라이센스 코드를 결합 할 때 라이센스 파일을 관리하는 방법은 무엇입니까?


10

LGPL이 아닌 GPL 라이센스가있는 하나의 라이브러리와 3 절 BSD 라이센스 가있는 라이브러리를 사용하는 코드를 작성 중입니다 . GPL 라이센스 라이브러리에 연결하기 때문에 코드도 GPL이어야합니다. 실제로 BSD 라이브러리의 원본 LICENSE.txt를 어떻게 처리해야합니까?

(A) 메인 소스 코드가 GPL 라이센스가 있고 일부 하위 디렉토리가 BSD 라이센스가되도록 프로젝트를 배포 할 수 있습니까?

(B) 라이브러리에 링크 할뿐만 아니라 BSD와 GPL 코드를보다 복잡한 방식으로 사용하고 결합하려면 LICENSE.txt로 어떻게해야합니까?

3 절 BSD 텍스트는 "소스 코드의 재배포는 상기 저작권 표시,이 조건 목록 및 다음 면책 사항을 유지해야합니다."라고 알려줍니다. 분명히 저작권 고지와 해당 조건 목록을 어딘가에 유지해야합니다. 그러나 GPL 라이센스 txt 파일을 어딘가에 배치해야합니다.

또한 BSD 라이센스 텍스트의 일부는 다음과 같은 내용 만 나옵니다. 다른 부분을 유지하십시오.

그렇다면 실제로 어떻게 그리고 어떤 텍스트 파일로 GPL 라이센스 텍스트와 BSD 라이센스의 일부 및 내가 보유한 저작권을 구성해야합니까?

편집 : 따라서 B의 경우 3 절 BSD 라이센스 코드를 가져 와서 3 절 BSD 라이센스가 GPL과 ( 단방향) 호환되므로 GPL에 따라 재배포합니다 . 라이센스 텍스트와 텍스트 파일을 실제로 처리하는 방법을 묻고 있습니다.


이것은 나쁜 생각입니다. 간단한 웹 검색으로 이유를 알 수 있습니다. 그러나 전체 제품이 GPL이됩니다. 전에 이것에 문제가있었습니다.
Andrew T Finnell

2
@Andrew Finnell : 왜 나쁜 생각입니까? 구성 요소가 있기 때문에 전체 제품은 GPL입니다.하지만 무엇이 잘못 되었습니까? BSD 라이센스 라이브러리는 여전히 BSD 라이센스입니다. 보다 제한적인 라이센스를 사용하려는 사람들이 원하는 것을 사용하지 않으면 BSD 라이센스를 사용하지 않습니다.
David Thornley

답변:


1

간단하게하려면 GPL 하에서 전체 내용을 공개하는 것이 가장 좋습니다. 3-clause BSD 라이센스에는 사본의 형태가 없으므로 통지를 유지하는 한 귀하는 라이센스를 다시 변경할 권리가 있습니다.

두 종류의 파일로 끝납니다.

  • 원래 BSD 파일 : 두 헤더가 모두 필요하며 순서는 중요하지 않습니다.
  • 파일 및 원래 GPL 파일 : GPL 헤더가 필요합니다

물론 바이너리 릴리스의 경우 소스에 대한 링크와 두 헤더를 다른 형태로 포함해야합니다. 표준 GPL을 추천하고 "이 프로그램의 일부는 원래 다음 라이센스에 따라 릴리스되었습니다"또는 이와 유사한 것을 권장합니다.

본인은 변호사가 아니며 오픈 소스 라이센스 또는 일반적인 라이센스를 전문으로 취급하지도 않습니다. 주어진 라이센스에 대한 나의 해석이 어떻게 보일지를 단순히 중계하고 있습니다.


1

Ok, GPLv3의 섹션 7을 읽으면 "프로그램의 일부에만 적용되는 추가 권한"[1]이 허용됩니다. BSD 라이센스의 "파일이나 디렉토리 일부를 유지하는 것은 괜찮은 것 같습니다. BSD 라이센스의"원하는 것은 무엇이든 "이"추가 권한 "이라고 생각하기 때문입니다.

또한 섹션 7에서는 "이 라이센스의 조건을 조건으로 보완 할 수 있습니다."(허용 가능한 용어의 6 점 목록은 다음과 같음), BSD 라이센스의 3 개 조항 (+ 면책 조항)이 모두 적용됩니다. BSD와 GPL 코드를 단일 파일로 혼합하는 방법에 대해서는 아마도 BSD 라이센스의 3 절 + 면책 조항을 포함하는 ADDITIONAL_TERMS.txt를 어딘가에 넣으면됩니다.

(정확하게 말하면, BSD 라이센스에 대해 이야기 할 때마다 3 절 라이센스 AKA "New BSD License"AKA "Modified BSD License"라는 의미로 내 질문에 링크되었습니다.)

[1] 프로그램의 수신자가 추가 재배포 할 경우 추가 권한을 제거 할 수있는 한. 그리고 BSD 라이센스는 이것을 허용합니다.


-1

라이센스 조건에 대한 다중 해석에 따르면 이는 불가능합니다.

gnu.org는 버전 2에 대해 말합니다 .

GPL에없는 특정 요구 사항을 부과하기 때문에; 즉, 프로그램 광고에 대한 요구 사항. GPL은 다음과 같이 말합니다.

귀하는 여기에 부여 된 권리를받는 사람의 행사에 대한 추가 제한을 부과 할 수 없습니다.

광고 조항은 그러한 추가 제한 사항을 제공하므로 GPL과 호환되지 않습니다.

개정 된 BSD 라이센스에는 광고 조항이 없으므로 문제가 해결됩니다.

그리고 GPL v3의 경우 :

원래 BSD 라이센스가 GPL과 호환되지 않는 이유는 무엇입니까? (#OrigBSD)

GPL에없는 특정 요구 사항을 부과하기 때문에; 즉, 프로그램 광고에 대한 요구 사항. GPLv2 섹션 6은 다음과 같습니다.

귀하는 여기에 부여 된 권리를받는 사람의 행사에 대한 추가 제한을 부과 할 수 없습니다.

GPLv3는 섹션 10에서 비슷한 내용을 말합니다. 광고 조항은 그러한 추가 제한 사항을 제공하므로 GPL과 호환되지 않습니다.

개정 된 BSD 라이센스에는 광고 조항이 없으므로 문제가 해결됩니다.

물론 다른 변호사 / 판사는 다른 의견을 가질 수 있습니다.


1
4 절 BSD 라이센스에 대해 이야기하고 있지 않습니까? "<조직> 이름이나 기여자의 이름을 사전 서면 허가없이이 소프트웨어에서 파생 된 제품을 보증하거나 홍보하는 데 사용할 수 없습니다." 어쨌든 형태 나 형태의 광고를 언급하지 않으며 실제로 소스 코드의 저작권이 아닌 조직의 상표와 관련이 있습니다.
Guvante

1
과연! 나는 다른 개정에 대해 혼란스러워했다!
johannes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.