오픈 소스 프로젝트에 대한 라이센스 선택


30

저는 오픈 소스 프로젝트를 수행했으며 앞으로 더 많은 것을 할 계획입니다. 지금까지 GPL에 따라 모든 코드를 공개했지만 GPL이 회사 환경에서 사용하기에 너무 제한적이라고 주장하는 기사를 읽었습니다. 이것은 아마도 기여를 줄입니다.

내가 성취하고 싶은 것은 다음과 같습니다.

의 경우 전체 응용 프로그램 :

  • 응용 프로그램에 대한 지원 판매를 제외하고는 상업적 용도로 사용하지 않습니다 (예 : 응용 프로그램 을 판매 할 수는 없지만 주변의 모든 것이 가능합니다)

대한 라이브러리 (구성 요소, 플러그인, ...)

  • 수정없이 상업 프로젝트에 포함될 수 있습니다
  • 라이브러리 / 컴포넌트의 수정은 오픈 소스 여야합니다 (기여)-상업적이든 아니든 프로젝트의 나머지 부분은 영향을받지 않습니다.

응용 프로그램의 경우 GPL은 여전히 ​​논리적 선택입니다. 라이브러리의 경우 라이센스에 대한 기본 지식을 이해하면 LGPL이 적합하다고 생각하지만 확실하지 않습니다. MIT 라이센스를 살펴 봤는데 너무 허용적인 것 같습니다.

대부분의 경우, 개선 사항이 반영되는 한 사람들이 원하는 곳에서 코드를 사용하기를 원합니다.

LGPL이 오픈 소스 라이브러리, 구성 요소, 플러그인 등에 대한 논리적 선택입니까? 더 나은 대안이 있습니까? 내 응용 프로그램에 GPL이 좋은 선택입니까, 아니면 더 좋은 것이 있습니까?

최신 정보:

최종 결정에 관심이있는 사람들을 위해 다중 라이센스 체계 인 MPL, LGPL 및 GPL로 라이브러리를 릴리스하기로 결정했습니다. 따라서 MPL에 따라 코드를 수정하지 않으면 사실상 모든 사람 이 의무없이 내 코드를 사용할 수 있습니다.이 경우 코드를 다시 제공해야합니다.

이것은 코드가 FSF와 독점 소프트웨어 둘 다에 의해 사용될 수 있지만 "나쁜"상업적 이용은 막을 수 있다는 것을 의미합니다.


1
상업적 사용 또는 상업적 배포 / 재판매가 아닙니까?
— MIA

아마도 유통 / 재판매. 사람들이 상업적으로 내 물건을 사용하더라도 상관 없지만 프로젝트에 달려 있다고 생각합니다. 나는 상업적인 목적으로 지금까지 쓴 것을 사용하는 방법을 보지 못하지만 ..
— dr Hannibal Lecter

4
그것은 그 (답변의 일부 반대)주의하는 것이 중요 크리에이티브 커먼즈 자주 묻는 질문 명시 적으로 CC 라이선스가 있어야 언급 하지 소프트웨어를 사용할 수 있습니다. 합니다 ( CC0 퍼블릭 도메인 헌신이 되는 소프트웨어와 함께 사용하도록 승인하지만, 원래의 질문에 명시된 목적에 적합하지 않을 것입니다.) 대신에 CC는 자유 소프트웨어 재단 (Free Software Foundation) 또는 오픈 소스 이니셔티브에 의해 승인 된 라이센스를 선택하는 것이 좋습니다.
— 피터 브릭스

1
내 생각 엔, 당신이 진정으로 독특하고 유용한 무언가를 생각해 내지 않았다면, "나쁜 상품화"의 가능성은 그것을 막기 위해 소비 할 시간이 들지 않을 정도로 작습니다.
— Bryan Oakley

1
누군가 관심이있는 경우 area51의 오픈 소스 라이센스에 관한 Q & A 사이트에 대한 제안이 있습니다. area51.stackexchange.com/proposals/58715/…
— Kurt Pattyn

답변:


8

GPL과 LGPL이 프로젝트에 원하는 것 같습니다.


LGPL이 내 요구 사항에 적합한 선택이라고 말할 수 있습니까? 나는 변호사가 아니기 때문에 그냥 확인하고 있습니다 :)
— Dr Hannibal Lecter

1
나는 변호사도 아니지만 LGPL은 라이브러리에 대해 원하는 것, 전체 응용 프로그램에 대해서는 GPL이라고 생각합니다.
— 대안

GPL 앱을 판매하는 것은 합법적입니다. 귀하는 (본질적으로) 소스 코드를 포함 시켰으며 고객에게 귀하와 동일한 GPL 권리를 부여합니다.
— bdsl

8
  • 응용 프로그램에 대한 지원 판매를 제외하고는 상업적 용도로 사용하지 않습니다 (예 : 응용 프로그램 을 판매 할 수는 없지만 주변의 모든 것이 가능합니다)

GPL은 애플리케이션 판매를 금지하지 않으며 Huperniketes가 관찰 한 바와 같이이를 금지하면 실제로 라이센스가 자유롭지 않게됩니다. 는 GPL을 보장하는 유일한 방법은 소프트웨어를 판매하는 회사는 것입니다 또한 무료로 코드 기반을 제공해야합니다. 그러나 소프트웨어 패키지는 무료로 제공하지 않아도됩니다 . 소프트웨어의 소스 코드는 쉽게 사용할 수있는 제품이 아니기 때문에 큰 차이가 있습니다.


소스 코드가 어딘가에 떠 다니면서 누군가가 혜택을 볼 수 있기 때문에 실제로는 괜찮습니다. ;)
— Dr Hannibal Lecter

나는 정말로 그것을 얻지 못한다. 소스를 얻을 수 있으면 컴파일 할 수 있으며 소스를 사용하는 것을 금지하는 것은 없습니다.
— Camilo Martin

@Camilo : 무엇을 당신은하지 않습니다?
— Konrad Rudolph

GPL 버전 3의 섹션 4와 6b는 @KonradRudolph
— Rudolf Olah의

애플리케이션을 판매 할 때 소스 코드를 패키지에 포함 시키면 소스 코드를 무료로 제공 할 필요가 없습니다.
— bdsl

5

소프트웨어의 상업적 사용을 막고 싶다면 GPL은이를 자르지 않을 것입니다. GPL은 수정 된 소스를 재배포해야하기 때문에 상용 제품이 판매 하는 제품에서 피하는 경향이 있지만 내부적으로 GPL 소프트웨어를 자유롭게 사용할 수 있습니다. 즉, 기업이 GPL 소프트웨어를 판매하거나 GPL 소프트웨어 (예 : LinkSys)를 중심으로 하드웨어를 구축하도록 설정되어 있지는 않지만 대부분의 기업은 경쟁 업체와 제품을 공유하지 않는 것이 좋습니다.

Creative Commons Attribution Non-Commercial No Derivatives 라이센스가 원하는 것인지 모르지만 (유일한 제한은 상업적 용도 임), 그렇지 않은 경우, 변호사가 준비한 라이센스가 있어야합니다. 라이센스 보유자가 가질 수있는 언어 부여 권한.

이 같은 제한을 포함하는 시작하면 또한, 비상업적 인 용도 및 비 수정 가능성을 , 당신은 더 이상의 기준에 부합하지 않을 수 오픈 소스 로 라이선스 정의 에 의해 오픈 소스 이니셔티브를 . 이 사이트에는 승인 된 다른 OSS 라이센스 도 나와 있습니다. 아마도 당신의 목표와 일치하는 것이 이미있을 것입니다.

또한 소프트웨어 사용자에게 부여 된 권리와 제한을 선택하기 전에 목표 를 적절하게 정의하는 것이 중요합니다. 수정 가능성, 배포 또는 사용보다 인기가 더 중요합니까? 처음에 코드를 릴리스하는 목표를 생각해 보시고, 어떤 방식으로 코드를 작성 하든지 또는 액세스 권한을 부여하는 용어에 반대의 영향을 줄 수 있습니다.


내부적으로 GPL 소프트웨어를 사용하는 사업체는이 소프트웨어를 상업적으로 사용하지 않습니다 ...
— 대안적인

3
@mathepic, "business"및 "using"이라는 단어가 "상업용"과 유사하다고 생각하지 않습니까? definitions.uslegal.com/c/commercial
— Huperniketes

@Huperniketes 아니, 그들은하지 않습니다. 비즈니스 사용하여 소프트웨어 (예 : 데이터베이스 브라우저)입니다 정확히 해당 소프트웨어를 사용하는 사람과 동일. 프로젝트가 비즈니스의 최종 제품에 포함되지 않는 한 차이가 없습니다.
— 대안

3
@mathepic, 당신은 틀 렸습니다. 사업은 영리를 위해 존재하는 상업적인 관심사입니다. 참여하는 모든 활동은 상업적입니다. 그리고 사용자 매뉴얼을 호스팅하기 위해 Apache를 실행하는 웹 서버를 설정하는 것은 Apache를 상업적으로 사용하는 것 입니다. 법적 의미에서 작동 단어는 판매 또는 재판매가 아닌 배포 가 아닌 사용 입니다.
— Huperniketes

2
@dr, Apache 라이센스는 상업적 사용을 금지하지 않기 때문에 위반이 아닙니다. apache.org/foundation/licence-FAQ.html#WhatDoesItMEAN "개인, 회사 내부 또는 상업적 목적으로 Apache 소프트웨어의 전체 또는 일부를 자유롭게 다운로드하여 사용할 수 있습니다."
— Huperniketes

4

당신이 신경 쓰는 것이 코드를 무료로 유지하고, 개선을 얻고, 누군가가 그것을 사용할 수 있는지 확인하는 것이라면 MPL 이 당신에게 적합한 라이센스입니다. LGPL이 부과하는 것과 같이 이상하고 신비한 연결 제한없이 상용 소프트웨어를 포함한 모든 제품에서 무료로 사용할 수 있습니다. 코드를 사용하고 수정하는 사람은 MPL 하에서 변경 사항을 해제해야하지만 프로젝트의 나머지 코드는 건드 리거나 제한하지 않습니다.


나는 MPL에 전혀 익숙하지 않지만 매우 흥미롭게 들린다. 지금까지 PHP 코드 만 출시했기 때문에 연결 제한이 문제가되지는 않지만 일부 모노 코드도 공개 할 계획입니다. MPL은 매우 유용 할 수 있습니다.
— Dr Hannibal Lecter

4

모든 코드를 작성한 경우 (즉, 코드를 소유 한 경우) 이중 라이센스를 부여 할 수 있습니다. 예를 들어 GPLv3에 코드를 게시 하고 덜 제한적으로 사용하려는 사용자에게 다른 라이센스와 함께 판매하도록 제안하십시오.

(GPL이있는 라이브러리는 GPL 소프트웨어에서만 사용할 수 있기 때문에 이는 특히 라이브러리와 관련이 있습니다).

코드에 포함 된 외부 기여 또는 패치 (소유하지 않기 때문에)에주의하십시오.


1

실제로 MPL을 신청할 수 있는지 아니면 GPL 만 신청할 수 있는지 여부는 한 가지 중요한 차이점에 달려 있습니다.

"이하의 권리"에는 MPL "Covered Code"를 MPL 이외의 비공개 코드와 연결하여 "큰 작업"(MPL 3.7 큰 작업)을 형성 할 수있는 권한이 수신자에게 부여됩니다. GPL은 수신자에게 그러한 권리를 부여하지 않습니다. 따라서 수신자는 MPL 대신 GPL을 적용하기 위해 라이센스 조건을 변경할 수 없습니다.

참조 이 .

이것이 당신에게 의미하는 바는 GPL이 포함 된 컴포넌트를 사용하는 경우 MPL 하에서 코드를 릴리스 할 수 없다는 것입니다. MPL은 잘못된 MPL 하에서 GPL 코드를 재배포하도록 잘못 시도합니다. 종속성이 MIT 또는 Apache 라이센스 순서 인 경우에는 문제가 없습니다.

일반적으로, 경우 없는 이미 MPL 물건을 사용하지 않는 MPL을 통해 GPL만을 선택하여 더 좋은 일을. GPL은 또한 기부금이 다시 게시되도록합니다.

MPL이 제공하는 중요한 변화는 무의식적으로 유발 된 특허 침해에 대한 보호입니다. 라이센스에 따르면 :

누군가 자신이 특허를 보유한 수정을 작성하고, 라이센스에 따라 필요에 따라 수정을 무료로 제공 한 다음, 돌아와서 모든 사람에게 특허권을 청구하려고 시도하는 것은 괜찮습니다.

MPL과 GPL은 호환되지 않습니다.

이중 라이센스의 의미에 대한 논의는 MIT vs. BSD vs. 이중 라이센스 를 참조하십시오 .


GPL 비 호환성은 MPL v2.0에서 해결되었습니다. (이 게시물은 v2.0이 출시되기 전에 작성된 것 같습니다.) 참고 항목 MPLv2.0에 GNU의 문
— mucaho

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