타사 라이브러리 라이센스 "서류"를 정리하는 가장 좋은 방법은 무엇입니까?


60

소규모 오픈 소스 프로젝트를 개발 중입니다. 이 응용 프로그램은 Apache, MIT, BSD, LGPL 및 CDDL과 같은 다양한 라이센스로 출시 된 많은 타사 라이브러리를 사용합니다.

각 라이센스에는 고유 한 "서류"요구 사항이 있습니다. 예를 들어 Apache 라이센스 v2.0은 다음과 같이 말합니다.

저작물이 배포의 일부로 "NOTICE"텍스트 파일을 포함하는 경우, 배포하는 파생 저작물에는 해당 NOTICE 파일에 포함 된 저작자 표시 고지의 읽기 가능한 사본이 포함되어야합니다.

MIT 라이센스에는 저작권 표시가 포함되어 있으며 다음과 같이 말합니다.

상기 저작권 고지 및이 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 포함됩니다.

BSD 라이센스에는 저작권 표시가 포함되어 있으며 다음과 같이 말합니다.

이진 형식으로 재배포 할 경우 위의 저작권 표시,이 조건 목록 및 배포와 함께 제공된 설명서 및 / 또는 기타 자료의 다음 고지 사항을 재현해야합니다.

LGPL v.3의 말 :

(귀하는) 라이브러리가 사용되며 라이브러리와 그 사용이이 라이센스의 적용을 받는다는 결합 된 저작물의 각 사본과 함께 현저한 통지를해야합니다.

LGPL 및 CDDL 라이센스도 바이너리 형식의 라이브러리와 함께 소스 코드를 제공해야하므로 소스 코드를 얻는 방법에 대한 정보를 어딘가에 제공해야합니다.

이 모든 데이터를 정리하는 가장 좋은 방법은 무엇입니까? 텍스트 파일을 작성하고 모든 NOTICE파일, MIT 및 BSD 라이센스 등의 내용을 해당 파일로 복사해야합니까 ? ... 또는 각 라이브러리마다 별도의 디렉토리를 작성하고 라이브러리와 관련된 모든 데이터를 해당 디렉토리에 두어야합니까? … 또는 다른 것?

출판 된 프로젝트에서이“서류”의 예를 보는 것도 흥미로울 것입니다.

최신 정보:

모든 소스 파일에 라이센스 통지를 포함시켜야합니까?를 읽었습니다 . 하지만 내 문제를 해결하지 못합니다. 내 질문은 프로젝트에 사용되는 타사 라이브러리에 관한 것이며 해당 질문은 프로젝트 자체 소스 코드의 헤더에 관한 것입니다.

답변:


62

첫째, 표준 면책 조항 : IANAL이지만 임의의 낯선 사람.

최근에 AGPL 응용 프로그램 (*)을 패키징했습니다 . jQuery, MIT, BSD (및 기타) 라이센스로 배포 된 타사 라이브러리를 사용합니다. 내가 진행 한 방법은 다음과 같습니다.

내 주요 의도 내가 설계 할 때이있었습니다 을 준수 하고 공정하게 . 첫 번째는 충분하지만 두 번째는 충분하지 않은 이유로 나를 고소하려고하는 사람은 내가 선의로 행한 일을 인정해야합니다.

1) 소스 파일 : 모든 파일에는 AGPL 헤더가 있습니다. 모든 타사 파일은 (대부분) 수정되지 않은 상태로 유지되므로 자체 라이센스 헤더가 포함됩니다.

2) 패키지의 루트에있는 LICENSE.txt에는 AGPL 라이센스 텍스트가 포함되어 있습니다 ( "이 프로그램을 새 프로그램에 적용하는 방법"섹션에 설명되어 있음).

3) 패키지 루트에있는 LICENSE-3RD-PARTY.txt라는 보조 라이센스 파일에는 모든 라이센스의 사본이 들어 있습니다. 각 라이센스에 대해 헤더는 라이센스와 라이센스가 적용되는 부분을 나타냅니다. 여기에 저작권 소유자의 이름도 포함되어 있습니다. 나중에 다른 곳에서 재사용 할 수 있으므로 노력할만한 가치가 있습니다.

-----------------------------------------------------------------------------
                        The MIT License (MIT)
        applies to: 
        - AJAX Upload, Copyright (c) Andrew Valums
        - jQuery hashchange event, Copyright (c) 2010 "Cowboy" Ben Alman
        - jquery.hotkeys, Copyright (c) 2010 John Resig
-----------------------------------------------------------------------------

Permission is hereby granted, free of charge [...]

4) 루트에있는 README.txt는 소프트웨어가 AGPL (LICENSE.txt 참조)이며 자체 용어에 따라 배포되는 타사 라이브러리를 사용한다고 설명합니다 (LICENSE-3RD-PARTY.txt 참조)

5) 온라인 문서 에는 readme의 정보를 반복 하는 라이센스 페이지가 있습니다. 소프트웨어는 AGPL이며 BSD / MIT / [...] 인 타사 구성 요소를 사용합니다. 본인은이 페이지를보다 깨끗하고 읽기 편하게 유지하기로 결정했습니다. 따라서 전체 텍스트에 대한 링크와 함께 라이센스 이름 만 제공되며 자신의 웹 사이트에 대한 링크와 함께 저작권자의 이름 만 제공됩니다.

jQuery
    Copyright 2013 jQuery Foundation and other contributors
    http://jquery.com
    MIT License
Data Driven Documents (D3)
    Copyright (c) 2013, Michael Bostock    <-- link to personal website, if any
    http://d3js.org                        <-- link to software website
    BSD-like license                       <-- link to license full text
[...]

6) 또한 온라인 문서에는 크레딧 페이지가 있으며 직접 및 간접 주요 기고자를 나열합니다. PostgreSQL은 다운로드에 포함되어 있지 않지만 PostgreSQL 그룹을 인용했지만 소프트웨어를 실행하려면 필요합니다. 이는 타사 도구 / 라이브러리 등의 작성자가 요구하거나 원하는 모든 승인을 표시하기에 좋은 장소입니다.

7) 소프트웨어 내부에서 라이센스 및 저작권 보유자와 함께 라이브러리 목록이 정보 대화 상자 에서 반복됩니다 .

소스 코드 및 파일 레이아웃 포함과 관련된 특정 질문을 해결하려면

  • 일반적으로 타사 패키지의 전체 소스 코드에만 연결하는 것이 허용됩니다. 각 특정 라이센스를 참조하여 확인해야하지만 링크를 제공하는 IMHO이면 충분합니다. 예를 들어, 축소 된 버전의 라이브러리를 사용하는 경우 표준 다운로드에 대한 링크를 제공하면됩니다.

  • 타사 구성 요소가 배포에서 파일 레이아웃을 동일하게 유지하도록 요구하지 않는 한 원하는대로 항목을 다시 정렬 할 수 있습니다. 웹 라이브러리를 사용하고 각각 css / 및 js / 디렉토리가있는 웹 라이브러리를 사용한다고 가정하고 병합 된 css / 및 js /를 포함하는 단일 lib / 디렉토리로 함께 병합하거나 소스 트리 주위에 분산시킬 수 있습니다.

그리고 마지막 참고로, 나는 것보다 "당신이하고있는 말을 손 흔들어 환영 덧글 이상 "당신은 또한을해야 및 / 또는 잘못 " 있음을 ".

(*) 이것은 스팸 링크를위한 것이 아니라 질문의 "예제를 제공하십시오"부분에 대한 답변입니다. 이 링크가 규칙에 위배되는 경우이 링크를 지우려면 친애하는 모드를 자유롭게하십시오.


2
좋은 답변 감사합니다! 내가 찾는 정보의 종류입니다. 다른 사람들이 할 말이 있는지는 아직 받아들이지 않을 것입니다.
Alexey

8
나중에 여기에 올 사람들을 위해 FireFox는 LICENSE-3RD-PARTY.txt이 답변에 설명 된 파일 과 유사한 문서를 가지고 있습니다. (클릭 Licensing InformationAbout상자.) 너무 구글 크롬에서 비슷한 문서가 있습니다.
Alexey

1
다음은 IntelliJ IDEA에서 사용하는 타사 소프트웨어를 나열한 유사한 문서입니다. confluence.jetbrains.com/display/IDEADEV/…
Alexey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.