LGPL에서이 작업을 수행 할 수 있습니까?


16

LGPL 소프트웨어를 사용하여 상용 소프트웨어를 개발할 계획입니다.

클래스에서 일부 기능을 사용하는 LGPL 소프트웨어에서는 완전히 구현되지 않았습니다. 클래스 앞에 dllexport를 추가하고 함수 앞에 가상 키워드를 추가하여 클래스 및 구현되지 않은 함수를 dll 외부에서 볼 수 있도록 LGPL 코드를 수정하고 싶습니다.

그런 다음 독점 소프트웨어에서 이러한 기능을 구현할 계획입니다. 수정 된 LGPL 코드를 배포 할 준비가되었지만 원하는 방식으로 기능을 구현하는 독점 소프트웨어는 배포 할 수 없습니다.

LGPL 이용 약관을 위반합니까?



6
귀하의 질문에 대한 문제점은 귀하가 작성된 정신으로 라이센스를 사용하려고하지 않는다는 것입니다. 라이센스의 의도 된 의미에 대한 질문에 대답 할 수는 있지만 법적으로 세부적인 정보를 얻을 수는 없습니다. . 이를 위해 변호사 만 추천 할 수 있습니다. 또한 귀하가하는 일은 법에 따라 미국에서 해결되지 않은 법적 질문 (LGPL 소프트웨어의 파생 작품은 무엇입니까?)에 달려 있으며 실제 변호사와는 다른 의견을 보았습니다. (변호사 모르겠지만, 부담없이 이러한 문제를 다음 왔습니다.)
데이빗 쏜리

말하기 어렵다. 이것을 읽으십시오 : javalobby.org/java/forums/t15903.html- 그들은 Java에 대해 이야기하고 있지만 모든 OO 언어에 적용 가능한 것으로 보입니다.
Mike Baranczak

답변:


26

이것은 복잡한 질문이지만 귀하가 제안한 것은 허용되지 않습니다.

최소한 라이브러리서브 클래 싱 하기 도록 라이브러리에 후크를 추가하는 것이 좋습니다 . LGPL 의 정신 을 우회합니다 .

문제는 자신의 코드에서 LGPL 라이센스 가 적용되는 클래스를 하위 클래스로 분류 하면 라이브러리 를 사용 하는 작업이 아니라 라이브러리를 기반으로 하는 작업이되어 코드 파생 된 것입니다. 섹션 6 ( LGPL v2.1 ) 에서 다루지 않고 섹션 2 ( LGPL v2.1 ) 에서 다루는 작업 . 즉 , LGPL의 적용을받습니다 !

Stephen Colebourne이 javalobby에 대한 좋은 요약 을 제공한다고 생각합니다 .

나는 당신의 변호사 제안 에 무릎을 꿇고 말하는 큰 팬 아니지만 ,이 경우 에 진행할 계획이라면 그렇게할만한 가치가 있다고 생각합니다. 그렇지 않으면 자유 소프트웨어 에서 불쾌한 편지를받을 수 있습니다. 재단 법률 팀.

또는 FSF에 직접 요청할 수 있습니다. 자신의 연락처 페이지 :

무료 소프트웨어 라이센스 및 저작권에 대한 질문

우리 확인하시기 바랍니다 라이선스 질문라이센스 목록 , 일반 카피 레프트 정보관련 페이지를 . 질문이 남아 있으면 <licensing@gnu.org>로 이메일을 보내십시오.

또한, 관련 질문 Reflection and the LGPL 에서 gbjbaanb 은 LGPL 3.0 관점으로 대답 합니다 .


4
나는 "FSF 요청"제안을 좋아합니다
ZJR

필자는 LGPL 라이브러리에서 더 많은 기능을 노출하고 싶었다는 것을 읽었습니다. 너무 오래 결과 LIB이기 때문에 여전히 LGPL과 영업 이익의 소프트웨어의 사용자는 자신의 빌드 lib 디렉토리를 대체하는 무료 - 나는 행복 할 것이다
마틴 베켓

3
@MartinBeckett-확실하지는 않지만, 질문자는 라이브러리를 수정하여 비공개 소스 코드에서 라이브러리를 수정하기 쉽게함으로써 LGPL을 우회하려고합니다. 그가 새로운 라이브러리 기능을 LGPL에 직접 추가 한 다음 자신의 코드에서이를 사용한다면 아무런 문제가 없을 것입니다. 그가 자신의 새로운 기능을 폐쇄 소스로 유지하려고 노력하고 있지만 여전히 라이브러리의 일부라는 것은 사실입니다.
Mark Booth

6
LGPL 3.0 은 "라이브러리에 의해 정의 된 클래스의 서브 클래스를 정의하는 것은 라이브러리가 제공하는 인터페이스를 사용하는 모드로 간주된다"고 말합니다. 따라서 LGPL 3.0 이상에서는 허용해야합니다.
David

3
@David-LGPL 라이브러리를 수정하여 일반적으로 재정의 할 수없는 기능을 재정의 할 수 있다고 믿습니다. 코드가 a 기반이 아닌 '기반'인 코드와 충분히 밀접하게 결합되어 있음을 암시하고 있습니다 라이브러리와 '사용'한 관계로 약한 카피 레프트가 활성화됩니다.
마크 부스

13

표준 저는 변호사 면책 조항이 아닙니다.

LGPL을 사용하려면 라이브러리 소스 코드를 수정하여 코드를 사용한 모든 사람에게 배포해야합니다. 라이브러리를 사용하는 코드가 동일한 소스로 공개 소스 화되고 릴리스 될 필요 는 없습니다 .

클래스 상속 에 대한 섹션을 포함하여 LGPL에 대한보다 상세하지만 변호사가 아닌 설명을 제공하는 Wikipedia .


+1. 요약하자면 LGPL을 위반하지 않는다고 생각합니다 (그러나 IANAL)
MarkJ

@MarkJ- 대답 에서 설명 할 때 제기 된 질문이 단순히 클래스 상속의 문제인지 확실하지 않습니다.
Mark Booth

9
"ANAL"을 포함하고 있기 때문에 사람들은 IANAL을 입력하는 것을 좋아한다고 생각합니다.
g33kz0r

5

"LGPL 코드를 수정하고 싶습니다 ..." 이 수정 된 코드를 해제해야합니다 . 그런 다음 수정 된 코드를 파생 시키는 것이 파생 작업 인지 여부를 확장하는 것은 경합의 대상이되며, 그렇다면 LGPL의 적용을받습니다.

당신이하려고하는 것은 LGPL을 우회하는 것입니다.이 경우 이러한 기술로는 할 수 없습니다.

파생 작업 인 경우, 프로그램 용어는 "고객이 직접 수정하고 그러한 수정을 디버깅하기위한 리버스 엔지니어링"을 허용해야합니다. LGPL 프로그램을 사용하는 저작물이 파생물인지 아닌지는 법적 문제입니다.

그러나 당신이하려는 일이 LGPL을 우회하는 경우 Mark Booth가 권장하는대로 FSF에 연락 할 것 입니다.


1
문제는 LGPL이 일부 형태의 파생 작품을 허용하고 다른 형태는 허용하지 않는다는 것입니다. 라이브러리 (LGPL이어야 함)를 기반으로하는 작업 범주에 속하는 파생 작품 과 라이브러리를 사용하는 작업 (그렇지 않은)을 구별하기 위해 내 대답 을 업데이트했습니다 .
Mark Booth

@MarkBooth 본인과 다른 사람들에게 동의합니다.이 경우 work based on이전에 개인 코드를 공개하기 위해 LGPL을 변경했기 때문입니다.

1

내 추측 : (그러나 IANAL) 수정 된 라이브러리를 오픈 소스로 LGPL 코드로 릴리스 한 다음 상용 프로그램에 드롭해야합니다. 작동합니다. 사실상 당신은 도서관의 오픈 소스 포크를 가지고 결국 프론트 엔드를 판매 할 것입니다.

그러나 다른 많은 사람들이 정당하게 말했듯 이 FSF에 물어보십시오 . 그것은 당신이 가지고있는 흥미로운 논쟁적인 시나리오입니다. 적용 가능한지 아닌지 궁금해 할 수도 있습니다. (또는 주제에 대한 FAQ 항목을 게시 할 정도로 충분히 신경 쓰지 마십시오)


1

https://www.gnu.org/licenses/lgpl-java.html

LGPL 라이브러리를 가져 오는 Java 응용 프로그램을 배포하면 LGPL을 쉽게 준수 할 수 있습니다. 애플리케이션 라이센스는 사용자가 라이브러리를 수정하고 코드를 리버스 엔지니어링하여 이러한 수정을 디버그 할 수 있도록해야합니다. 그렇다고 소스 코드 나 응용 프로그램 내부에 대한 세부 정보를 제공 할 필요는 없습니다. 물론 사용자가 라이브러리를 변경하면 인터페이스가 손상되어 라이브러리가 응용 프로그램에서 작동하지 않을 수 있습니다. 걱정할 필요는 없습니다. 라이브러리를 수정하는 사람들은 라이브러리를 작동시킬 책임이 있습니다.

간단히 말해서 라이브러리 코드 자체를 변경하지 않는 한 상속에는 문제가 없지만, 변경하더라도 애플리케이션 코드가 아닌 라이브러리 수정 코드 만 해제해야합니다.


1
귀하의 답변은 다른 답변과 모순되지만 귀하의 주장을 뒷받침하는 것은 아닙니다. 다른 답변은 더 자세하고 어설 션을 설명하는 데 더 효과적입니다. 제발 편집 귀하의 주장을 백업하기 위해 라이센스 또는 자유 소프트웨어 재단에서 관련 견적을 제공하기 위해 답변을.

실제로 내 답변이 내 주장을 뒷받침하는 데 많은 도움이되지 않습니까? LGPL과 클래스 상속에 대한 혼란을 없애기 위해 공식 GNU 페이지에 링크했습니다. LGPL v3을 포함하도록 업데이트되었습니다.
Nik.B

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.