GPLv2와 GPLv3 왜 호환되지 않는가?
일단, GPL과 같은 오픈소스 라이센스를 접할 때, 중요한 것은
이러한 라이센스를 법률이나 규칙같은 것으로 이해해서는 안된다는 점입니다.
이는 동의(同議)를 전제로 하는 계약입니다.
실제로 이러한 오픈소스 관련 라이센스 위반은 국내법상 일반적으로 형사처벌 대상에 준하지 않습니다.(논란의 여지가 있지만)
대부분은 계약위반에 따른 민사 문제일 가능성이 높으며 형사문제로 갈 가능성은 거의 없다고 한답니다.
또한, 법은 일정한 절차를 걸쳐서 개정이 되면 전반적으로 영향을 미치지만,
계약은 계약 당시의 내용을 변경하기 위해선, 계약 당사자 모두의 합의가 반드시 필요합니다.
법처럼 다수 혹은 일부의 의견으로 반영된 내용을 일방적으로 적용할 수 없다는 뜻입니다.
따라서, GPLv3가 나왔다고, GPLv2를 가진 프로젝트들에 대해서 라이센스 업그레이드를 강요할 수 없습니다.
물론, 권장하고 있지만, GPLv3로 업그레이드를 하는 것은 오직 그 코드를 소유하고 있는 사람의 선택의 몫으로 남아 있을 겁니다.
일부는 GPLv2와 GPLv3가 호환성을 가질 수 없는 것에 의문을 가지시는 분들도 계실 겁니다.
RMS가 GPLv3로 업그레이드를 유도하기 위한 음모가 있지 않을까 하는 등으로요.
실제로 GPLv2와 GPLv3 두 라이센스 모두 자기 자신과 동일한 라이센스 조건하에만 사용할 수 있는 copyleft 라이센스입니다.
GPLv3에 GPLv2와의 결합을 수용하는 내용을 포함시켰다고 하던들,
GPLv2 자체가 이를 허용하지 않으면 아무런 효력을 가질 수 없습니다.
그럼 GPLv2도 수정하면 되지 않을까? 생각보다 쉽지 않습니다.
앞에서 말했듯이 GPLv2는 코드 제공자들은 물론 사용자들을 포함한 다자간의 계약입니다.
GPLv2를 수정하기 위해서는 코드 제공자들의 모든 합의가 있어야 합니다.
달리 말하면 GPLv3로 이전하는 것 만큼 험난한 길이라는 뜻이고, 실질적으로 실효성이 매우 적습니다.
어차피, copyleft 라이센스의 특성상 이러한 비호환성은 이미 예견된 일입니다.
일단, 중요한 것은 GPLv2하에 릴리즈 되었던 소스들은 여전히 GPLv2라는 남아 있을 것이란 점입니다.
이 또한 코드제공자와 사용자들간의 계약 상의 문제로 인한 어쩔 수 없는 선택입니다.
gtk, gnome 같은 거대한 프로젝트들은 한동한 GPLv3로 가기 위해서,
일부 코드를 다시 작성하는 것과 같은 많은 홍역을 겪을 것으로 보입니다.
코드의 소유권을 FSF나 다른 오픈소스 재단에 기부할 것을 FSF가 누차 권장했던 것은
이러한 라이센스의 변동이 있을 때, 발생하는 혼란을 최소화 할 수 있기 때문입니다.
이번을 교훈 삼아 오픈소스 커뮤니티에 활동하시는 분들은
이러한 라이센스에 대해서 다시 한번 잘 고려해 보시고,
자신의 가지고 있는 코드 소유권을 이러한 재단에 기부하는 것을 심각히 염두해 두시길 바랍니다.
이번 GPLv3가 나오면서, GPL의 배타성에서 실망하시는 분들이 생각보다 많은 것 같은데,
이는 모두 GPL 혹은 라이센스에 대한 이해 부족에서 기인한다고 보입니다.
가장 성공한 라이센스라고 불리우는 GPL이 이렇게 까지 널리 퍼지고 많이 애용되는 이유는
바로 그 배타성에서 기인한다는 것은 매우 자명한 일이니까요.
댓글
any later version
GPLv2에서 "how to apply..." 부분에서 안내하는 방법에 따라, 코드에 "or (at your option) any later version"이라고 쓰여 있다면 문제 없습니다. gtk/gnome도 그렇게 되어 있구요.
오히려 GPL S/W중에서는 리눅스 커널이 특이한 경우입니다. later version이라고 안 붙인 부분이 꽤 많습니다.
MySQL은 GPLv2로 남아 있겠다고 최근에 later version이라는 말을 빼 버렸죠.
----
익명이나 오래전 글에 리플은 무조건 -1
아 그 부분은
Luis Villa씨의 인터뷰 내용을 차용한 부분인데, 다시 확인해 보니 gnome만을 언급했네요.
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.
인용:GPLv2에서 "how to
GPLv2와 GPLv3가 호환되지 않는다면 순수한 GPLv2와 GPLv2+(or any later version 표현이 있는 GPLv2) 간의 호환성 문제가 생길 수 있습니다.
GPLv2 소스를 GPLv2+로 이식한 후에, 이 부분을 다시 GPLv3로 옮긴다면 cyryu 님 견해에 따르면 유효한 경로가 됩니다. (사실 아니죠??)
결국 GPLv2+는 GPLv2와 GPLv3의 dual license를 의미하게 되므로, GPLv2, GPLv2+, GPLv3는 서로 호환불가능한 라이선스입니다. (GPLv2+에서 GPLv2로, GPLv2+에서 GPLv3로의 이식은 조금 더 따져봐야겠죠? GPLv2+가 dual license인지 아닌지도 해석이 필요하고요.)
곧 chaos가 도래하는걸까요?
서로 호환은 아니고
서로 호환은 아니고 한 방향으로만 호환이죠. 말씀하신 사례에선 애초에 GPLv2 소스를 GPLv2+로 이식한다는 게 불가죠.
GPLv2+가 GPLv3가 안 된다면 FSF가 그렇게 열심히 광고를 할 리가..
http://www.gnu.org/licenses/gpl-faq.html#VersionThreeOrLater
----
익명이나 오래전 글에 리플은 무조건 -1
인용: 실제로
라이센스 위반은 형사처벌 대상 맞습니다.
프로그램의 창작자는 자신이 창작한 프로그램에 대해 저작권을 갖게 되고
다른 사람은 저작권자의 허가 없이 해당 프로그램을 복제, 개작, 전송, 배포 등을 할 수 없습니다.
따라서 이러한 것들을 허가해 주는것이 라이센스(사용허가서)이고
라이센스 위반이라 함은 저작권자가 허가하지 않은 복제, 개작, 전송, 배포 등을 행한 경우이므로
이는 저작권 침해이고 형사처벌 대상입니다.
우리나라의 컴퓨터프로그램보호법에서는 이러한 경우 5년 이하의 징역이나 5천만원 이하에 벌금형에 처할수 있다고 명시하고 있습니다.
제가 "일반적으로"라는
수식어를 붙인 것은 국내법상 사실 모호하기 때문입니다.
전의 GPL 관련 소송 : 엘림넷 대 하이온넷 사건관련되어서,
개인적으로 아는 변호사에게 자문을 구한바,
국내에서는 GPL 위반시 저작권 침해로 고소는 가능할 수 있지만 승소하기 어려울 것으로 판단되고,
실질적으로 계약위반으로 민사만이 가능한 것으로 소견을 들었습니다.
독일에서 GPL 위반에 대한 소송사례가 있었는데, 그 때도 형사까지는 가지 않고,
계약 위반으로 인한 민사소송만으로 진행되었다고 합니다.
실질적으로 국내에 제대로된 GPL 위반에 대한 판례가 없는 관계로 어떻게 될지는 미지수라고 해야 겠지만,
법률적으로는 그렇다고 하네요.
본문은 오해의 소지가 있을 수 있겠네요.
수정해야 겠습니다.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
그래도 해당 코드를 사용한
그래도 해당 코너를 사용한.. 제품은 판매 금지가 되겠죠??
-------------------------------------------------------------------------------------------
생각은 지나가던 개새끼도 하지.. 실천하는건?? 나도 할수있지...
-------------------------------------------------------------------------------------------
이놈의 IT 생활... 실증나고 짜증나고...
근데 왜 맨날 it관련 소식만 보고 ;;; 님휘
정확히는 모르겠지만...
민사소송이라도, 가압류나 판매금지가처분신청이 가능한 것으로 알고 있습니다.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
gpl, lgpl, mpl과 같은
gpl, lgpl, mpl과 같은 라이센스들은 그 결과물도 동일한 라이센스로 배포되는 것을 강제한다는 특징이 있습니다. 이러한 라이센스들을 reciprocal(호혜적) 라이센스라고 하는데 gplv3가 그다지 환영받지 못하고 있는 것은 그 제약 사항이 더욱 모호해지고 광범위해졌기 때문입니다. 그러나 한편으로는 그러한 제약사항들과 배타성으로 인해서 gpl로 릴리즈된 코드가 커뮤니티 안에서 계속해서 보호를 받을 수 있었다는 점에서 그 가치와 역할은 결코 작지 않습니다.
음 lgpl은...
LGPL은 동적 링크 형태로 남겨 두면 결과물은 동일한 라이센스로 배포되는 것을 강제성이 없지 않나요? 제가 잘못알고 있는것인가요. 소스를 수정하지 않고 동적 라이브러리 형태라면 그것을 링크한 응용프로그램의 라이센스는 제작자의 맘인것으로 아는데.. 정적 링크의 결과물이라면 라이센스를 따라가겠지만.
솔직히...
너무 어렵습니다. 아직 한글로 번역된것도 없고...
그렇다고 번역 해서 보려니..영어 실력의 압박...
그냥 이렇게...GPL v2처럼 대충 알고 넘어 가야 할듯..
아직 개발자가 아니기에...그닥 쓸모 있는건 아닌듯...^^:
엔드 유저에겐 한없이 필요 없는 것 중에 하나???
---------------------------------------------------
1t의 생각보다 1g의 실천이 낫다.
열심히 번역을 하고 있습니다만,
늦어져서 죄송합니다^^;;
http://wiki.kldp.org/wiki.php/GNU/GPLV3Translation 입니다.
Open-Source Anthropology
Open-Source Anthropology
댓글 달기