어떻게 GPL을 피할 수 있습니까?


24

면책 조항 라이센스에 대해 아는 척하지 않습니다. 사실, 내가 아래에 말하는 모든 것은 완전히 거짓 일 수 있습니다!

배경 이야기 :

최근에 괜찮은 게임 엔진을 찾고 있는데 Cafu Engine 이라는 내가 정말 좋아하는 것을 찾았습니다 .

그러나 상용 라이센스 비용을 지불하지 않는 한 엔진을 사용하여 만드는 모든 것이 GPL하에 적용되는 이중 라이센스 계획이 있습니다. 나는 그것이 나쁜 엔진이라고 말하는 것이 아니라 라이센스 비용에 대해 매우 편안하다고 말합니다. 그러나 GPL과 관련이 있다는 사실은 나를 두려워합니다.

그래서 제 질문은 기본적으로 어떻게 GPL을 피할 수 있습니까?

예를 들면 다음과 같습니다. Quake 엔진 또는 Doom 엔진으로 알려진 id Tech 엔진이 인기있는 소스 엔진의 기본이었습니다. 그러나 id Tech 엔진은 GPL에 따라 릴리스되었으며 소스 엔진은 독점적입니다. Valve가 다른 라이센스를 받았습니까? 아니면 GPL을 피하기 위해 무언가를 했습니까? GPL을 피할 수있는 방법이 있습니까? 또는 GPL 소스 코드를 다른 프로젝트의 기반으로 사용하는 경우 GPL을 사용해야하고 소스 코드를 전세계에 공개해야합니다. 임의의 사람이 id Tech 엔진을 가져와 인식 지점을 지나서 수정 한 다음 상용 제품의 독점 엔진으로 사용할 수 있습니까? 또는 공개 소스로 만들어야합니까?

마지막으로, 나는 오픈 소스와 관련하여 일반적으로 문제가 없습니다. 그러나 나는 오픈 소스가 그 자리를 가지고 있다고 생각하지만, 그것은 덤불 세상에는 없습니다.


3
제공 한 견적으로 자신의 질문에 답변했습니다. 또한 소스 (HL2)는 Quake를 기반으로하지 않았습니다. 당신은 GoldSrc (HL1)을 생각하고 있습니다.
Justin Skiles

질문에 명확하게 대답 할 수 있고 몇 가지 정확한 답변을 제공하기 때문에 투표에 실패했습니다.
Kylotan

1
변호사에게 문의하십시오. 그 문제에 대해서는 엔진을 만드는 회사에 문의하십시오. 그러나 게임 엔진 용으로 이해하면 GPL은 다른 자산 (예 :지도)이 아닌 코드 및 코드에 적용 할 수 있습니다. , 소리, 예술 등]. 왜 그렇게 받아 들여지지 않습니까?
Random832

1
또한 Microsoft의 소스 코드를 훔쳐 도망 갈 수있는 방법을 묻습니다. 두 가지 옵션과 두 가지 옵션 만 있습니다 : 코드 소유자가 라이센스 및 / 또는 수수료로 규정 한 규칙에 따라 재생하거나 다른 것을 사용하십시오.
Sean Middleditch

1
"하지만 오픈 소스가 그 자리에 있다고 생각하지만 그것은 덥지 않은 세상에는 없습니다." 그러나 당신은 누군가의 코드를 사용하고 상업 라이센스를 지불하거나 대안의 조건을 받아들이지 않는 것이 비즈니스 세계에 있다고 생각합니까? 이것은 도둑만큼 비즈니스가 아닙니다. 이것은 자주 비즈니스 세계에서 happenened하지 않는 것이 ... - 당신이 정말로 것 같습니다 않는 보기의 프로그래머의 관점에서 오픈 소스 (당연하게도)를 원하지만,보기의 금융 지점에서에 대한 다소 독단적 인 혐오감을 가지고 . 글쎄, 이러한 견해는 호환되지 않습니다.
leftaroundabout

답변:


28
  1. 소스 코드에 대한 저작권을 보유한 경우 원하는대로 해당 코드를 해제 할 수 있습니다. GPL 하에서 배포한다고해서 다른 비 제한적 라이센스 또는 더 제한적인 라이센스 하에서의 릴리스는 금지되지 않습니다. Source / id Tech의 세부 사항은 확실하지 않지만 Valve가 자체 라이센스를 협상했다고 가정합니다.

  2. 프로젝트에서 GPL 코드를 사용하는 경우 사용자에게 소스 코드를 제공해야합니다. 그렇다고 웹 사이트를 운영하거나 필요할 때 제공 할 수 있도록 사본을 보관해야한다는 의미는 아닙니다. 그렇다고해서 모든 변경 사항을 즉시 공개해야한다는 것은 아닙니다. 소프트웨어를 재배포 할 때만 해당되며 코드 및 변경 사항도 함께 적용됩니다. ( http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic )

  3. 프로젝트에서 한 줄의 GPL 코드를 사용하는 경우 이제 GPL의 조건에 구속됩니다. (유일한 방법은 아니지만) 하나는 GPL 하에서 코드를 릴리스하거나 전혀 릴리스하지 않는 것입니다.
    인식 지점을 지나서 수정하고 용어를 준수하지 않는 경우 해당 용어를 사용하지 않을 것입니다 (즉, 고소되지 않을 것입니다). 사용권을 위반하거나 올바르게 사용하지 마십시오.

  4. GPL없이 'GPL 코드'를 사용하려면 다른 라이센스로 코드를 얻어 더 이상 'GPL 코드'(Cafu 지불)를받지 않아야합니다. GPL을 벗어날 수있는 방법은 없습니다. 발명가들에 의해 바이러스 라이센스가되도록 특별히 고안되었으며 가능한 경우 목적이 무효화됩니다.

즉, 프로그램에서 GPL 코드를 사용하려면 응용 프로그램이 사용하는 독립 실행 형 엔터티를 만들 수 있습니다 (동적 연결이 이것을 충족시킬 수 있는지 여부는 논쟁의 여지가 있지만 일반적으로 결과가 단일 프로그램 일 때 GPL이 호출되는 것으로 인정됩니다) ). 예를 들어 GPL 코드를 사용하여 새 프로젝트를 생성하고 GPL 및 소스 코드와 함께 (독점) 응용 프로그램으로 릴리스 할 수 있습니다. 그러나 응용 프로그램은 CLI 또는 RPC를 통해 통신하므로 GPL이 없어도됩니다.

오늘날 많은 개발자들이 LGPL을 채택 하여 GPL을 대상 프로젝트로 전송하지 않고도 대부분의 양식으로 연결할 수 있습니다 . 그러나 라이브러리 자체를 수정하는 경우 여전히 라이브러리 코드를 제공해야합니다.

포인트 2에 이어 라이센스에 관계없이 오픈 소스 코드에 대한 개선 사항을 게시하는 것이 예의 바른 것으로 간주됩니다.


9
프로젝트에서 한 줄의 GPL 코드를 사용하는 경우 프로젝트는 이제 GPL 라이센스에 따릅니다. 아니요. GPL 코드 라인을 사용하는 경우 프로젝트에서 GPL 라이센스를 위반하여 해당 라인을 작성한 사람이 귀하를 고소 할 수 있습니다. 가능한 한 가지 해결 방법은 GPL 하에서 프로젝트를 해제하는 것이지만 자동으로 발생하지는 않습니다.
TRiG

3
(여전히 GPL에 추가하여 덜 제한적인 라이센스 하에서 판매하거나 릴리스하는 것을 막을 수는 없습니다 ...) 그렇습니다. GPL 하에서 코드를 공개하면 다른 사람이 와서 동일한 코드를 공개 도메인에 넣을 수 없습니다. 나는 여전히 그 코드를 소유하고있다. GPL의 조건에 따라 다른 사람에게만 제공했습니다.
Evan Harper

4
사소한 부정확 함에도 불구하고, +1은 가장 명백하고, 가장 쉽고, 가장 빠르고, 가장 접근하기 쉬운 솔루션을 언급하기 때문에 : GPL없이 'GPL'코드를 사용하려면 다른 라이센스로 받아야합니다 . 저작권 보유자에게 연락하여 다른 라이센스를 협상하십시오. 이것은 분명히 다른 라이센스에서도 작동합니다.
Martin Sojka

11
이 답변하고, 모든 댓글은 하나 개의 중요한 조건을 그리워 : GPL 조건에 적용 유통 되지, 사용 . 내부 툴링 (배포하지 않은)에 수천 줄의 GPL 코드를 사용하는 경우에도 여전히 GPL 조건에 구속되지 않습니다.
MSalters

1
"당신은 아마 그것을 멀리 갈 것이다". 흠, 나는이 답변에서 얻는 따뜻하고 퍼지 느낌을 좋아합니다.
Trevor Boyd Smith

64

개발자에게 상용 라이센스 비용을 지불하여 GPL을 피할 수 있습니다.


27
하나, 나는 명백한 선장은 어떻게 든 :) stackexchange에 등록되지 않은 생각
teodron

1
+1이지만 더 정확하지만 GPL없이 코드를 사용할 수있는 권한을 확보합니다. 반드시 지불해야한다는 것을 의미하지는 않습니다 (종종 비용이 많이 듭니다).
Kylotan

실제로, 지구상의 각 GPL 라이센스에 대해 항상 상업적 대안이있을 것입니다. 해당 코드 소유자의 전략이 무엇인지에 달려 있습니다.
user827992

4
"개발자에게 상업용 라이센스에 대한 비용을 지불하여 GPL을 피함으로써 많은 사람들이 수년간 노력한 결과에 대한 보상으로 만들려는 충분한 돈을 개발자에게 제공함으로써 GPL을 피할 수 있습니다."
DJClayworth 1

1
거의 "GPL이없는 코드 (MIT와 같은 코드)에 대해 개발자에게 비용을 지불함으로써 GPL을 피할 수 있습니다."
조나단 디킨슨

10

기본적으로 "다른 사람의 코드를 어떻게 훔치나요?" 누군가의 저작권이있는 코드를 사용하려면 라이센스를 얻어야합니다. 코드를 사용할 수있는 유일한 라이센스가 GPL 인 경우 해당 라이센스를 준수하거나 해당 저작권을 위반하는 것입니다. 그들이 당신에게 그들의 코드에 대한 다른 라이센스를 줄 수 있다면 괜찮지 만 GPL을 피할 수는 없습니다 .


3
-1. 그들은 완전히 다른 라이센스를 부여하기 때문에 GPL을 피하십시오. 그들이 요구하는 단계를 거치면 (예 : 돈을 지불하는 경우) 코드를 훔치지 않습니다.
Jonathan Dickinson

5
아니요.이 경우 코드 사용은 GPL과 전혀 관련이 없습니다. 탈출은 무언가에 갇혀 있음을 의미합니다.
Jason Goemaat

@JonathanDickinson 여기에서 그의 요점은 OP가 라이센스 비용을 지불하고 싶지 않다는 것입니다. 그는 GPL 제한없이 무료로 받기를 원합니다.
Paul

이것은 (도둑질 대신) 적대감에 끌리게했다. "그러나 GPL과 관련이 있다는 사실조차도 나를 두려워한다." 그것은 코드 위에 매달려있는 GPL 배너에 대한 두려움과 비슷합니다.
Jonathan Dickinson

2
@홍옥. OP는 zie가 라이센스에 대해 아무것도 모른다고 말했기 때문에 GPL에 대한 두려움이 "잘 확립되지 않았다"고 생각합니다.
TRiG

8

실제로 GPL을 피해야합니까? 모든 GPL은 GPL에 따라 자신의 소스 코드를 공개하기 만하면됩니다. 게임 레벨, 미술 자산 등에 적용되지 않습니다. 게임을 판매하고 원하는 경우 GPL을 통해 구매하거나 다른 사람들이 온라인으로 사용할 수 있도록 코드를 제공 할 수 있습니다.

유일한 문제는 타사 비 GPL 라이브러리를 사용하려는 경우 GPL 엔진과 함께 배포 할 수 없기 때문입니다.

GPL을 탈출해야하는 경우, 라이센스 페이지 에서 계약을 체결 할 수있을 정도로 유연하게 보입니다 .


나는 대부분의 사람들이 엔진을 사용할 때 그다지 많은 부가 가치를 추가하지 않기 때문에이 대답에 동의합니다. 실제로 가치가있는 다른 자산입니다.
Paul

5

GPL이 실제로 무엇을 의미하는지에 대한 많은 오해가 있습니다. 귀하의 질문에서 하나를 감지하고 있습니다.

엔진으로 만드는 모든 것은 GPL 하에서 이루어집니다

실제로는 그렇지 않습니다. 엔진 소스는 확실히 GPL 아래에 있지만 GPL FAQ, 특히 GPL 프로그램의 출력과 관련된 부분을 읽어야합니다 .http : // www. gnu.org/licenses/gpl-faq.html#GPLOutput

사람들이 내 프로그램을 사용하여 얻은 결과를 GPL 할 수있는 방법이 있습니까? 예를 들어, 내 프로그램을 사용하여 하드웨어 설계를 개발하는 경우 이러한 설계가 무료 여야합니까?

일반적으로 이것은 법적으로 불가능합니다. 저작권법은 사람들이 귀하의 프로그램을 사용하여 자신의 데이터를 사용하여 얻은 결과를 사용한다고 말하지 않습니다. 사용자가 프로그램을 사용하여 자신의 데이터를 입력하거나 변환하는 경우 출력물에 대한 저작권은 귀하가 아닌 그에게 귀속됩니다. 보다 일반적으로, 프로그램이 입력을 다른 형식으로 변환하면 출력의 저작권 상태는 생성 된 입력의 저작권 상태를 상속합니다.

따라서 출력을 사용할 때 말할 수있는 유일한 방법은 출력의 상당 부분이 프로그램의 텍스트에서 (약간) 복사되는 것입니다. 예를 들어, Bison의 출력 중 일부 (위 참조)는 GNU GPL에 의해 다루어 질 것입니다.

기술적 인 이유가 없더라도 프로그램이 특정 텍스트를 출력물에 인위적으로 복사 할 수 있습니다. 그러나 복사 된 텍스트가 실용적이지 않으면 사용자는 출력에서 ​​해당 텍스트를 삭제하고 나머지 만 사용할 수 있습니다. 그런 다음 그는 복사 된 텍스트의 재배포 조건을 준수 할 필요가 없었습니다.

이것은 당신의 상황을 상당히 변화시킵니다. 실제로이 엔진을 위해 또는이 엔진으로 개발 한 컨텐츠도 GPL에 해당하는 위치에 있지 않습니다. 해당 컨텐츠는 귀하의 소유이며 귀하는 그에 대한 저작권을 보유하며 원하는대로 라이센스를 부여 할 수 있습니다.

IANAL 등


2
특정 엔진에 대해서는 아무것도 모르지만 위의 내용은 엔진이 게임 디자인을 가져 와서 독립형 게임을 생성하는 경우에만 해당됩니다. 엔진 자체 또는 엔진의 일부가 게임과 함께 배포되거나 게임 코드에 연결되면 GPL이 전체에 적용됩니다.
rjmunro

엔진이 GPL 일 수는 있지만 게임 콘텐츠는 그렇지 않을 수 있다고 생각합니다. 게임 컨텐츠는 코드가 아니며 코드와 같은 방식으로 엔진에 "연결"되지 않습니다. 맵, 텍스처, 모델 등은 이런 식으로 엔진에 연결되지 않습니다. 불행히도 GPL FAQ는 명확하지 않습니다 (GPL 사용을 피하려는 유효한 이유입니다).
Maximus Minimus

이 답변에서는 일부 GPL 도구로 제작 된 콘텐츠에서 발생하는 일에 대해 자세히 설명합니다. GPL 텍스트 편집기로 작성된 문서처럼 GPL이 될 수 없습니다. 그러나 이것은 게임 엔진으로 번역 될 수 없습니다. 게임 엔진은 코드를 사용하지 않고 엔진과 관련이없는 독립형 게임을 생성합니다. 게임에 모든 엔진을 포함시킵니다.
Matsemann

4

개인, 사람 그룹 또는 코드를 소유 한 활동 만 자체 라이센스를 변경할 수 있습니다.

해당 코드가 본인의 코드 인 경우 원하는 때마다 라이센스를 변경하고, 지불 여부를 결정하고, 원하는 것을 할 수 있지만, 코드가 귀하의 코드가 아닌 경우 문제를 피하려면 라이센스를 고수해야합니다. 큰 문제.

소유자는 또한 지불을 거부 할 수 있습니다. 특허와 같은 상황입니다. 코드를 소유하고 있음을 증명할 수 있다고해서 돈을 위해 시장에 코드를 올리는 것을 의미하지는 않습니다. 특허 나 라이센스가 시장이나 사용자가 제한된 공간에 머물도록 강요하는 경우가 있습니다.

정답은 아니요이며 라이센스를 변경하는 유일한 방법은 소유자가 그렇게하기를 희망하는 것입니다.


일반적인 답변으로 꽤 좋지만이 경우 다른 라이센스로 코드 사본에 대한 지불을 수락하는 것이 좋습니다. +1 (또한 ​​일반적인 답변을 제공합니다 :)).
Jonathan Dickinson

4

아이디어는 간단합니다. 회사가 코드를 작성한 경우 모든 권리를 보유하므로 GPL 라이센스를 가진 일부 당사자, 상업용 라이센스를 가진 다른 당사자 및 다른 사람에게 선물로 줄 수 있습니다. 임대 또는 원하는 것.

그들이 GPL 하에서 일부 당사자에게 코드를 제공했다는 사실은 해당 당사자에게 GPL 제한을 두지 만 코드 소유자 에게는 제한을 둘 수 없습니다 .

코드 소유자가 소프트웨어에서 타사 GPL 코드를 사용하고 다른 사람이 작성하고 소유 한 경우 전체 프로젝트가 GPL에 영구적으로 고정됩니다 (또는이 타사 GPL 코드를 제거하거나 이에 대한 GPL 라이센스). GPL이없는 100 % 상용 엔진의 경우도 마찬가지입니다. 일부 GPL 코드가 포함 된 경우 GPL을 위반하고 상용 라이센스를 판매 할 권리가 없으며 귀하는 그러한 라이센스를 구입할 권리가 없습니다.

따라서 "Cafu Engine"의 모든 코드가 Cafu 직원이 작성한 경우 GPL에 문제가 없습니다. 당신이 카푸에서 상용 라이센스를 얻을 경우, GPL 라이센스는 적용되지 않습니다 당신이 전혀.


이 답변은 원래 포스터가 Cafu 직원의 일부이고 코드를 소유하고 있다고 가정하는 것을 제외하고는 모두 훌륭합니다.
Kylotan

나는 않았다 없는 것을 가정한다. 무슨 생각을했는지 궁금합니다.
Sandman4

마지막 단락은 "Cafu staff"와 "You"를 동일시하기 때문에 거의 말합니다.
Kylotan

@Kylotan 좀 더 명확하게하기 위해 마지막 단락을 편집했습니다. 그래도 제대로 말을 할 수는 없습니다.
Sandman4

이것은 가장 좋은 답변입니다. 마지막 단락을 편집했지만이 사이트에 편집 권한이 없으므로 승인을 기다려야합니다.
rjmunro

2

GPL이나 (실제적으로) 다른 라이센스를 "탈출"하는 한 가지 방법이 있습니다. 클린 룸을 구현하십시오.

두 그룹의 사람들을 고용하십시오. 첫 번째 그룹의 임무는 원본 자료를 자세히 연구하고 설명하는 것입니다. 원본 자료를 절대 보지 못하는 두 번째 그룹은 설명을 기반으로 새로운 구현을 작성합니다.

이것이 원래 PC 클론의 BIOS가 생성 된 방식입니다. BIOS는 IBM이 다른 사람들이 복사하지 못하게하는 유일한 비트였습니다.

그렇다고해서 소송으로부터 안전하다는 의미는 아닙니다. 특허와 "모양과 느낌"쓰레기가 여전히 남아 있으며 적어도 미국에서는 누구나 특별한 이유없이 누군가를 고소 할 수 있습니다. .)


1

Quake 엔진에 관한 질문과 관련하여 : 코드는 GPL 및 기타 라이센스로 배포 할 수 있습니다. iD에 돈을 지불함으로써 Valve 라이센스 Quake. 나중에 전 세계의 모든 사람에게 Quake 소스 코드를 사용할 수있는 GPL 라이센스 (sic)가 부여되었습니다. iD GPL이 엔진을 GPL 할 때 다른 라이센스를 소급하여 GPL로 변환하지 않았습니다. 그것은 불가능할 것입니다. 사실, iD는 원한다면 저작권이있는 다른 라이센스로 Quake 엔진을 라이센스 할 수 있습니다.

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