비 리눅스 기반 제품의 GPL 공개
글쓴이: titimoblue / 작성시간: 화, 2009/12/29 - 6:10오후
오픈소스와 GPL의 공개원칙을 조금씩 배워가고 있는 초보자입니다.
리눅스 기반으로 개발된 SW에 대해서 GPL을 사용하였다면 공개원칙에 따라 파생물까지 공개하는 내용으로 이해했습니다.
그런데 궁금한 점은, 비 리눅스기반으로 개발되었거나 OS가 없이 개발된 제품의 경우에 GPL 코드 일부를 사용하였다면,
이것 또한 GPL로 전체 공개가 되어야 하나요?
OS가 없는 환경이므로,독립된 실행모듈의 형태로 plug-in 으로 분리될 수 없는 경우라서 무조건 전체 공개되는게 맞는지
잘 판단이 안서네요.
가령 OS-less 개발환경의 A라는 음향제품에서 B라는 GPL 일부을 수정하여 사용하고 있고,
A는 Dolby SW 또한 구매하여 사용하고 있다고 가정해봅니다. (물론 static linking 방식입니다.)
1. 이런경우 A의 전체소스 코드 공개(B를 포함하여)가 맞는지요?
2. 전체 공개가 맞다면 Dolby의 코드공개는 어떻게 처리해야 하나요?
라이센스를 구매하였으므로 공개하지 않아도 상관이 없는건지 아니면 Dolby의 code도 확보해서 공개해야 하는건가요? (요건 좀 불가능한것 같은데..)
아,,복잡하네요. 아시는 분들의 고귀한 답변을 부탁합니다.
Forums:
리눅스가 우연히(?)
리눅스가 우연히(?) GPL을 따르는것 뿐이지, 리눅스 기반인지 아닌지에 따라 상황이 달라지는건 아닙니다.
A의 라이선스를 구매했다고 해서 B의 GPL에 영향을 주는 것도 아니구요.
만약 소스 공개가 불가능하다면, A와 B를 동시에 사용할 방법이 없을 겁니다.
별로 정확하진 않습니다만 답변이 없기에 일단 달아봅니다.
답변 감사합니다.
GPL 사용에 더욱더 신중해야 겠다는 생각이 듭니다.
감사합니다.
GPL은 운영 체제나
GPL은 운영 체제나 실행 환경하고 아무런 관계가 없습니다.
어떤 상황에서도 GPL 기반 코드를 가져다 쓰면 나머지 부분도 GPL로 공개해야 합니다.
---8< 서명 -----------------
애니메이션 감상 기록 http://animeta.net/
답변 감사합니다.
저는 리눅스 기반의 개발환경에 한정된것으로 오해하고 있었네요.
답글 감사합니다.
GPL은 리눅스용이 아닙니다.
GNU/Linux가 GNU 운영체제 프로젝트의 대표 주자이기는 하나 GNU의 전부는 아닙니다.
GNU 프로젝트의 골치거리(?)인 GNU/Hurd같은 프로젝트도 있기 때문입니다.
(원래 FSF는 Hurd를 간판으로 밀고 싶었으나, 워낙 개발이 더디고 결과가 나오지 않기에 Linux가 대표가 되었습니다.)
GPL은 그것이 Linux용이건, Windows용이건, MacOS용이건, 심지어 정체를 알 수 없는 운영체제용이건 상관이 없습니다.
'남의 GPL 코드를 빌려 썼으면 내것도 GPL로 공개하라'는 너무나 단순한 원칙이 있을 뿐입니다. 여기에 운영체제가 끼어들 자리는 없습니다.
=================================
이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트
홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net
=================================
이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트
홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net
답변감사합니다.
운영체제와 상관없이 GPL 공개규정에 따라야 하는군요.
잣대가 너무 엄하다는 느낌이 드네요..
잣대가 엄한 것이 아닙니다
GPL이라는 것을 상용 소프트웨어의 EULA와 같은 것으로 이해하려 하기 때문에 엄하다 느낄 뿐입니다.
GPL은 철저히 오픈 소스와 자유 소프트웨어를 위해 존재하는 것입니다. 여기에 반하는 존재를 위해 일할 이유가 없습니다.
GPL의 개념을 이해하고 싶지 않다면 GPL이 적용된 소스를 쓰지 않으면 그만입니다. 어려울 것이 없습니다.
탐욕에 눈이 멀어 GPL의 단 맛은 다 보면서 의무는 단 하나도 이행하고 싶지 않은 마음만 없다면 말입니다.
GPL은 꽤 길고 어려워 보이지만 원칙은 꽤 단순합니다.
- 바이너리 이용에 대해 제한을 걸지 말라(한 PC에만 설치하라, 회사에서는 쓰지 말라 등)
- 프로그램 판매에 대해 시비를 걸지 않는다. 단, 팔더라도 소스는 무조건 줘야 한다.
- 그냥 무료로 쓸 수 있게 하더라도 소스는 공개해야 한다. 단, 소스를 넘겨주는 방식에 돈이 드는 경우 그 돈은 받아도 된다.
(CD/DVD 형식으로 소스를 받아보고자 요청할 때 그 비용은 받아도 됨을 의미합니다.)
- GPL 소스를 이용한 것이라면 수정해 만든 바이너리와 소스 역시 GPL을 반드시 적용해야 한다.
- GPL을 적용한 소스로 다른 이가 뭔짓을 하더라도 GPL을 제대로 따르고 있다면 시비를 걸지 말아야 한다.
(소스는 주되 이걸로 다른걸 만들지 말라는 제한을 걸 수 없다는 뜻입니다.)
이 원칙에 동의할 수 있다면 GPL을 가져다 쓰고, 자신의 것도 GPL로 공개하면 됩니다. 이런 식으로 여러 사람들이 소스에 손을 대
프로그램을 더욱 발전시킬 수 있습니다. 이것이 GPL의 이념입니다. '네 것은 내 것, 내 것은 내 것'이라는 놀부 심보만 없으면 됩니다.
=================================
이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트
홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net
=================================
이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트
홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net
원칙중에 한가지
원칙중에 한가지 이해가 안가는 부분이 있는데요.
- 그냥 무료로 쓸 수 있게 하더라도 소스는 공개해야 한다. 단, 소스를 넘겨주는 방식에 돈이 드는 경우 그 돈은 받아도 된다.
gpl를 사용해서 물건을 만들어 놓고
판매하고 사용자가 소스를 요구할때 단서를 달아서
소스공개는 가능하다 대신 비용을 어마어마하게 부담시켜서 피해가는 그런방법이 있을거같은데요?
맞나요??
인생은 도박이다.
그 뜻이 아닙니다.
미디어를 이용한 물리적인 배포를 할 때 '실비' 정도는 받을 수 있다는 뜻입니다.
인터넷 등 네트워크 자원을 이용한 소스의 배포에는 비용을 청구해서는 안됩니다.
원래 소스와 바이너리는 함께 배포를 원칙으로 하나(그와 함께 영문 버전 GPL 원문을 포함해야 합니다), 소스를 웹 사이트에 올려놓고
그 다운로드 주소를 알려주는 형식으로 소스를 받을 수 있게 해놓으면 그 역시 소스를 공개한 것으로 봅니다.
즉, 이 경우 구매 고객은 원 제작자에게 두 가지 반응 가운데 하나를 보여주면 됩니다.
- 어떤 식으로든 소스를 받으려면 엄청난 돈을 내라: GPL 위반이니 닥치고 소스 내놔~
- CD를 받으려면 엄청난 돈을 내라: CD는 필요 없으니 소스 다운로드 링크나 알려주셈. 아니면 메일로 보내주거나. 돈은 10원 한푼 못줘~
=================================
이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트
홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net
=================================
이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트
홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net
실비가 아니라 엄청나게 비싸게 받아도 상관은 없습니다.
물론 받을 수 있다면요.
이를테면, 갑이 을에게 소프트웨어 하청을 줍니다.
단 그 소프트웨어의 라이센스는 GPL입니다.
이 경우라면, 비용을 실비 수준이 아니라 실질적인 개발비 수준에서 요구할 수 있습니다.
우리가 일반적인 패키지 소프트웨어 수준에서 GPL을 생각하기 때문에
자꾸만 제한적인 면만 보게 되는데, SI로 확장해서 생각하면,
GPL은 엄청나게 유연하고 자연스로운 라이센스입니다.
(실제로 SI개발시 GPL소스를 묶어서 커스터마이즈해서 납품하는 경우가 많죠
설사 GPL이 아니더라도 실제 SI업계에서 을이 갑에서 소스까지 납품하는 경우는 매우 흔하죠)
바이너리를 제공할 때 소스도 함께 제공해야 한다라는 조건이 매우 이상하게 느껴지지만,
실제 소프트웨어 시장에서는 이러한 식의 계약으로 판매되는 소프트웨어의 점유율이 더 많습니다.
B2B시장이 사실 B2C시장보다 훨씬 크기 때문이죠.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
전 이 말씀이 이해가 안가는데요?
갑이 을에게 SI로 원청업체에 납품할때 개발비 요구와, 차후 다른 사용자가 원청업체에게 소스를 요구하는건 다른 상황인 것 같습니다.
일단 을이 갑에게 GPL로 납품을 하면, 그걸로 제품 전체가 넘어간 것이므로 제3자가 요구시 배포의 의무는 없는것 같습니다.
하지만 갑이 GPL 라이선스 상의 제품을 이용하고 시장에 판다면 해당 소스를 실비수준으로 제공해야 하지 않나요?
건외로, 일단 갑에 들어가는 순간 갑의 소스까지 GPL을 준수해야 하지 않나요? 만약 을이 갑에게 라이브러리를 납품했다면요.
갑을병을 고려해 보면 됩니다.
이 경우 갑이 을에게 하청을 주고 병에게 재 하청을 줍니다.
모든 소프트웨어의 라이센스는 GPL입니다.
이 경우 병이 을에게 지불한 비용이상으로 갑에게 요구할 수 있습니다.
그런데 왜 실비얘기가 나오냐 하면, 그것은
이게 불특정 다수에게 배포하게 될 경우
시장경쟁의 논리에 의해 자연스럽게 가격이 떨어지기 때문입니다.
A가 B에게 1000만원을 받고 팔면,
A가 C에게 1000만원을 받을 수 있는 확률은 떨어지게 됩니다.
왜냐 하면 새로운 경쟁자 B가 있기 때문이죠.
따라서 바이너리 배포 대상이 많아지면 많아질 수록
가격이 떨어질 수 밖에 없을 뿐이지,
GPL에서 가격 자체를 제한할 필요가 없습니다.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
아 맞다...
바이너리를 제공했을 때,
소스 제공비용을 실비 수준으로 하라는 얘기는 있습니다.
중요한 것은 바이너리를 제공할 때는 어떠한 가격이던 상관없습니다.
이 둘의 차이가 있지요.
깜빡하고 있었습니다.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
그런거죠.^^
위에 제가 적은 기준은 GPL2 기준입니다만(GPL3는 저도 자세히는 안봤습니다.), 소스 제공에 대해서
물리적 미디어 제공 시 '실비'를 받을 수 있다는 내용이 있습니다. 바이너리의 상용 판매에 대해서는 전혀 제한이
없는 것은 이미 너무 잘 알고 계실 것으로 믿기에 순간적으로 혼동하신 것이 아닐까 합니다. 지리스님이 이런 것을
잘못 알고 계실 것으로 믿지는 않습니다.^^
어차피 중요한 것은 '소스 값'을 따로 받아서는 안된다는 원칙입니다. 미디어 값과 배송 비용은 소스 값이 아니니까요.
소스 값을 따로 받을 수 있게 해버리고 그 비용에 제한을 걸지도 않으면 그건 GPL이 아니게 되어 버리니까요.
=================================
이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트
홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net
=================================
이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트
홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net
아..네 유명한
아..네
유명한 라이센스 제가 질문드린 구멍이 없을거 같은데
이해가 가는군요
감사합니다.
인생은 도박이다.
진짜 엄한 것들 중에 하나는...
특허에 묶여있어서 알아도 구현하면 안되는 것들입니다.
예를들면 아이폰의 멀티 터치나 문자 메세지 UI 같은 것 말이죠.
그런 부분에서, 원작자의 이익 보호도 좋기는 하지만 좀 관대하게 라이선스를 허용하면 좋겠네요.
원래 특허가 그런 겁니다.
원래 특허 자체가 그런 겁니다.
특허를 베끼지 않고 그 특허를 회피할 수 있는 기술을 개발하거나, 그것을 못 피하겠으면 특허권자와 계약하여 특허사용료를 내고 특허를 사용하면 되는 겁니다.
특허 문서들을 잘 읽어보면 대개는 어떻게든 빠져나갈 수 있는 게 있습니다.
그렇게 빠져나갈 구석을 찾울 수 없는 것이 가끔 언론에서 떠드는 '원천특허' 입니다.
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
http://akpil.egloos.com
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
GPL은 단순 라이센스가 아니고 일종의 이념이라고 할 수 있어요.
내가 이 것을 대가없이 쓰게 해 주었으니, 쓰는 사람도 이것을 이용한 결과물을 대가없이 공개해야 한다.
RMS가 생각하는 일종의 이념이고요. "소프트웨어 공산주의"라 말하는 사람도 있어요.
상업용으로 쓰기엔 많은 제약이 따르는게 당연하고요.
GPL의 창시자인 RMS자신이 "소프트웨어 자체로 돈을 버는 것을 지양하는" 사람이였음을 생각하고요.
GPL은 그 사상을 이루기 위한 도구일 뿐이여요.
No Pain, No Gain.
No Pain, No Gain.
GPL은 리눅스가
GPL은 리눅스가 생기기 이전부터 있었습니다.
싫으시면 GPL이 아닌 오픈 소스 소프트웨어를 찾아 보시면 되는 것이고요.
--
익스펙토 페트로눔
--
익스펙토 페트로눔
자유 != 공짜
공짜
[명사]
1 거저 생긴 물건.
2 거저 얻는 일.
자유(自由)
1 남에게 얽매이거나 구속받거나 하지 않고, 자기 마음대로 행동하는 일.
¶ 먹고 안 먹고는 내 자유니까 상관하지 마라.
상용 [ 商用 ]
상용(商用)
1 상업적인 용무.
¶ 상용 여권.
도대체 두단어의 차이점이 무엇입니까 도저히 미국의 free 라는 단어가
국내에 도입되면서 그의미가 어의 전성이 일어난게 아닙니까
다시한번 오바마 형님께 전화해서 물어보심이 어떨런지요 ^^
최초의 개발자나 마지막 개발자중 누가 더 코드길이가 길고 고생을 많이 하느냐고 따진다면 답이 없을걸요
고생하는것은 매한가지입니다
최초의 개발자가 만든 프로그램으로 최후의 개발자가 입성한것은 같은배를 탄거나 마찬가지로 동등한 권한을 가진다고 봅니다
GPL이 이념 이다 뭐다 평이 있지만,
개인적으로는 봤을 때 GPL은 지극히 B2B 지향적인 라이센스입니다.
순수함, 공헌, 환원이 그 중심이 되는 시절은 지나갔습니다.
오늘날의 GPL을 포함한 오픈소스 라이센스들은
기업들이 적과 안심하고 동침할 수 있는 가장 신뢰할 수 있는 기반을 마련해주고 있고,
실제 오늘날의 오픈소스는 기업들이 중심에 서 있습니다.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
저 죄송한데 잘 이해가 안가는 부분이..
오늘날의 GPL을 포함한 오픈소스 라이센스들은
기업들이 적과 안심하고 동침할 수 있는 가장 신뢰할 수 있는 기반을 마련해주고 있고,
실제 오늘날의 오픈소스는 기업들이 중심에 서 있습니다. -> 여기서요.
1. IBM 이나 오라클 같은 큰 기업을 말씀하시는 것인지요..
2. 근데 왜 안심하고 적과 동침이 가능한거죠? ;;
- 동일한 기능의 소프트웨어를 공유함으로써 자잘한 부분의 경쟁을 하지 않아도 되어서 그런가효?
- 자다 인나서 그런건지, 머리가 원래 나빠서 그런건지 잘 이해가 안되네요 ; (둘 다일지도?! ;) )
---------
주의사항.
걍 질문입니다. (진짜!!)
시비 아녜요 ;;
kldp 는 말 잘못 꺼내면 완전 폭파당하는 분위기이므로 조심스럽군효
--------
아 그리고 원문의 질문에서처럼
상용라이브러리 + GPL 소스 + 직접 작업한 부분.
이렇게 있을 때
공개의 범위가 어디까지 인가요?
1) GPL 소스 + 직접작업한부분
2) 아니다 다까야 한다!!
3) 다까야 하는데 상용라이브러리는 실제로 같이 깔수 없으니까 이렇게 작업하면 님하맨허요.
1,2,3 번중 어느건가요?
저는 3번으로 이해하긴 했습니다만.. [데굴]
---------
이하서명
춤추라! 사랑하라! 노래하라! 살라!
- 아무도 바라보고 있지 않은 것처럼
- 한 번도 상처받지 않은 것처럼
- 아무도 듣고 있지 않은 것처럼
- 오늘이 마지막 날인 것처럼
춤추라! 사랑하라! 노래하라! 살라!
- 아무도 바라보고 있지 않은 것처럼
- 한 번도 상처받지 않은 것처럼
- 아무도 듣고 있지 않은 것처럼
- 오늘이 마지막 날인 것처럼
A라는 기업과 B라는 기업이
서로 비슷하지만, 조금씩 다른 소프트웨어를 필요로 합니다.
이 때 두 기업이 컨소시엄을 구성해서 소프트웨어를 개발할 수 있습니다.
그런데, 컨소시엄을 구성하는 단계에서 특허 및 소프트웨어 개발범위등..
법률적으로 조율할 것이 많아서 비용 및 시간이 많이 걸립니다.
GPL3 같은 경우는 소스는 물론 특허까지 법률적으로 명확하게 허용범위가 적용되어 있습니다.
따라서, 간단하게 두 업체는 소프트웨어를 GPLv3로 개발하기로 합의만 하면 됩니다.
또한 서로의 특허를 사용할 때, GPLv3로 공개가 되어 있다면, 특허로 인한 골치 아픈 문제가 많이 해소가 됩니다.
지금 내놓으라 하는 대부분의 오픈소스(gnome,kde,qt,gtk,linux,mysql...)들은
대기업 중심에서 개발이 되어지고 있거나,
커뮤니티 중심으로 개발되는 것으로 보여도, 그 대부분의 구성원이 대기업에서 녹을 받는 경우가 많습니다.
예전하고는 많이 다릅니다.
3번이긴 한데, 바이너리를 배포하지만 않으면 얼마든지 사용하는데 지장이 없습니다.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
본 스레드외에 한가지 궁금한 점이 있습니다.
GPL에서 재배포 의무를 지은 소스의 범위가 어디까지 인가요?
예전에 얼핏 다른 사례를 보았을때 A게임이 GPL을 위반해서 해당 소스를 공개해야 하는 상황에 처하였습니다. 그래서 A게임은 게임내의 리소스(그림, 캐릭터) 같은 GPL이 아닌 회사측 소유물에 해당하는 것들은 제거하고 소스를 배포하였습니다.
(제 기억에 미연시류의 스토리 게임이었던 것 같습니다.)
그때는 그냥 그런가 보다하고 넘어갔는데, 이게 분리해서 감안할수 있는 것인가요?
일단 소스 재배포의 의무는
바이너리를 배포한 시점에서 바이너리를 배포한 대상에게 발생합니다.
바이너리를 배포하지 않으면 소스를 공개할 의무가 없습니다.
또한 바이너리를 배포하지 않은 대상에게도 소스를 공개할 의무는 없습니다.
다만, 바이너리를 배포한 대상이 소스를 재배포하는 것을 막을 수 없기 때문에
배포자가 많다면, sf.net 같은 곳에 아에 공개해 버리는 것이 비용이 저렴해 집니다.
상표, 리소스는 소스가 아니기 때문에 GPL의 범위가 아닙니다.
다만, 리소스 중에 GPL 라이센스가 있다면, 리소스의 소스를 배포해야 합니다.(예,폰트)
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
..
리소스와 소스의 정의를 잘 모르겠습니다.
bitmap data의 경우는 명확한 분리가 될 것 같습니다. 그런데..
예를들어서, 게임의 경우에 level data를 작성했다고 가정하죠. 이 레벨 데이터는 xml과 게임의 규칙을 기술하는 스크립트 언어로 되어 있다고 한구요. 이 스크립트 언어가 컴파일까지 된다고 생각해볼게요. (실제로 그런 수준들이 있으니까요.)
이러한 이 스크립트 언어는 엔진에 의존합니다. 이건 소스에 해당하는 걸까요?
그것은 리소스입니다.
GPL일 경우 아주 비약해서 설명하면,
GPL 소스가 일부라도 결합이 될때 GPL이 되는 것으로 보면 됩니다.
라이브러리 링크일 경우도 이렇게 보면 이해하기 쉬운데,
이를테면 "GPL인 foobar.h 파일을 include하는 소스는 GPL이다." 이렇게 대략 이해하시면 됩니다.
include 하는 순간 해당 GPL 소스가 작성한 소스하고 섞이게 되는 것이니까요.
반면 독자적인 엔진 및 script를 사용한다면, 이 script 소스 자체는 GPL이 아닐 가능성이 높습니다.
(만약 script에서 미리 준비된 header를 include 해야 하는데, 이 header 파일이 GPL이면 역시 script도 gpl이 됩니다.
그런 경우가 아니라면 GPL이 아닙니다. 예를 들어 php는 gpl이지만, php로 작성한 소스들의 라이센스 제한이 없습니다.
script가 컴파일이 되도 GPL이 아닐 가능성이 높습니다.
대표적인 예가 GCC를 생각해 보면 되지요.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
GPL은 소스 코드를
GPL은 소스 코드를 공개하지 않으려고 하면 문제가 생기도록 만들어 놓은 라이센스라고 보면 됩니다. 그러니까 소스 코드 공개를 못하겠다면 애초부터 GPL 코드는 가져다 쓰는게 아닙니다. 소스 코드 공개조항이 없는 BSD나 다른 라이센스 코드를 쓰는게 맞아요. 또, 실제로 이렇게 소스 코드 공개 의무조항이 없는 오픈소스 라이센스 코드가 GPL보다 더 많습니다. 리눅스 커널 같은 게 빼도박도 못하게 GPL로 걸리면 뭐 어쩔 수 없이 포기해야겠지만요.
그런데 이런 소스코드 공개는 GPL을 가져다 쓰기만 하면 반드시 해야 하는 의무조항이 아닙니다. 배포를 하는 시점에서만 문제가 되는 것이죠. 즉, 개인이나 회사 내부에서 사적으로 쓰는데는 문제가 없어요. 제품이 뭔지는 모르겠지만 이것이 배포를 하는 제품이 아니라면 소스코드는 당연히 공개할 의무가 없겠죠. 그러니까 줄여 서써 배포를 안하는 케이스라면 내부용으로 GPL 코드를 어떻게 고쳐 쓰던 공개할 필요가 당연히 없겠죠.
이런 소스코드 공개 의무조항이 까다롭다고 생각하는 분들이 많은 것 같은데 사실 따져보면 그렇지도 않아요. 패치를 생각해보면 이게 쉽습니다. 내가 GPL 라이센스 어플을 쓰면서 그 소스코드를 많이 고쳤다고 하더라도 그 소스코드를 공개해야 하나요? 안그렇습니다. 내가 어떻게 이 소스를 고쳐 쓰는 그건 내 자유이고 GPL코드도 이 자유를 보장합니다. 하지만 이 패치를 내가 원저자한테 보내면요? 그건 암묵적으로 내 코드를 배포하고 싶다는 얘기이고 코드가 GPL이니 원저자는 다음 번 버전 배포를 할 때 당연히 이 소스를 공개하겠죠. 그런데 이 원저자가 패치를 받자마자 바로 이 소스코드를 공개할 의무는 없는 것이고 나 역시 별다른 사정이 없다면 원저자에게 빨리 소스를 공개해라고 재촉할 필요가 없는 겁니다.
여하튼 in-house에서 쓸 것이 아니라면 GPL 코드는 소스 코드 공개를 피해가기가 어렵게 만들어 놓았습니다. 그런 까닭에 상용 제품에서는 GPL코드는 애시당초 멀리하는게 좋고 오히려 돈주고 라이센스를 사서 쓰는 것이 깨끗해서 좋습니다. 돈 없으면 BSD같은 비 GPL 오픈소스 코드를 구해 쓰는게 낫긴한데 오픈 소스의 no warranty조항이 코드를 가져다 쓰는 개발자에게 어떤 잠재적인 위험이 될 수 있는지는 미리 생각해봐야겠죠.
답변 감사합니다.
그런데 만약,
(X)라는 회사가 GPL소스를 수정하여 만든 (Y)라는 소스 + 비용을 지불하고 구매한 (Dolby) 프로그램으로
새로운 프로그램(Z)을 만들었고, 저희 음향기기 회사가 이 (Z)를 구매하여 제품을 만들고 이를 시중에 판매한다면
GPL 공개규정에 따라 어떤범위까지 공개책임이 있나요? (OS가 없고 static link 방식으로 연결되어 입니다.)
설마 (X)사가 구매한 Dolby 프로그램 소스까지 공개해야 하나요? Dolby 같은 상용프로그램의 소스를 확보하는것이 가능할까요?
어렵네요. ^^;
일단...
Dolby가 프로그램이라고 하셨는데, Dolby하고 static link로 연결한 것이 맞나요?
만약, 그렇다면, Dolby 소스를 GPL로 얻지 않는 이상 재배포(판매포함)는 불가합니다.
아니라면, (Y)+(Z)의 바이너리+소스만 비용을 받고 판매하시면 됩니다.
경우에 따라서는 Dolby Reseller 자격을 얻으시던가,
아니면 기존의 Dolby Reseller를 (Y)+(Z)에 대한 리셀러를 지정하셔도 됩니다.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
(X)사가 그렇게
(X)사가 그렇게 개발을 했다면 (X)사가 이미 (Z) 프로그램의 모든 소스를 배포하고 있을 것입니다.
상용코드는 애초에
상용코드는 애초에 GPL 코드에 붙이지를 못합니다. GPL 조항이 원래 그래요. 즉, dolby쪽 프로그램은 이게 바이너리든 소스이든 애초에 GPL 코드에 붙일 수 없고 붙여봐야 나중에 문제가 불거지면 Dolby쪽 코드를 다 제거해야 합니다. 그러니 애초에 Dolby 쪽 프로그램을 붙일 생각을 하지 마시길. 참고로 BSD 같은 라이센스는 소스코드 공개 의무가 없으니 Dolby 코드를 붙이든 말든 소스를 공개하든 말든 문제가 없겠죠.
왜 힘들게 GPL 코드를 쓰려고 하는지는 잘 모르겠습니다만 반드시 필요하다면 GPL코드를 돈 주고 사시길. 원저작자에게 연락을 해서 dual license 방식으로 님의 경우에는 원작자가 예외로 GPL말고 다른 라이센스를 적용하겠다... 이렇게 해도 되긴 합니다. 돈 주면 그쪽이야 좋다고 라이센스 주겠죠. 다만, GPL코드는 그 속성상 원작자가 한두명이 아닐 가능성이 높을 겁니다.
GPL은 좋게 보면 스톨만의 위대한 업적이라는 소리를 듣는 오픈소스 코드 보호에 라이센스이지만 나쁘게 보면 상용 업체쪽에서 치사해서 안쓴다... 는 소리가 절로 나오는 라이센스입니다. 저 같으면 이런 상황이면 GPL 소스는 쳐다 보지도 않을 것 같습니다.
그런데 사실 GPL코드는 소스 코드 공개가 가능한 상황이라도 안쓰는게 편해요. 업계쪽 얘기 들어보면 소스코드 다 공개해 놓아도 꼭 GPL의 정신에 입각해서 모 업체는 소스를 공개하라... 이런 딴지를 거는 사람들이 한둘이 아니라고 그래요. 그러니까 1.1 버전까지 소스 공개하고 제품에 탑재한 1.2 버전 아직 소스 코드 공개 준비중인데 게시판에서 모 악덕 업체는 즉각 1.2 버전 소스 공개하라... 그러면 열받습니다.
상용코드도
상용코드도 원저자에게 GPL이랑 섞어도 되냐고 묻고 GPL에 따라서 소스코드를 공개할 수 있다면 당연히 GPL코드에 붙일 수 있지 않나요?
물론 그렇게 허락해줄 상용코드 저작자는 많지 않겠지만 "애초에 안된다"는건 어폐가 있어 보입니다.
--------------------------
피할 수 있을때 즐겨라!
http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
그런 상황이 된다면
그런 상황이 된다면 더 이상 "상용 코드"가 아니죠.
그렇게 한다면 그
그렇게 한다면 그 상용코드가 GPL로 배포되는 것이죠. 이 경우 GPL 이외의 라이센스로 상용코드 재배포는 당연히 불가능이죠.