국산 프로그램은 GPL 라이센스로 배포되는 프로그램을 사용해서 다른 프로그램을 개발해도 GPL을 따르지 않아도 되나요?

mogi의 이미지

얼마전 블랙잭을 구입하고 비디오 파일을 인코딩 하기 위해서 "바닥"이라는 프로그램을 다운 받으려고 하는데 네이버자료실에 이런 문구가 있더군요.

"GPL 방식의 라이센스로 배포되는 MENCODER라는 엔코딩 엔진을 이용한 프로그램입니다. 하지만 바닥 자체는 국산 프로그램으로 GPL 라이센스 방식은 아니며, 개인 이용자들에게 무료로 제공됩니다. "
출처 : http://file.naver.com/pc/view.html?fnum=182800&cat=4

GPL코드를 포함하면 GPL 라이센스를 따라야 하는거 아닌가요??

프로그램 자체가 GPL라이센스를 따르던 안따르던 저런 프로그램을 만들어서 무료로 배포 해주는건 감사하게 생각하지만 "바닥 자체는 국산 프로그램으로 GPL 라이센스 방식은 아니며" 라는 문구가 마치 한국의 프로그램은 GPL라이센스로 개발된프로그램을 포함해도 GPL라이센스를 안따라도 무방하다 라고 들리고 더 나아가 "한국에서는 라이센스에 구애 받지 않아도 무방하다." 라고 들려 좀 찝찝하네요.

소타의 이미지

어허허; 어떻게 "이용"했는지 몰라도 GPL에 위배된다면 =_=;

mogi의 이미지

아니면 GPL로 배포된 프로그램을 GPL에 따르지 않고 사용 할 수 있는 방법이 있는 건가요?

익명"입니다"의 이미지

몇 가지가 있긴 하죠. GPL 코드랑 해당 프로그램이 완전히 별도의 프로세스로 돌게 한다던가..

Prentice의 이미지

설마요. 큰일날 오해를 하신 것 같습니다.

Badak은 frontend 프로그램입니다. Frontend처럼 본 프로그램과 나뉘어있는 프로그램의 경우 본 프로그램의 라이센스와는 아무런 상관이 없습니다.

당연히 이런 건 문제가 없어야합니다. 아마 GPL에서도 (사실 말할 필요도 없는 내용인데도) 명시적으로 허용하고 있을걸요.

Prentice의 이미지

coremaker의 이미지

codebank의 이미지

제 기억으로는 'GPL을 적용한 부분만 공개하면 된다'라고 알고 있습니다.
즉, GPL로 배포된 codec 라이브러리를 호출하게 되면 codec 라이브러리를 호출하는 부분의
소스부분만 공개하면 되고 나머지 소스에 대해서는 GPL의 영향을 받지 않는다고 알고 있습니다.
------------------------------
좋은 하루 되세요.

------------------------------
좋은 하루 되세요.

kslee80의 이미지

해당 내용은 LGPL 인 경우에 그렇습니다.
LGPL 이 아닌 그냥 GPL 라이브러리인 경우라면,
해당 라이브러리를 사용한 프로그램도 GPL 이 되어야 합니다.

codebank의 이미지

http://www.gnu.org/licenses/gpl-faq.ko.html#IfLibraryIsGPL

제가 LGPL에 관련된 내용을 GPL로 알고 있었나보네요.
------------------------------
좋은 하루 되세요.

------------------------------
좋은 하루 되세요.

Stand Alone Complex의 이미지

바닥은 윈도우용 mencoder 실행기일뿐입니다.

mencoder 소스가 내부에 들어가 있거나 하지 않기때문에 바닥 개발자는 바닥 소스를 공개할 의무가 없습니다.

RET ;My life :P

세이군의 이미지

공개할 의무는 없지만 소스를 공개한 적은 있습니다.
http://www.kipple.pe.kr/forum/viewtopic.php?id=2037
zlib 라이선스로 되어 있고 아주 최신버전의 소스는 아닙니다. 근데 이후 버전의 소스는 공개하지 않는다고 하네요.

ohhara의 이미지

상황은 잘 모르겠지만 GPL의 코드와 GPL이 아닌 코드가 링크된다 해도 전체 코드가 반드시 GPL을 따라야 되는 것은 아닙니다.

GPL이 아닌 코드가 GPL을 따르는 코드를 의식하고 있지 않고 링크가 이루어진다면 GPL이 아닌 코드는 GPL을 따르지 않습니다.

예를 들어 internet explorer용 plugin을 GPL로 만들어서 internet explorer와 링크시켰을 때 internet explorer는 GPL을 따를 필요가 없습니다.

Taeho Oh ( ohhara@postech.edu , ohhara@plus.or.kr ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Digital Media Professionals Inc. http://www.dmprof.com

Taeho Oh ( ohhara@postech.edu ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Alticast Corp. http://www.alticast.com

익명"입니다"의 이미지

"의식한다"는 표현 보다는 의존성이 더 적합한 말이겠죠.

예를 들어 GPL로 어떤 제품을 만들었다면 그 제품은 GPL에 의존하기 때문에 GPL이 되어야 하지만, IE 같은 플러그인을 만들었으면 반대로 그 플러그인이 IE에 의존하기 때문에 IE는 GPL이 될 필요가 없고요.

cwryu의 이미지

그 상황은 부적절한 예입니다. 링크되면 GPL을 따라야 하는 게 맞습니다.

하지만 예로 드신 IE의 플러그인은 두가지 중의 하나로 해석할 수 있는데요..

첫째로 OS의 major component에 대해서는 그 derived works에 대한 조항은 해당되지 않는다고 GPL에 명시되어 있습니다. 이게 불가능하다면 IE는 고사하고 시스템 라이브러리와 링크도 못하겠죠? IE를 major component로 볼 수 있느냐는 좀 애매하지만 그렇다고 해석할 수 있으면 얼마든지 가능합니다.

두번째로 해석할 수 있는 건, 설령 IE가 OS의 major component가 아니더라도 "이 프로그램을 무언가의 플러그인을 GPL로 만들었다"라고 선언한다면 그 얘기는 이미 GPL + 무언가와의 링크 예외사항을 허용한다고 내포한 겁니다. 이렇게 해 놓고 다른 (pure) GPL 코드를 가져다가 쓰거나 그러면 문제가 발생할 수 있습니다만, 자기가 만든 프로그램에 대해 자기가 예외상황을 내포한 게 문제가 되지 않습니다.

ohhara의 이미지

지적 감사합니다. 제가 GPL에 대해 약간 잘못 이해하고 있었던 것 같군요.

그런데 한가지 궁금한 점이 있는데
IE는 OS의 major component로 해석될 수 있으니, 다른 일반 어떤 OS의 major component가 아닌 프로그램이 있다고 합시다.
이 프로그램은 GPL을 따르지 않는 프로그램입니다. 이 프로그램의 plugin을 제작할 때 GPL만 허용하는 library를 일부 사용하게 되면 이 plugin을 합법적으로 배포하 것은 불가능하게 되는 것인가요?

Taeho Oh ( ohhara@postech.edu , ohhara@plus.or.kr ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Digital Media Professionals Inc. http://www.dmprof.com

Taeho Oh ( ohhara@postech.edu ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Alticast Corp. http://www.alticast.com

chunsj의 이미지

그 플러그인의 소스를 같이 배포하면 합법적이 됩니다.

ohhara의 이미지

제가 국어실력이 좀 떨어져서 그런건지는 모르겠는데 (죄송합니다 -_-;) cwryu님의 글을 보면 플러그인의 소스를 같이 배포해도 문제가 된다는 뜻으로 이해됩니다만, 제가 잘못 이해한 것인가요?

Taeho Oh ( ohhara@postech.edu , ohhara@plus.or.kr ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Digital Media Professionals Inc. http://www.dmprof.com

Taeho Oh ( ohhara@postech.edu ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Alticast Corp. http://www.alticast.com

cwryu의 이미지

네. 적어도 링크하면 곧 GPL의 derived work가 된다는, 일반적으로 알려진 GPL 호환성 규칙이 맞다면 그렇게 결합하는 건 불가능입니다.

ohhara의 이미지

감사합니다. 오늘도 좋은 것 하나 배웠습니다. :)

Taeho Oh ( ohhara@postech.edu , ohhara@plus.or.kr ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Digital Media Professionals Inc. http://www.dmprof.com

Taeho Oh ( ohhara@postech.edu ) http://ohhara.sarang.net
Postech ( Pohang University of Science and Technology ) http://www.postech.edu
Alticast Corp. http://www.alticast.com

JN의 이미지

말씀하신 링크의 범주에 동적 링크도 포함하고 있는건가요? 프로그램의 실행과정에서 필수적으로 필요한 경우는 아니지만, 실행 중에 동적으로 로드해서 쓰여지는 것들의 경우에 말입니다. 플러그인이나 코덱같은 경우가 이 범주에 속한다고 보는데요.

제가 자세한 상황은 잘 모릅니다만, 곰플레이어와 함께 배포되는 코덱중에 GPL 코드를 사용한 것이 있는데, 이게 문제가 되서 곰플레이어 측에서 코덱 쪽 소스를 공개했던 걸로 알고 있습니다. 이 경우에도 코덱쪽 소스만 고개하는 걸로는 충분하지 않다는 말씀이신지요?
예를 들어, 어떤 동영상 재생기와 함께 배포되는 코덱중에 GPL 코드를 사용한 것이 있다면 이 경우 코덱뿐만 아니라 동영상 재생기도 GPL의 영향을 받는다는 말씀이신지요?

솔직히 전 이런 경우에 플러그인 쪽만 소스공개하면 된다고 알고 있었는데, cwryu님의 글이 너무 짧게 표현되어 있어서 판단하기가 애매합니다.
-----
추가1:

설령 IE가 OS의 major component가 아니더라도 "이 프로그램을 무언가의 플러그인을 GPL로
만들었다"라고 선언한다면 그 얘기는 이미 GPL + 무언가와의 링크 예외사항을 허용한다고 
내포한 겁니다. 이렇게 해 놓고 다른 (pure) GPL 코드를 가져다가 쓰거나 그러면 문제가 
발생할 수 있습니다만, 자기가 만든 프로그램에 대해 자기가 예외상황을 내포한 게 문제가 
되지 않습니다.
음... 이 말에 이미 다 포함되어 있군요. 제 독해력에 문제가 있었네요.

----
추가2:
제가 위에서 곰플레이와 함께 배포되는 특정 코덱이 GPL 코드를 썼던 있이 있었다고 적었는데 , 좀 알아보니 이건 잘못된 정보였습니다. 사용한 ffmpeg의 코드가 LGPL이기 때문에 ffmpeg 코드를 직접 쓰는 코덱의 경우 소스 공개의 의무가 있지만, 이 코덱을 링크하는 곰플레이어의 경우는 그렇지 않은 걸로 결론이 났었던 듯합니다. 제가 GPL에 대한 잘못된 지식으로 해당 사건을 잘못 이해하고 있었던 것이었습니다. 혹시 이점 때문에 오해 없으시길 바랍니다.

덧붙여, ffmpeg는 LGPL을 기본으로 하되, 특정 모듈은 GPL입니다. ffmpeg 코드를 사용할 경우 면밀히 검토 후 사용해야 합니다.

oneday의 이미지

후.. 국어/영어 다 딸리니 이해하기 넘 어렵네요.. -_-ㅋ