2011-12-06 2 views
4

GPL은 GPL 라이브러리를 사용하지만 GPL 라이브러리 자체를 소스 또는 바이너리 형식으로 재배포하지 않는 독점 배포 응용 프로그램에 어떻게 적용됩니까? 예를 들어 독점 소프트웨어가 .deb 또는 .rpm을 통해 배포되고 GPL 된 라이브러리 (또는 전체 응용 프로그램)가 종속성으로 나열되는 경우?GPL은 필수이지만 비 분산 코드에 어떻게 적용됩니까?

GPL 라이브러리가 동적으로 또는 정적으로 링크되어 있다면 차이가 있습니까? GPL 코드가 Perl, Python 등과 같은 스크립팅 언어에 의해 '포함 된'소스 코드 일 경우에는 어떨까요?

+4

나는이 문제를 프로그래밍이나 소프트웨어 개발이 아닌 라이센스 또는 법적 문제에 관한 주제로 다루므로 투표를 끝내겠다고 말했습니다. 자세한 내용은 [여기를] (http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964) 및 [help]를 참조하십시오. – JasonMArcher

답변

4

먼저 변호사가 아니며 법률 자문을 제공 할 자격이 없습니다. 변호사에게 법률 자문을 요청하십시오.

: 말했다

, 나는 프로그램이 라이브러리에 의존 수도 과거에 사용했던 가이드 라인은 "시스템 라이브러리"및 GPL에 "해당 소스"정의 사이의 상호 작용에 온다 무엇이든을 포함하는 실행 작업의 "시스템 라이브러리는"전체 작품에 비해 다른, 즉 (a)는 주요 구성 요소를 포장 의 정상적인 형태로 포함되어 있지만 것을 주요 구성 요소의 일부가 아니며, (b) 주요 구성 요소를 사용하여 작업을 사용하거나 표준 인터페이스를 구현할 수 있습니다. 구현은 소스 코드 형식으로 대중에게 제공됩니다. 는 "주요 구성 요소"이러한 맥락에서, 실행 작업을 실행하거나 컴파일러 에 사용되는 특정 운영 체제 (있는 경우)의 주요 필수 구성 요소 (등등 커널, 윈도우 시스템, 및)을 의미 저작물을 만들거나 객체 코드 해석기를 실행하는 데 사용됩니다.

는 는

목적 코드 형태를 띤 저작물의 "해당 소스는"모든 , 생성, 설치 및 필요한 소스 코드를 의미 에 스크립트를 포함하여 오브젝트 코드를 실행하고 작업을 수정 (실행 작업) 그 활동을 통제하십시오. 그러나, 일반적으로 작업의 시스템 라이브러리, 또는 범용 도구 나 작품의 일부가 아닌 그 활동하지만 을 수행하는 수정되지 않은 사용 가능한 무료 프로그램이 포함되어 있지 않습니다. 예를 들어, 해당 소스 에는 작업 소스 파일과 관련된 인터페이스 정의 파일과 공유 라이브러리의 소스 코드가 포함되며 동적으로 과 같이 친밀한 데이터 통신 또는 제어 흐름과 같이 동적으로 링크 된 서브 프로그램이 필요합니다. 하위 프로그램과 작업의 다른 부분 사이에 있습니다. 가이드 라인에 대한 지금

: 당신이 합리적으로 라이브러리가 시스템의 올바른 작동에 필요에 의해-기본적으로 거의 모든 시스템의 라이브러리를 사용할 것으로 예상 할 수 있다면, 당신의 비를 연결할 법적 GPL 라이브러리에 대한 GPL 프로그램.

이것은 매우 심각한 제약 조건입니다. 실제로 라이브러리에 대한 GPL 라이센스를 선택한 라이브러리 작성자는 이 아니며은 라이브러리를 사용하는 비 GPL 프로그램에 관심이 있습니다. 그러한 라이브러리는 종종 "상응하는 소스"의 "시스템 라이브러리"절을 유용하게 만드는 방식으로 시스템에 통합되지 않습니다. (필자는 중요한 시스템 라이브러리를 고려할 때 내 머리 꼭대기에서 GPL 라이센스 라이브러리를 명명 할 수 없다.)

링크에 관해서 - 나는 "연결"이 법정에서 논의 된 적이 없다고 생각합니다. 안전한면에 있어서는 동일한 프로세스에서 GPL 코드로 실행되는 독점적 인 코드를 배포해서는 안됩니다. C, C++ 등이 매우 명확하게 말하지만 대부분의 판사가 모든 언어의 규칙적인 "요구"또는 "포함"메커니즘이 "연결"과 도덕적으로 동일하다는 것을 설득 할 수있을 것으로 기대합니다 - 그리고 명백한 소스 포함 은 "동일한 프로세스에서 실행 중"과 동일한 의도를 나타냅니다.

관련 문제