2014-04-15 5 views
1

두 GPL 프로젝트를 병합하는 방법은 무엇입니까?howto는 두 개의 GPL 프로젝트를 병합합니다.

시나리오 : GPL 프로젝트 A와 프로젝트 B가 동일한 라이센스, 버전 2 또는 3 (및 해당 작성자 파일, COPYING 파일에 언급되어 있음)이 있습니다. 프로젝트 B는 프로젝트 A의 맨 위에 구축되었습니다 (A의 헤더와 바이너리 링크 포함). 이제 프로젝트 B는 부분적으로 다시 고려하고 A.에 통합되었다 (프로젝트 B가 중단)

질문 :

  1. 는 "A"보다 다른 이름으로 (A + B) 해제하는 것이 필수입니다 ?
  2. 프로젝트 A의 COPYING 파일이 B 의 COPYING 파일을 참조해야합니까? 아니면 A의 COPYING 파일에서 작성자 목록을 업데이트하는 올바른 방법일까요?
  3. 은 1. 및 2. 이외의 다른 작업입니까?
+0

이 질문은 법률적인 내용이므로 주제가 아닌 것으로 보입니다. – Flexo

+0

@Flexo : 인용 : "소프트웨어 개발에 고유 한 실용적이고 답답한 문제". –

+0

법적 자료는 법률 전문가 만 답변 할 수 있습니다. – Flexo

답변

4

두 라이센스를 병합하는 방법을 사용자가 신뢰할 수 없으므로 라이센스가 무엇인지 단일 성명을 사용하는 것이 가장 좋습니다.

많은 사람들이 GPL 라이센스 계약 사본이 포함 된 COPYING이라는 파일이 있으면 라이센스를 전달하기에 충분하다고 생각합니다. 충분하지 않습니다. COPYING-A 및 COPYING-B 파일이 있다면 어떨까요? 어느 것이 적용됩니까? "이 조항을 새 프로그램에 적용하는 방법"절의 통지를 추가하는 것이 가장 좋습니다. A 및 B에서 해당주의 사항을 확인하십시오. 권장 사항은 각 파일의 시작 부분에 알림을 배치하는 것입니다. 작성자가이 작업을 수행하지 않았다면 최소한 통지를 제공하고 적용되는 파일 모음을 설명하는 눈에 띄는 파일 (./LICENSE)이 있어야합니다. 아마도 "이 프로그램의 모든 파일"이라는 문구가 너무 모호하기 때문에 각 파일에주의를 표시하는 것이 좋습니다. 아마도 각 파일의주의 사항은 "../../COPYING"등을 참조함으로써 축약 될 수 있습니다.

GPL 3, 7 절에서는 작성자가 추가 용어를 추가 할 수 있으며 그 중 하나는 " 그러한 자료의 수정 된 버전은 원래 버전과 다른 합리적인 방법으로 표시되어야합니다 "- 라이센스가 부여 된 소프트웨어의 수정 된 버전이 다른 이름으로 제공된다고 주장하는 것은 합당한 것처럼 보이므로"A " "그것은 달려있다". A와 B의 라이센스를 읽고 모든 추가 조건을 찾아 병합 된 라이센스에 병합해야합니다. 당신은 자신의 추가 조건을 추가 할 수 있습니다. 섹션 7에서는 저작자가 추가 사용 권한을 추가 할 수 있도록 허용하므로 두 라이센스를 모두 읽은 다음 두 세트의 사용 권한 집합을 사용 권한 세트로 간주하지 않고 추가 사용 조건 중 하나가 추가 사용 권한 중 하나를 지정하면 삭제되지 않으므로이를 준수하고 추가 사용 권한을 유지해야합니다. 실제로 5 장에서 논의되는 모든 내용이 A + B를 A에 기반한 작업으로, B를 기반으로하는 작업으로 간주하므로 모든 작업을 두 번 수행하십시오. B과 다를 저작권 년이 수의 저자 있기 때문에, 라이센스 파일에 서로 인접하여 배치해야 형태의

라인 "저자 >의 < 이름이 > 저작권 (C) <년"; 저작권은 특정 연도 이후에 만료되므로 2 년 또는 1 년 목록을 하나의 목록으로 병합하고 저자 목록의 두 명의 저자를 하나의 목록으로 병합하여 두 개의 저작권 라인을 하나로 병합하는 것은 올바르지 않습니다. (C)는 중복되며, 저작권법에서 의미가있는 유일한 것 인 ©으로 대체되거나 제거 될 수 있습니다. 그러나 "저작권"이라는 단어가 동일한 목적을 적절하게 제공하기 때문에 ©도 중복됩니다.

5a를 준수하려면 두 프로그램을 하나로 합친 행을 추가하고 날짜를 알려야합니다.

A 또는 B가 터미널 상호 작용을하는 경우 위와 동일한 줄을 따라 표시되는 저작권/라이센스 메시지를 수정해야합니다.

나는 GPL 2가이 모든 패턴에 관한 한 동일한 패턴을 따른다고 가정합니다.

+0

고마워요. 어쩌면 프로젝트 A가 분기되지 않고 계속 (A + B)라는 질문을 명확히해야합니다. 프로젝트 A와 B에는 추가 사용권 조항이 없습니다. 그래서 (A + B) "A"를 호출하는 것은 괜찮은 것으로 보이지만 사용자에게는 혼란 스러울 수 있습니다. –

+0

그래서 나는 (A + B)에 대해 하나의 COPYING/LICENSE 파일이 있어야하고 유명한 곳에서 그 저작물이 (수정 된) B를 통합한다고 언급해야한다는 것을 올바르게 이해합니까? –

+0

A가 혼란을 일으키는 원인이 될 수 있다는 것을 제외하면 A가 분기되었는지 여부를 알 수없는 이유는 알지 못합니다. GPL은이 문제를 해결하지 못하는 것 같습니다. 아마 A의 저자가 A + B의 저자라고 말할 수있는 우회 길로 포크를 말하지 않을 것입니다. 그렇다면 A의 라이센스는 무의미합니다. 코드 작성자는이 라이센스로 무엇이든 할 수 있습니다. –