IANAL, 그러나 GPL의 한계 내에서 허용되는 것에 대한 나의 의견은 다음과 같습니다.
결합 된 저작물 "A-B"를 공개적으로 배포 : 벌금, 모든 독점 라이센스하에 수행 가능
C에 대한 래퍼 lib D를 Y로 작성하십시오. 좋습니다. 이것은 A가 GPL 아래에 있어야 함을 의미하지 않습니다.
Y로 내부적으로 결합 된 제품 "A-D-C"를 사용하십시오. 또한, GPL은 조합이 대중에게 배포되지 않는 한 소스 A를 열 필요가 없습니다.
결합 된 저작물 "A-D-C"를 공개적으로 배포 : A는 공개 소스이어야하고 GPL에 포함되어야합니다 (그리고 X 또는 Y가이 조합을 배포했는지 여부는 중요하지 않습니다. 또한 Y가 원하는 경우 이것은 물론 X의 A에 대한 배포 라이센스가 필요합니다)
흥미로운 질문 은 D & C를 GPL 하에서 오픈 소스로 별도로 배포 할 수 있고 A & B (또는 B없이 A 만)는 독점 라이센스로 배포되고 최종 사용자가 B를 D & C로 스스로 대체한다는 것입니다.
여기에서 A를 libs D & C에 종속되게하는 "AB"의 최종 수정은 최종 사용자 배포 후에 수행됩니다 . 따라서 최종 수정은 최종 사용자가 내부적으로 만 수행한다고 주장 할 수 있습니다. 그리고 이것은 실제로 GPL을 위반하지 않고도 가능해 보입니다. A가 독점 라이센스하에 있고 CPL이 GPL하에있는 "AC & D"의 조합입니다.
물론 변호사 나 판사는 다른 의견을 가지고있을 수도 있습니다. 최종 답변을 얻으려면 누군가가 그것을 시도하고 두 번째 사람이 그를 고소 할 때까지 기다려야한다고 생각합니다.
나는 대부분의 시스템에서 처음부터 "A"를 디자인하지 않고 그러한 별자리를 만드는 것이 어려울 것이므로 B 또는 C와 완벽하게 작동합니다.이 경우 A라는 의심에 빠질 수 있습니다. 어떻게 든 C에서 파생되었습니다.
편집 : 이것에 대해 잠시 생각하면 비슷한 상황이 생겼습니다. 폐쇄 소스 응용 프로그램을 위해 GPL 라이센스 플러그인 작성 및 배포. 예를 들어 Photoshop을 예로 들어 보겠습니다. 타사 공급 업체의 GPL 플러그인이 있기 때문에 누군가 Adobe를 오픈 소스 Photoshop에 강제로 적용하려고한다고 생각하지 않습니다. 여기에는 잘 정의 된 인터페이스가 있으므로 "래퍼 라이브러리"도 필요하지 않습니다. 그러나 Photoshop이 GPL 타사 플러그인에서 핵심 기능 중 일부를 통합하면 상황이 바뀔까요? 그런 경우에는 라인을 그릴 위치를 결정하는 것이 실제로 어려울 수 있다고 생각합니다.이 시점에서 폐쇄 소스 제품은 GPL 라이브러리를 기반으로하는 작업입니다.
EDIT2 : 예를 들어 비상업적 용도의 GPL 라이센스 및 이와 같은 상업적 용도의 독점 라이센스를 갖춘 이중 라이센스 라이브러리가 있습니다.. 따라서 "루프 홀 (loophole)"은 이러한 lib를 기반으로 제품을 개발 (상업용 버전을 사용하여 GPL이 제품에 적용되지 않음)하고 lib없이 공개 소스로 제품을 제공하고 사용자는 GPL 버전을 직접 설치하여 설치합니다. 그러한 경우, lib 공급 업체가 라이센스 위반에 대해 귀하를 성공적으로 고소 할 가능성이 높다고 생각합니다 (물론 그의 lib를 지불하지 않으면). 번거로울만한 가치가 있습니까? 아마 아닙니다. 특히 링크 된 예제에서 가격은 제품을 판매하는 빈도에 의존하지 않고 개발 중에 lib를 사용하는 개발자 수에 따라 다르므로 lib도 구매해야합니다.
마지막으로, 이러한 법적 위험 때문에 폐쇄 소스 제품 내에서 오픈 소스 라이브러리를 사용하려는 경우 가능하면 GPL 라이브러리를 피하고이 "루프 홀"을 사용하려고하지 않습니다. 연결 예외가있는 LGPL 또는 GPL은 훨씬 안전하거나 모든 종류의 비 바이러스 OS 라이센스입니다.