GPL을 따르는 소스코드 수정 후 상업적 사용

무아   
   조회 5374   추천 0    

누가 vncview를 넣어서 자신들의 소프트웨어를 팔아야하는데

로고도 바꾸고 타이틀도 바꾸고 하고싶다고 하네요.

단순히 리소스 에디터를 썼다가 나중에 큰 문제 생기니까 정식으로 라이센스 하라고 하니까 저렴한 것을 찾길래

뒤져보니 TigerVnc 라고 깃허브에 오픈소스로 나온 것이 있더군요. 

라이센스는 GPL을 따르고..

필요한 부분 수정하고 수정된 소스코드는 깃허브든 어디든 공개로 올려놓고 쓰라고 했는데

그러면 되는거죠?

라이센스는 항상 부담스러운 부분이네요.

...
짧은글 일수록 신중하게.
팝이좋아 2016-07
GPL 을 사용하는 소스를 사용하셨다면..... 그 소스를 사용하는 제품의 전체 코드를 공개 해야 하는
무시무시(?)한 라이센스 입니다...

수정한 곳만 공개 하는게 아니에요
     
무아 2016-07
헉.. 그런... 말도 안되는... 독립적으로 빌드된 프로그램의 소스만 공개하는 것이 아니었던가요?
다르게 생각하면
그 프로그램을 넣어 MS윈도우에서 돌아가는 시스템을 팔면 MS윈도우 소스 코드를 공개하라는 말도 될 수 있는데...
          
엠브리오 2016-07
그래서 마이크로 소프트는 리눅스를 싫어했죠.

지금도 "우분투"와 협력하고 있다는게 사실 별로 믿음이 안가는지라..
               
무아 2016-07
그렇네요..
윈10 소스코드를 공개해야 되겠는데요...
이장원 2016-07
동적으로 연결해서 쓰더라도 전체 코드를 다 공개해야 합니다 .
미나리나물 2016-07
https://wiki.kldp.org/wiki.php/OpenSourceLicenseGuide
여기를 참고 해 보세요.

GPL을 사용하는 프로그램을 써서 뭔가를 만들면 결과물도 GPL이 적용되어 결과물 또한 소스코드를 공개 해야 합니다.
     
무아 2016-07
읽어보면 링크라는 개념을 말하는데 이건 dll 형태의 것이니까 그 dll 쓰는 것만으로도 메인 프로그램 역시 GPL을 따라야 한다는 것은 당연합니다.
제가 말씀드렸던 부분은 독립적인 exe 파일 형태로 다른 한쪽에서 Process.Start("B_include_gpl.exe") 처럼 프로세스를 따로 만들어 실행만 시킬 경우 입니다.
이 경우 B_include_gpl.exe 에 대한 소스코드는 공개해야 겠지만 저 프로그램을 실행시킬 A라는 프로그램의 코드까지 공개해야한다면... 위험하네요.
무아 2016-07
A 라는 프로그램에서 커맨드라인 명령어로 GPL을 따르는 B라는 프로그램 실행시킬 경우
A의 소스를 공개하라는 얘기인지요?
만약 그렇다면
위키페디이아 내용을 보면 이런 얘기가 있습니다.
"2009년 7월, 마이크로소프트는 GPL라이선스를 위반한 하이퍼V의 컴포넌트의 소스코드 20,000여줄을 공개했다."
그 코드를 사용한 컴포넌트의 소스코드를 공개한 것이지 GPL 라이센스가 들어간 하이퍼V를 쓰는 다른 것을 공개한 것은 아니지않나요?
     
Villanus 2016-07
순서가 중요한데, GPL -> Private 형식의 참조는 됩니다 Private쪽에서 허용한다면요. Private -> GPL의 경우가 문제인데, 이는 GPL에서 공개를 강제하기 떄문에 Private쪽을 공개해야 합니다.
Hyper-V컴포넌트는 메인 프로그램인 Hyper-v에 종속적입니다. 즉, Component 가 Hypervisor의 기능을 가져다 쓰는 형태입니다.
          
무아 2016-07
이해가 되었습니다. 감사합니다.
Villanus 2016-07
LGPL은 해당 코드를 쓴 라이브러리 없이도 메인 프로그램이 동작하면 공개하지 않아도 됩니다. 임베드 되어 있거나 의존성이 걸려서 메인프로그램이 실행이 안되거나 메인프로그램의 해당 기능이 사용자에게 열거되어 있으나 동작이 안된다면 공개해야 합니다.(즉 LGPL컴포넌트가 없으면 노출시키지 않아야 한다는 이야기 입니다. 그리고 참조로 인한 공개의 문제는 LGPL의 경우 기능변경등의 형상변경없이 쓴다면 공개의무를 부과하지 않습니다.)
GPL은 참조만 해도 공개해야 합니다. 이유는 인터페이스 부분도 GPL로 공개되어 있는데, 이를 참조하는 행위 또한 GPL을 승인한 결과에 해당하기 떄문입니다.
팝이좋아 2016-07
GPL 규정이 좀 모호한게 있습니다.

일반적으로 제품(product) 단위에 사용을 했다면 제품을 모두 공개 한다 라는것으로 보이는데 이게 과연

프로세스 단위마다 제품으로 볼수 있느냐 아니면 다른 프로세스를 모두 포함 해야 제품이 되느냐의 문제가 되는것 같습니다.

소스 코드를 공개할 생각이 없으시면 왠만하면 GPL 소스코드는 피하시는게 좋습니다.
무아 2016-07
A 라는 독립 프로그램에서 버튼을 누르면 B 라는 독립 프로그램이 실행된다. (따로 데이터를 주고 받는 것도 없더라도)
B라는 프로그램이 GPL 을 따른다면
A라는 프로그램의 소스는 공개해야한다.
로 이해하면 맞는 것이죠??
     
Villanus 2016-07
GPL의 경우는 맞구요.
B프로그램이 LGPL이고 변경없이 그대로 쓴다면, B에 대한 의존성이 없을경우 A는 공개하지 않아도 됩니다만, 의존성이 있다면 공개해야 합니다.
가급적 LGPL프로그램을 쓰시는것을 권합니다.
          
무아 2016-07
GPL2 를 따른다고 나왔있으니 쓰지말라고 해야겠네요. 감사합니다.
무아 2016-07
네. 답변 감사합니다.
보통 GPL이라고 하면 GPLv2를 말하는데요. LGPL이나 GPLv3 같은 것들도 있습니다. 모두 소스공개의 조건과 범위가 다릅니다. 미리 잘 알아보시는게 좋습니다. 상업화를 생각하는 쪽에서 가장 무서운 것은 GPLv3입니다. 소스 공개는 물론이고 빌드해서 정상 실행이 가능하도록 자료를 제공해야 합니다.
무아 2016-07
그냥 사서 쓰라고 했습니다.
TightVNC 에다가 상업적 사용 (GPL 따르지 않는) 에 대한 라이센스 문의 메일로 메일 넣어놨으니
사서 쓸지 말지는 쓸 곳에서 결정하겠죠.

그거 피하려고 머리쓰고 다른 것 찾는 것 보다 사는게 싸게들 것 같습니다.


QnA
제목Page 2995/5706
2014-05   5131416   정은준1
2015-12   1666194   백메가
2008-03   5329   김건우
2006-07   5329   문추기
2008-07   5329   설성찬
2005-09   5329   박진우
2014-09   5329   김민철GC
2005-11   5329   박준용
2007-11   5329   최문식
2009-01   5329   장준호
2021-03   5329   겨울나무
2018-12   5329   김승현1
2016-01   5329   만석군
2018-07   5329   배상0원
2006-03   5329   정영진
2015-06   5329   회원K
2007-08   5329   권용일
2006-08   5330   조명수
2008-07   5330   박진국
2006-06   5330   이상열
2018-11   5330   쿵짝쿵짝
2006-12   5330   김은식