LGPL 프로젝트를 기반으로 프로그램을 만들었으며 소스 코드를 게시 할 수 없습니다.


13

LGPL은 MIT, BSD 또는 Apache와 같이 허용되는 라이센스라고 생각했습니다. 그러나 오늘 나는 LGPL (라이브러리 등)에 대한 링크 만 이 폐쇄 소스 코드 에서만 허용 된다는 것을 읽었습니다 .

LGPL 프로그램을 기반으로하는 고용주를위한 프로그램을 만들었지 만 상당 부분 수정했습니다. 물론 수정 된 소스 코드를 넣을 수는 없습니다. 동시에 배포 할 경우에도해야합니다 (오른쪽?).

그래서 이것에 대한 해결 방법이 있는지 궁금 해서이 폐쇄 소스를 유지할 수 있습니다 (소스를 게시 할 수 있기를 바랍니다)-제안 사항이 있습니까?

내 생각 : 원래 LGPL 앱의 대부분의 기능을 외부 라이브러리에 넣고 핵심 실행 파일을 처음부터 작성할 수는 있지만 수정하지 않은 모든 기능에 대해서는 라이브러리를 다시 참조 할 수 있습니까?

현재 모든 것은 .jar 파일 (Java / Swing)에 있습니다. 내 아이디어가 합법적 / 기술적으로 실현 가능하다고 생각되면 내가 쓴 것과 원본을 분리하는 데 얼마나 많은 노력이 필요합니까? 나는 가장 정통한 사람이 아닙니다.


이 포스트 에서 그는 또한 LGPL을 새로운 dll에 넣고 LGPL 소스 코드에서 델리게이트 또는 인터페이스를 사용하여 LGPL을 우회 할 수 있다고 덧붙였다. -누군가 내가 원래 Java 앱 으로이 작업을 수행하는 방법을 조금 더 자세히 설명 할 수 있습니까?

16
이것은 법적 웹 사이트 가 아닙니다. 물론 실제 법적 조언을 얻는 조언을 제외하고는 여기의 누군가로부터 법적 문제에 대한 조언을하지 않을 것입니다.

5
LGPL은 대부분 배포에 관심이 있으며이 코드 배포 방법에 대한 정보를 제공하지 않았습니다. 질문은 당신이 그렇게 할 때까지 정확한 답을 얻지 못할 것입니다. 어쨌든 인터넷에서 법률 자문을받지 말아야한다는 점을 다시 말씀드립니다 .
Rein Henrichs

저는 합법성 측면에서 LGPL을 상당히 잘 이해하고 있다고 생각합니다. 그래서 나는 당신에게 기술적으로 어떻게 작동하게하는 지에 대해 당신에게 정말로 묻고 있습니다 .
Esuus

어떤 소프트웨어를 사용하고 있는지는 말하지 않지만 일부 GPL / LGPL (및 기타) 소프트웨어 제공 업체는 상황에 맞는 사람들에게 상용 라이센스를 제공합니다.
Jaydee

답변:


13

우선, 인터넷에서와 같이 여기에서 법적 조언을받는 것은 좋은 생각이 아닙니다.

둘째, 이것은 변호사가 아니라 제가 말하는 것입니다. LGPL 프로그램을 취하여 고용주를 위해 수정하기 전에 그 점을 생각해야합니다.

라이센스가 마음에 들지 않아서 무시할 수있는 것이면 지금 라이센스를 갖는 데 별 도움이되지 않습니까?

귀하 및 / 또는 고용주가 수정 한 소스 코드를 기꺼이 공개하지 않으려는 경우 해당 LGPL 코드 사용을 중단하고 제거해야합니다.

다시 말하지만, 그건 바로 저입니다.

실제 변호사에게 조언을 구하십시오.


DLL에 코드를 추가하여 라이센스를 우회하는 것에 대한 귀하의 질문에 따라 다음과 같은 방식으로 작동한다고 가정합니다.

외부 라이브러리에서 함수를 호출 할 수있을 정도로 원본 프로그램을 변경하는 것입니다. 요구 사항, 라이브러리, 함수 이름 등 특정 코드를 만들지 않고도 그렇게해야합니다.

라이센스 요구 사항에 따라 게시 한 변경 사항.

그런 다음 고유 한 코드를 사용하여 외부 라이브러리를 만들고 해당 수정 사항을 사용하여 해당 프로그램에로드하여 실행하도록 요청하십시오.

LGPL 라이센스의 전체 범위를 알지 못하더라도 라이브러리가 게시 될 것으로 의심되지만 라이브러리를 게시하지 않아도 충분하다고 말할 수는 없습니다.

그러나 다시 ...

변호사에게 조언 받기


4
GPL 라이센스 제품군을 작성한 FSF는 파생 작업을 생성하기 위해 동적 연결을 고려하므로 작동하지 않을 수 있습니다. (다른 사람들은 FSF가 틀렸다고 생각합니다.) 저는 비록 틀릴 수도 있지만 법적 결정이 있다고 생각하지 않습니다.
David Thornley

정말? 본인은 본인보다 David에 대해 더 많이 알고 있다고 확신하지만 wikipedia에 따르면 GPL로 게시하지 않고도 GPL 라이센스 라이브러리에 동적으로 연결할 수 있다고 말합니다. "GPL에 따라 라이센스를받은 라이브러리에 링크하려면 GPL 하에서 GPL 요구 사항의 적용을받지 않습니다." 이제 GPL과 LGPL의 차이점이 무엇인지 궁금해합니다. LGPL 만 허용한다고 생각했습니다.
Esuus

2
@Dave : 고용주의 큰 법무 팀이 동의하지 않습니다. 그들은 지적 재산을 보호하는 데 매우 공격적이며 GPL 하에서 코드를 배포하지 않는 한 GPL 코드를 자신의 코드에 링크하는 것을 명시 적으로 금지합니다. 그 예외는 어디에서 찾았습니까? GPLv2 또는 v3에는 표시되지 않습니다. 바닐라 GPL의 일부가 아닌 연결 예외를 언급하는 것처럼 들립니다. 그러나 저작권 소유자는 재량에 따라 GPL 코드에 연결 예외를 추가 할 수 있습니다. 법무 팀과상의하는 것이 실제로 최선의 방법입니다.
Void

5
나는 이것에 대해 Wikipedia를 믿지 않을 것입니다. 아시다시피, 항목은 이전 주말 라이센스에 대해 읽은 14 세의 사람이 작성했습니다. 진정한 조언을 얻으십시오. 또는 농장에 내기를 걸고 회사가 어려움을 겪지 않기를 바랍니다. 뭐든간에
Lasse V. Karlsen

@GPL과의 링크 연결이 문제입니다. 내가 아는 한, FreeBSD가 Clang / LLVM을 위해 GCC를 포기한 주된 이유 중 하나였습니다 .
레골라스

4

LGPL 또는 유사한 라이센스로 공개 된 대부분의 오픈 소스 라이브러리는 프로젝트에서 사용하기에 충분한 라이브러리이며 http://en.wikipedia.org/wiki/Open/closed_principle과 같은 개방 / 폐쇄 원칙을 사용하여 구축됩니다 .

애플리케이션이 LGPL 라이브러리에 링크되고 모든 확장이 닫힌 애플리케이션 코드에 포함되도록 코드를 리팩터링 할 수 있어야합니다.


라세 제안처럼 - - 설정 문제는 내가 도서관에 그것을 켜거나 수 있는지 여부 그래서 음, 내가 사용하는 LGPL 코드는 응용 프로그램이 아닌 라이브러리는 ...입니다 라이브러리에 코드를하고 나머지 LGPL 오픈 / 유지
Esuus

1
@Dave : LGPL은 라이브러리 GPL로 알려져있었습니다. 이 라이센스를 사용하는 응용 프로그램은 실제로 보지 못했습니다. 비밀이 아닌 경우 무엇을 사용하고 있었습니까?
올라프

FSF는 이제 이것을 덜 GPL이라고합니다. 내가 지금 앱에서 생각할 수있는 유일한 용도는 독점 라이브러리 등에서 링크 할 수 있다는 것입니다.
David Thornley

흥미롭게도 Mozilla와 OpenOffice.org 모두 LGPL에 따라 라이센스가 부여되었습니다.
Esuus

@Dave : 그럼 @David Thornley와 함께 있습니다. Mozilla는 코드를 닫을 수있는 사용자 정의 플러그인을 작성하는 수단을 제공합니다. 나는 OpenOffice에 익숙하지 않지만 그들이 할 것이라고 확신합니다. 사용하는 LGPL 응용 프로그램은 플러그인 추가 또는 스크립트 언어와 같은 일종의 확장 기능을 제공합니까? 코드에 해당 메커니즘을 사용할 수 있습니까?
올라프

2

동일한 면책 조항 : IANAL.

지금까지 아무도 언급하지 않은 것은 코드를 분리하더라도 LGPL 파트에 소스 코드를 배포하거나 최소한 다운로드 할 수있는 위치에 대한 정보를 제공해야한다는 것입니다.

그 문제를 해결하는 유일한 방법은 처음에 배포하지 않는 것입니다.


2

면허를 우회하려고하는 것이 좋지 않다는 것을 이해하기 위해 변호사가 필요하다고 생각하지 않습니다. 상식이면 충분합니다.

대신 LGPL 프로그램의 원래 작성자에게 연락하여 다른 독점 라이센스를 요청 / 구매할 수 있습니다.

다른 대안은 소스를 해제하거나 완전히 다시 작성하는 것입니다.


1

IANAL, TINLA 등

LGPL은 MIT, BSD 또는 Apache와 같이 허용되는 라이센스라고 생각했습니다. 그러나 오늘 나는 LGPL (라이브러리 등)에 대한 링크만이 폐쇄 소스 코드에서만 허용된다는 것을 읽었습니다.

예, LGPL은 저작물을받는 사람에게 소스 코드를 제공하거나 소프트웨어 수신자가 LGPL의 저작물 버전을 새로운 것으로 대체 할 수있는 형식으로 저작물을 배포해야합니다. 버전. 두 경우 모두, 작품의 LGPL 부분에 대한 모든 수정 사항은 작품의 모든 수신자에게 제공 되어야합니다 .

LGPL 프로그램을 기반으로하는 고용주를위한 프로그램을 만들었지 만 상당 부분 수정했습니다. 물론 수정 된 소스 코드를 넣을 수는 없습니다. 동시에 배포 할 경우에도해야합니다 (오른쪽?).

옳은. 라이센스는 소프트웨어의 모든 수신자에게 소스 코드에 대한 액세스 권한을 부여해야합니다.

내 생각 : 원래 LGPL 앱의 대부분의 기능을 외부 라이브러리에 넣고 핵심 실행 파일을 처음부터 작성할 수는 있지만 수정하지 않은 모든 기능에 대해서는 라이브러리를 다시 참조 할 수 있습니까?

이는 파생 된 작업을 구성 할 수 있으며 프로그램을 제거하는 모든 빌드 스크립트를 라이브러리에 배포해야합니다.

현재 모든 것은 .jar 파일 (Java / Swing)에 있습니다. 내 아이디어가 합법적 / 기술적으로 실현 가능하다고 생각되면 내가 쓴 것과 원본을 분리하는 데 얼마나 많은 노력이 필요합니까? 나는 가장 정통한 사람이 아닙니다.

Java는 "정적"링크와 "동적"링크를 구성하는 요소가 무엇인지 명확하지 않기 때문에 LGPL에 수많은 새로운 문제를 추가합니다. GPL에 대한 LGPL의 예외는 그 개념에 의존하기 때문에 LGPL은 대부분의 경우 GPL과 동일합니다. 제기 될 질문에 대해서는 회사 법무 팀과상의해야합니다.

회사 외부의 누군가가 프로그램에 액세스 할 수 있으면이를 폐기하고 다시 시작하는 것이 좋습니다. 라이센스 요구 사항을 충족 할 수없는 경우 라이센스를 전혀 배포 할 수 없습니다.

회사 에서만 프로그램을 사용할 수 있는 경우 회사 직원 만 소스를 사용할 수 있도록해야합니다. 기존 회사 소스 제어에 추가하는 것이 좋습니다. 이는 회사 외부에 아무도 액세스 할 수없는 한 LGPL의 요구 사항을 충족시킵니다 .


1

어댑터 패턴을 사용하고 원래 코드를 건드리지 마십시오. 또한 LGPL을 사용하면 자신의 프로젝트에서 클래스를 상속하고 해당 클래스의 기능을 무시할 수 있습니다.


0

이것은 나의 이해입니다, IANAL.

사용중인 코드를 다루는 LGPL 버전의 텍스트를 확인하십시오. LGPL의 코드는 일반적으로 공유 라이브러리 / jar 파일을 사용하여 교체 할 수 있어야한다고 생각합니다. LGPL에 사용되는 코드를 라이브러리로 분리 할 수 ​​있으면 원하는 라이센스로 응용 프로그램을 배포하면서 LGPL에 따라 코드를 해제 할 수 있습니다.


0

라이센스를 우회 할 수 없습니다. 허점을 발견하더라도 여전히 비 윤리적입니다 (그러나 일부 사람들에게는 다른 질문입니다). 할 수있는 일은 해당 소프트웨어의 제작자에게 연락하여 상황을 설명하고 별도의 라이센스를 요청하는 것입니다. 그가 가격에 대한 특별 라이센스를 기꺼이 제공하려는 경우 문제의 구성 요소를 사용하지 않고도 소프트웨어를 다시 작성하는 비용과 비교할 수 있습니다. 그리고 더 싼 것만 가지고 가십시오.

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