직장에서 GPL?


12

한때 컨설팅 회사에서 인터뷰를 통해 오픈 소스 제품을 사용한다는 대화를 나 came습니다 (위대한, Hibernate, JBoss 등을 광범위하게 사용했습니다). 그들은 클라이언트를위한 애플리케이션을 작성할 때 GPL 라이센스 OSS를 사용했으며, "고객이 원하는 것을 얻고 행복하게하는 한 항상 그렇다"고 말했다. 지금은 변호사 나 큰 라이센스 버프가 아니지만 GPL 코드 (포함하는 라이브러리라고 가정)를 사용하면 동일한 라이센스로 전체 응용 프로그램을 릴리스해야한다는 인상을 받았습니다. 내가 이것을 지적했을 때, 나는 "음, 우리는 클라이언트가 우리가 끝났을 때 모든 소스 코드를 제공하기 때문에 문제가되지 않는다"는 빠른 응답을 받았다.

더 이상 문제를 누르지 않기를 원합니다 (인터뷰는 그런 논쟁의 장소가 아닙니다). 그러나 그것은 여전히 ​​그 사업의 특정 관행에 대해 나에게 관심이 있습니다. GPL 라이센스 코드에 대한 공식적인 단어는 무엇이며 어떻게 "공개"해야합니까? "내 회사가이 라이브러리를 사용 했으므로 쇼핑 및 주문 이행 시스템 응용 프로그램을 다운로드하여 수백만 달러를 투자 할 수있는 사이트가 있습니다"라고 게시해야합니까? 이 상황에서 회사는 고객 모르게 GPL 코드를 사용할 권리가 있습니까? "그들에게 소스를 제공"하는 것만으로 충분합니까?

답변:


15

표준 면책 조항이 적용됩니다. 저는 변호사가 아니며 귀하도 아닙니다.

GPL의 핵심은 소스를 얻고 사용하기 위해 프로그램을 이용하는 사람들의 권리를 보호하는 것입니다. 그것은 하지 않습니다 당신이 사용하는 단지 것을, 코드를 GPL'd 것을 쓰기 모든 프로그램의 소스 게시 할 것을 의무화 당신이 게시하는 경우 이러한 프로그램을 당신은 또한 소스를 제공해야합니다.

개인적으로 사용할 수있는 앱을 얼마든지 작성하고 GPL 코드를 가져 와서이 소스를 누구에게도 제공 할 수는 없습니다. 회사에서 내부 용으로 이러한 앱을 작성할 수 있으며 프로그램을 사용하는 회사 내 직원에게만 소스를 제공하면됩니다 (실제로 말하면, 요청해야 할 이유가 있다면 어쨌든이 작업을 수행해야합니다). 다른 엔티티를 위해 이러한 프로그램을 작성 하는 경우 코드 를 제공 하면 되고 (프로그램이 GPL 라이센스가 있음을 분명히해야합니다.) 배포 계속할 경우 소스를 제공해야합니다. 그러나 나는 그림에서 벗어났다.

따라서 컨설팅 회사가 걱정할 수있는 유일한 것은 그들이 제공 한 코드가 고객에게 라이센스에 대해 알리지 못하는 것입니다. 사실, 나는 그들이 클라이언트와 다른 라이센스를 협상했다면 (클라이언트는 코드에 대한 모든 권리를 소유하고 있습니다 ...) 그들은 그 이상으로 뜨거운 물에 빠질 수 있습니다 ... 그러나 이것은 모든 타사 코드에 해당됩니다 : 그것은 공공 도메인이 아니라면, 당신은 해야한다 라이센스를 준수하고, 그 권리는 저작권자하여 부여되지 않는 한 그것을 라이센스 다시는 안됩니다.


1
당신은 맞습니다. AGPL은 더 엄격합니다

@Pierre : 서버 앱을 고수함으로써 사용자에게 소스를 제공 할 수 없다는 점에서 맞습니다.
Shog9

1
흥미 롭군 따라서 표준 GPL에서 SaaS 앱을 작성하는 경우 기술적으로 애플리케이션 자체를 "배포"하지 않기 때문에 소스를 제공 할 필요가 없습니까?
Ryan Hayes

2
@Ryan : 그렇습니다. 글쎄, 당신은 그것을 사용자 에게 제공 할 필요가 없습니다 . 컴파일 된 코드를 얻는 사람은 여전히 ​​소스를 얻습니다.
Shog9

7

컨설턴트로서 고객과 함께 라이센스 문제를 제기하여 정보에 입각 한 선택을 할 수 있도록합니다. 문제에 적용 할 최고의 기술이 GPL하에 있지만 라이센스를 준수 할 수없는 경우 사용할 수 없습니다. 실제로 이것은 두 가지 영향을 미쳤습니다.

첫째, 많은 사람들이이 문제를 피하기 위해 상업용 제품에 대한 비용을 지불하게되어 기쁩니다. 이는 GPL을 준수하려면 완전한 하드웨어 설계를 효과적으로 게시하고 최종 사용자가 제품을 변경할 수 있도록하는 GPL의 정신을 충족시키기 위해 모든 것이 어떻게 작동하는지 문서화해야하는 임베디드 시스템 세계에서 특히 흔합니다. . 공개 된 제품을 만들 수는 있지만 회사의 모든 수준에서 많은 노력이 필요합니다. 더 큰 문제는 설계의 많은 구성 요소가 NDA 하의 제조업체에 의해 문서화되어 있으며 NDA 하에서 릴리스 된 설명서를 사용하는 GPL 호환 코드를 만드는 것은 사실상 불가능하다는 것입니다.

둘째, 우리는 이제 모든 개정판에서 GPL보다 MIT 라이센스와 많은 친척 (상업용 사용이 허용됨)을 선호합니다. 관련 제품 커뮤니티에 대한 버그 수정 및 개선 사항을 발표하는 데 고객의 입장이 없었습니다. 라이센스는 허용되므로 NDA 의무를 준수하고 고객을 만족 시키며 관련 커뮤니티에 기여할 수 있습니다.


2

오픈 소스가 반드시 자유를 의미하는 것은 아닙니다.

IANAL도 있지만 일반적으로 GPL의 요구 사항은 프로젝트의 소스 코드를 제공하는 것입니다. 확실히 다른 사람에게 제품을 판매 할 수 있습니다. 그러나 나는 그들이 당신이 그것을 포기하는 것을 막을 수는 없다고 생각합니다. 그것은 아마도 맥주 에서처럼 대부분의 GPL 소프트웨어를 무료로 만드는 것입니다. GPL이기 때문에 코드를 월드 + 개에 게시 할 필요가 없다고 확신합니다.

GPL의 서문에서 v3까지 (내 자신을 강조) :

대부분의 소프트웨어 및 기타 실제 저작물에 대한 라이센스는 저작물을 자유롭게 공유하고 변경할 수 있도록 설계되었습니다. 이와 반대로 GNU General Public License는 모든 버전의 프로그램을 자유롭게 공유하고 변경하여 모든 사용자에게 무료 소프트웨어로 유지되도록합니다. 자유 소프트웨어 재단은 대부분의 소프트웨어에 GNU General Public License를 사용합니다. 또한 저자가이 방법으로 발표 한 다른 저작물에도 적용됩니다. 프로그램에도 적용 할 수 있습니다.

우리가 자유 소프트웨어에 관해 말할 때, 우리는 가격이 아니라 자유를 말합니다. 당사의 일반 공중 사용 허가서는 자유 소프트웨어 사본을 자유롭게 배포하고 (원하는 경우 비용을 청구 할 수 있음) 소스 코드를 받거나 원하는 경우 소프트웨어를 변경할 수 있도록하기 위해 고안되었습니다. 또는 새로운 무료 프로그램에서이 프로그램을 사용하면 이러한 일을 할 수 있다는 것을 알고 있습니다.

( 소스 )

이 상황에서 회사는 고객 모르게 GPL 코드를 사용할 권리가 있습니까? "그들에게 소스를 제공"하는 것만으로 충분합니까?

이것은 약간 다른 질문입니다. 고객이 약간의 기대를 가지고 있고 그 기대가 계약에서 지시되면 회사에 문제가있을 수 있습니다. 그렇지 않으면 작업을 수행하는 최선의 방법을 결정하는 것은 그들에게 달려 있습니다. 그러나 라이센스에 관한 소스 코드에 통지를 포함시켜야합니다. 다른 방법으로 고객에게 공개해야하는지 잘 모르겠습니다.


2
GPL은 소스를 적극적으로 게시 할 것을 요구하지 않지만, 프로그램이 GPL이고 요청에 따라 소스를 제공해야한다는 사실을 사용자에게 게시 할 것을 요구합니다 (공평하고 합리적인 처리 비용이 부과 될 수 있음). 실제로 후자의 요구 사항은 종종 요청시 제공 될 수있는 URL에서 tarball 또는 zip으로 처리됩니다. 컨설턴트로서 귀하는 GPL 하에서 출판사가되기 때문에 다른 사람에게 귀하의 작업을 배포 할 경우 고객에게 자신의 부담이 무엇인지 알릴 의무가 있습니다.
RBerteig

@RBerteig 설명해 주셔서 감사합니다. 라이센스 조건을 파헤친 지 오래되었습니다.
George Marian

"당신은 확실히 다른 사람에게 제품을 판매 할 수 있습니다. 그러나, 나는 당신이 그들이 그것을 포기하는 것을 막을 수 없다고 생각합니다." GPL에 따라 콘텐츠를 제공하는지 또는 원래 저작권 보유자인지 다른 라이선스에 따라 다시 라이센스를 부여했는지에 따라 다릅니다.
endolith

-5

아니요, 맞습니다. 이유는 다음과 같습니다.

GPL에 응용 프로그램이 있는지 고려하십시오. 이제 독점 코드로는 사용할 수 없습니다.

GPL을 사용하는 소스 코드를 여는 것만으로 충분하다면,이를 기반으로하는 프로젝트를 BSD로 열 수 있습니다.

그러면 독점 소프트웨어가 GPL 제품을 사용할 수 있습니다.


4
이것은 말이되지 않습니다. GPL은 독점 코드를 사용할 수 없다고 명시하지 않습니다. C 씨의 답변이 명확하게 설명되어 있으므로 GPL은 배포에 관한 것입니다. 즉 , 호환되는 라이센스 하에서 해당 소프트웨어의 소스 코드를 배포하지 않는 한 GPL 코드를 사용하는 소프트웨어 를 배포 할 수 없습니다 .
dash-tom-bang

1
독점 코드는 GPL 코드를 사용할 수 없습니다. 라이센스가 존재하는 이유의 일부입니다.
대안

"독점 코드"의 의미에 따라 다릅니다. "귀하의 코드"를 의미하는 경우 이는 의미가 없습니다. GPL은 저작권을 제거 할 수 없습니다. 따라서 자신의 의지의 FSF에 저작권을 할당하지 않으면 귀하가 작성한 코드 여전히 소유하게 됩니다. OTOH, "GPL과 호환되지 않는 라이센스하에 배포하려는 코드"를 의미하는 경우 정확합니다. 빌드중인 소스를 확보하여 사용할 수있는 것처럼 사용자에게이 권한을 부여해야합니다. 당신의 소스에. 다시 말하지만, 그것은 배포에 관한 것입니다-귀하의 프로그램을 얻을 수없는 사람은 귀하의 코드에 대한 권리가 없습니다.
Shog9

@씨. 독점 코드로 C는 GPL과 호환되지 않는 코드를 의미합니다. 그리고 코드 고객에게 배포되므로 ... 그래, 난 변호사가 아니기 때문에 내가 틀렸을 수도있다.
대안

2
-1, 오해의 소지가있는 답변. "사용"및 "독점"에 대한 일부 정의의 경우에만 해당됩니다. 예를 들어 임베디드 Linux 제품을 만들고 커널 코드에 직접 연결되는 Linux 커널 및 코드 만 릴리스 할 수 있지만 GPL 커널에서 실행되는 UI 나 다른 앱은 사용할 수 없습니다. 많은 관계가 존재합니다. 이 "독점적"사용에 대한 모호성은 이미 다루고 있습니다. 또한 대부분의 관할권에서 개발자를 고용하여 코드를 작성하는 당사자에게만 제공되는 "고용 작업"은 배포와 동일하지 않습니다. IANAL 등
HedgeMage
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.