LGPL gem을 사용하면 MIT 라이센스 응용 프로그램에 어떤 영향을 줍니까?


21

MIT 라이센스에 따라 오픈 소스 루비 애플리케이션을 개발 중입니다. 응용 프로그램 사용자를 제한하고 싶지 않기 때문에이 라이센스를 사용하고 있습니다. 또한 실제로이 라이센스를 읽고 이해할 수 있습니다.

최근에 프로젝트에서 다른 루비 젬을 사용하기 시작했습니다 ( "somegem"필요). 이 루비 보석은 LGPL 라이센스하에 있습니다.

LGPL로 라이센스가 부여 된 다른 루비 젬을 사용하고 있기 때문에 프로젝트에 대해 변경해야합니까? 내 프로젝트에 다른 gem의 소스 코드가 포함되어 있지 않으며 내 프로젝트와 함께 제공되지 않습니다. 루비 젬이 설치하고 프로젝트가 내 코드에서 호출하도록 종속성으로 간단히 나열됩니다.

또한 라이센스를 사용하면 내 프로젝트의 라이센스에 영향을 미치기 때문에 "주의"해야하는 라이센스가 있는지 아는 것이 도움이됩니다.

이 주제에 관한 다른 게시물이 있지만 다른 방식으로 표현되었습니다. 이 라이센스가 까다로워서 내 상황에 대한 답변을 얻고 싶습니다.

감사합니다,
Corsen


1
이것은 프로그래머가 아닌 변호사에게 질문처럼 보입니다. (즉, 이것은 일부 질문에 대한 경험이있을 수있는 좋은 질문입니다. 그러나 프로그래밍과 관련이 거의없는 스택 오버 플로우에는 적합하지 않습니다.)
Phrogz

7
Phrogz : 당신은 과장하고 있습니다. 라이센스의 텍스트와 수많은 FAQ에 의해 명시 적으로 답변되는 간단한 라이센스 관련 질문입니다. 실제로 변호사가 필요하지 않습니다.
vartec

답변:


26

영향을 미치지 않습니다

LGPL — Lesser GPL (라이브러리 GPL을 의미)을 나타냅니다. GPL과의 중요한 차이점은 라이브러리를 사용하는 소프트웨어에 라이센스를 부여하지 않는다는 것입니다. 라이브러리를 수정하거나 소프트웨어에 코드의 일부를 직접 포함하는 경우에만 코드가 LGPL이어야합니다. 반면에 앱에서 gem을 사용하는 경우 원하는 라이센스로 앱을 유지하는 것이 좋습니다.

LGPL에서 언급 한 부분 :

라이브러리의 일부를 파생하지는 않지만 라이브러리를 컴파일하거나 링크하여 라이브러리와 함께 작동하도록 설계된 프로그램을 "라이브러리를 사용하는 작업"이라고합니다. 이러한 저작물은 단독으로 라이브러리의 파생물이 아니므로 본 라이센스의 범위를 벗어납니다.


1
LGPL 라이브러리에 대한 추가 요구 사항이 있습니다. 특히 닫힌 프로그램 내에서 가져 오기를 하드 코드화하는 경우 더욱 그렇습니다. 그렇다고 LGPL에 코드를 넣어야하는 것은 아니지만 요구 사항이 충족되어야합니다. 루비 겐 연결 메커니즘에 대해서는 잘 모르겠습니다. 아마도 LGPL과 Java와 같은 java import와 비슷할 것입니다 .
hakre

0

LGPL로 라이센스가 부여 된 다른 루비 젬을 사용하고 있기 때문에 프로젝트에 대해 변경해야합니까? 내 프로젝트에 다른 gem의 소스 코드가 포함되어 있지 않으며 내 프로젝트와 함께 제공되지 않습니다. 루비 젬이 설치하고 프로젝트가 내 코드에서 호출하도록 종속성으로 간단히 나열됩니다.

LGPL의 소프트웨어는 소프트웨어의 종속입니다. 따라서 실제로 소프트웨어의 일부입니다. LGPL은 자유 소프트웨어가 아닌 소프트웨어 (MIT는 자유 소프트웨어 임)에서도 사용할 수 있으므로 종속성이 차단이되지 않습니다.

그러나 종속성이기 때문에 소프트웨어를 배포 할 경우 소스 코드를 제공해야합니다. 루비 내에서 요구 메커니즘이 항상 소스를 제공하는지 여부에 대한 실마리는 없습니다. 그렇다면 이미 소스로 배포하고 있다고 말하고 싶습니다. 그렇지 않은 경우 소스를 제공하는 소프트웨어에 필요한 해당 gem의 모든 버전에 대해주의를 기울여야합니다.

타사 프로젝트 (보석)가 오프라인 상태가되어 더 이상 존재하지 않는 보석이 필요하므로 프로젝트가 중단 될 수 있기 때문에 소스를 관리해야합니다.

이것은 프로그래머의 관점에서 볼 때 법적 조언이 아닙니다. 소프트웨어가 라이브러리를 사용하기 때문에 소프트웨어 사용자가 소스를 요청하고 실제로 라이브러리에 작성했기 때문에 배포판으로 볼 수 있습니다 require "somegem". 배포의 법적 정의는 파일을 CD-ROM에 굽는 프로그래머의 기대와 일치하지 않을 수 있습니다. 따라서 예상대로 결과가 나오지 않을 경우 사전에 적극적으로 행동하는 것이 더 넓은 개념을 갖는 것이 좋습니다.


1
"소프트웨어를 배포 할 경우 소스 코드를 제공해야합니다." 아니요 공개적으로 사용할 수 있으면 아닙니다.
vartec

1
@vartec : 배포하는 경우 소스를 제공해야합니다. 비상업적이며 코드가 변경되지 않은 경우에만 해당 요구 사항을 업스트림 프로젝트에 위임 할 수 있습니다 (GPL 참조). 라이브러리가 귀하에 의해 배포되지 않은 경우 (그러나이 경우 사용자가 변경할 수없는 하드 코딩 된 설치 지침이 있으며 실제로 LGPL에 교체 할 수있는 요구 사항이 있으므로 LGPL 호환성을 손상시킬 수도 있음), 제공하는 것이 가장 안전하다고 생각합니다 리버스 엔지니어링 및 교체 요구 사항을 쉽게 충족 할 수 있습니다.
hakre

@vartec : 공개적으로 사용 가능하다는 것은 배포하지 않음을 의미합니다. gem 배포자가 소스를 제공 할 수없는 경우 gem 사본이 합법적이지 않을 수 있습니다.
hakre

LGPL, 섹션 4.e "설치 정보 제공, 그러나 GNU GPL 섹션 6에 따라 그러한 정보를 제공해야하는 경우에만 해당 정보가 수정 된 버전의 설치 및 실행에 필요한 경우에만 해당 응용 프로그램을 링크 된 버전의 수정 된 버전과 재결합 또는 재 링크하여 생성 된 저작물 "
vartec

1
@vartec : 맞습니다. 4.e 계속 : "(옵션 4d0을 사용하는 경우 설치 정보는 최소 해당 소스 및 해당 응용 프로그램 코드와 함께 제공되어야합니다. 옵션 4d1을 사용하는 경우 GNU GPL의 섹션 6에 지정된 방식으로 설치 정보를 제공해야합니다. 해당 소스를 전달하기 위해.) "
hakre
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.