오픈소스의 갑작스런 라이센스 변화 - 문제 없나요?
글쓴이: zaemin / 작성시간: 금, 2007/07/20 - 9:35오전
AGG라고 아주 훌륭한 그래픽 라이브러리가 있는데 2.4 버전까지만 해도 Modified BSD 라이센스여서 매우 사용이 자유로웠습니다.
그러다가 2.5 버전으로 업그레이드 되면서 라이센스가 GPL로 바뀌었어요.
이와 관련해서 메일링 리스트에 난리가 났군요.
그래픽 엔진으로써 AGG를 채택했던 프로젝트들의 저자들은 더 이상 AGG를 사용할 수 없게 되었다고 난리입니다(2.4에서 더 이상 상위 버전으로 업그레이드 하지 못하면서 유지보수 지원의 문제가 생기고 있습니다).
또한 많던 적던 AGG에 코드를 기여했던 많은 사람들이 라이센스의 변경을 하기 위해서는 기여한 모든 사람들의 동의를 얻어야 한다고 주장하고 있습니다(실제로 이것은 불가능하므로 라이센스의 변경은 불가능을 의미합니다. 또한 그들이 코드를 기여했을 당시에는 BSD 라이센스였기 때문에 기여했을 수도 있습니다).
이런 저런 질문과 기술적 발전을 위한 논의에 메일링 리스트에 자주 모습을 나타내던 AGG의 저자는 이제 완전히 잠적한 것 같습니다. 아무런 답변도 하지 않고 있습니다.
여러분들이 보시기에 이것은 아무 문제가 없는 것인가요?
1. BSD와 같은 매우 자유로운 라이센스하에 소프트웨어를 개발하고 많은 이들의 지원도 받다가...
2. 어느날 이를 갑자기 GPL 라이센스로 변경한다. GPL 라이센스를 받아들이지 않기 위해서는 저자와 직접 사용 계약을 해야 한다.
Forums:
BSD에서 GPL로의 변경에 대해서
AGG가 뭔지는 잘 모르겠지만 저도 BSD에서 GPL로 변경이 반갑지는 않군요~ 그냥 이론적으로
말씀드리자면, BSD에서 GPL로의 변경은 기여한 사람들의 의사와 상관 없이 사실상 가능합니다.
물론 형태적으로는 BSD에서 GPL로 "변경"하는 것이 아니라, GPL을 추가로 적용하는 형태가
되는데, BSD보다 GPL이 훨씬 수퍼셋이기 때문에 사실상 GPL이 되는거죠. (그렇지만, 소스코드에서 원래
BSD라이선스를 지우면 안 됩니다.) BSD로 라이선싱된 상태에서 GPL을 추가한 것이 되기
때문에 저작권 변경이 아니라서 결국 원저자의 동의는 필요없습니다. (기뻐하지는 않겠지만 말이죠..)
그런데, 사실 BSD에서 GPL로 라이선스가 변경되는 프로젝트는 관련된 회사들의
영향으로 fork되어 나오는 경우가 제법 많습니다. 한번 fork 프로젝트를 하나 만들어서
해 보세요. :-)
You need Python
문제가 될 이유는 없습니다
도의상의 문제는 있을지언정 그 이상의 것을 바랄 수는 없으며 책임을 물을 수도 없을 것입니다.
하위 버전의 라이센스까지 바꿔버리는 만행(?)을 저지르지 않은 이상엔 기본 버전을 그대로 쓰면 됩니다.
라이센스 변경을 한 것이 매우 마음에 들지 않는다면 뜻 있는 사람들이 프로젝트를 Fork하고 새로운
프로그램을 BSD 라이센스로 개발하면 됩니다. 오픈소스의 자유는 이러한 부분의 자유도 포함하니까요.
적어도 프로젝트를 Fork할 용기도, 프로젝트를 이끌 리더도 없다면 따르거나 떠나는 수 밖엔 없을겁니다.
쓰는 사람도 마찬가지로 떠나거나 따르는 수 밖엔 없습니다. 그것도 아니면 다른 사람들을 부추겨
Fork 시키는 방법도 있겠죠.
=================================
이 세상은 썩어있다!
=================================
이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트
홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net
저도 Fork에 한표를 던집니다.
새롭게 포크하여 자유롭게 사용할 수 있게하는 것이 최선일 듯합니다. 제가 볼땐 AGG를 많이 사용해왔다면 금새 포크될 것입니다.
모두들 행복하세요~
코드의 저작권자는
코드의 저작권자는 코드의 라이센스를 원하는 대로 변경할 수 있습니다. 한사람이 다른 사람의 도움 없이 순수하게 완성한 것이라면 변경에 대해 이의를 제기하기 어렵겠지만 여러 사람들이 코드를 제출한 경우는 각각의 사람들에게 동의를 받아야 할 것입니다.
그런데 이 경우는 조금 재미있는 것이... 원래 라이센스는 BSD였으므로 GPL코드에 해당 BSD 코드를 차용하는 것에 문제가 없습니다. 따라서 원 저자가 이후 추가되는 코드 부분을 GPL로 하겠다... 라고 한 것과 동일하므로 그것 자체가 문제가 되지는 않습니다. 예를 들어 기존에는 bsd.c 라는 파일 한개로 구성되어 있고 BSD 라이센스로 배포되던 것인데 이후부터는 gpl.c 라는 파일로 새로 개발을 하고 그 안에 bsd.c 의 내용을 차용하고 자기가 새로 만든 것도 추가해서 GPL로 릴리즈하는 것이 기존 bsd.c에 패치를 제공했던 사람들의 동의가 없어도 가능하다는 것입니다. 왜냐면 그 패치들도 BSD 라이센스로 볼 수 있으니까요.
그러나 만약 원래 라이센스가 MPL이었다면 이렇게 하는 것은 기존에 패치를 제공했던 사람들의 동의를 모두 받거나, 패치 부분은 모두 덜어내고, 원 저작자가 만들었던 부분만을 수정해서 GPL로 릴리즈할 수 있습니다. 왜냐면 처음 언급했듯이 코드의 저작권자는 코드의 라이센스를 원하는 대로 변경할 수 있기 때문입니다.
이게 BSD에 무서운 점이죠.. 후훗.
솔직히 말해서 2.5부터는 클로즈 소스에 상업용 라이센스로만 가도 코드 기여자들이 아무말 못하죠...
왜냐 제공한 소스의 라이센스가 BSD이고 이는 곳 코드 사용에 어떠한 동의 요구나 제약이 없다는 의미니까요.
GPL 및 듀얼로 간 것은 그나마 양심적이네요.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
제 생각에는
누군가 2.4 기준으로 LGPL이나 MPL로 fork하는 게 나을 것 같습니다.
그래야, 원래 프로젝트 진행자가 fork된 프로젝트에서 개선된 소스를 가져다 쓸 수 없을 테니까요.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
fork된 프로젝트에서
fork된 프로젝트에서 개선된 부분을
원래의 GPL 프로젝트로 가져가지 못하게 하는 것이 목적이라면
LGPL은 안될것 같습니다.
LGPL 제 3조에 따라, LGPL은 GPL로 바꿀 수 있으니까요.
단, 원 프로젝트 운영자가
커머셜 라이센스로는 해당되는 코드를 가져다 쓸 수 없죠.
오직 GPL 버전에서만 쓸 수 있구요.
따라서, 실질적으로 방어제가 될 수 있습니다.
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
1. LGPL은 원저자 동의 없이 GPL로 변경
1. LGPL은 원저자 동의 없이 GPL로 변경 가능한가요?
2. 코드이그나이터 라이센스로 프로그램 만들어서 GPL로 변경해 배포할 수 있을까요?
http://codeigniter.com/user_guide/license.html
http://codeigniter-kr.org/user_guide/license.html
없다면 CI부분은 빼고 패치만 GPL로 배포해야 되고 이것이 가능한가요?
재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.
아이디의 아이디어 무한도전
http://blog.aaidee.com
귀태닷컴
http://www.gwitae.com
도의적으로 거시기 하네요.
참고 url : http://blog.mandki.com/143
위에 참고 url 내용을 보면,
(1) "LGPL은 독점 프로그램에 사용가능 "
(2) "GPL은 LGPL로 변경하지 못함 "
(3) "LGPL은 GPL로 변경 가능"
(4) LGPL은 "라이브러리에만 적용되는 라이센스" 라고 하네요.
개인적으로는 AGG는 라이브러리이기에 GPL 보다도 LGPL이 맞는것 같습니다.
AGG가 Modified BSD 라이센스 로 계속 개발해 왔다면
사용에 제약이 없기에 독과점에서도 사용되는데,
이를 GPL로 바꾸면 AGG를 사용한 독과점 업체는 어떻게 되나요?
GNU가 추구하는 자유를 현실에서 지키기 위해 만들어진 안정장치가 바로 GNU 라이센스인데,
이거로 뒷통수를 쳐야했는지 안타깝네요.
그것도 처음부터 그랬다면 이해가 가겠는데 아니잖아요.
또 무엇보다도 라이브러리 특성상 버전업은 생명과 같은것인데,
이를 라이센스 변경으로 인해서 포기하라는것은 가혹한것 같습니다.
Modified BSD 라이센스 는 LGPL 에 대응된다고 알고있고 (3)항을 적용하면,
아쉽지만 법적인 문제는 없는것 같습니다.
라이센스 변경으로 더 이상 AGG를 사용할 수 없게
라이센스 변경으로 더 이상 AGG를 사용할 수 없게 된 사람들은 여전히 BSD 라이센스로 fork라는 선택이 있기는 하지요. 어쨌든 2.4 버전까지는 BSD로 풀려 있는 것이고 GPL을 소급적용할 수는 없는 겁니다. 아니면 돈 주고 소스를 사서 써도 되겠지요.
뭐 어쨌든 BSD로 쓰면 소위 transaction cost가 없어서 좋지만 무임승차 문제가 있는 것이고 GPL을 쓰면 무임승차 문제는 없어지지만 (상용으로 쓸 사람들이 그 전까지 사용료를 안내다가 돈을 내게 됨) transaction cost가 커질겁니다. (예전에는 프로젝트 참여 개발자 모두가 진입비용이 없었는데 GPL 소스 공개 조항 때문에 진입비용을 부담해야 하는 개발자들이 생김)
이도 저도 싫으면 누가 총대 매고 나서서 fork를 해야겠지요. 그러면 그 동안 BSD 라이센스로 시간 쪼개 가며 열심히 기부해왔던 개발자들의 분노는 어떻게 하냐... 어쩔 수 없습니다. BSD 라이센스를 쓰는 개발 프로젝트는 애초부터 그런 위험을 안고 시작하는 것이니까요.
제가 이해하는 바로는 BSD 소스를 GPL로 바꾸는
제가 이해하는 바로는 BSD 소스를 GPL로 바꾸는 그런 일은 원저자가 아니면 불가능합니다. 원저자라고 하더라도 라이센스는 변경하는게 아니고 새로운 라이센스로 릴리즈한다고 생각하는게 더 맞구요.
라이센스는 프로젝트별이 아니고 소스 코드별로 적용됩니다0. 그리고 BSD 라이센스의 구절들을 잘 읽어 보시면 '코드 사용의 허가'에 copyright notice, conditions, 그리고 라이센스 statement를 항상 reproduce 해야 한다고 되어 있습니다. 이것은 결국 라이센스를 GPL로 변경할 수 없다는 걸 의미합니다. 왜냐하면 그 경우에는 원래 소스의 라이센스(BSD)를 위반하지 않고 소스 코드를 사용하는 게 불가능해지기 때문입니다.
Theo De Raadt의 이 포스트를 읽어 보시면 이해가 잘 되실 겁니다.
http://marc.info/?l=openbsd-misc&m=119769638425153&w=2
----
Let's shut up and code.
얼레, 위에 lkls 님 글에 답글을 달려고 했는데
얼레, 위에 lkls 님 글에 답글을 달려고 했는데 실수했네요.
어쨌든 BSD 프로젝트는 GPL로 강제로 변경될 위험을 안고 있다- 라는 건 사실이 아니라는 점을 지적하고 싶었습니다.
앞으로의 개발을 GPL로 한다고 하더라도 기존의 코드나, 기존의 코드에 기반한 코드는 BSD license를 유지해야 합니다.
----
Let's shut up and code.