D2CampusFest / 3rd

27 stars 4 forks source link

[SecurityBootManager] GPLv2.0 + GPLv3.0 LICENSE 문제 #27

Closed kbu1564 closed 8 years ago

kbu1564 commented 8 years ago

제목과 동일하게 현재 저희가 사용중인 오픈소스 프로젝트가 크게 2가지가 존재합니다. 하나는 ipxe라는 오픈소스이며 나머지 하나는 grub 이라는 오픈소스 입니다.

두 오픈소스 모두 GNU 재단의 라이선스 방식을 채택하고 있는데 하나는 GPLv2.0 (ipxe open source)이며 나머지 하나는 GPLv.3.0 (grub open source) 입니다. 오픈소스 라이선스에 대한 세션을 듣고 나니 충돌문제라는 것이 생길 수 있다는 것을 처음 알게 되었습니다.

이 경우 저희 프로젝트는 라이선스 규칙을 어떤 것으로 적용해야하는지 궁금하여 조언을 얻고 싶어, 이슈로 올려보고자 합니다.

egaoneko commented 8 years ago

이슈 올리신걸 보고 궁금해서 찾아봤어요.

https://www.olis.or.kr/ossw/license/compareGuide.do https://www.olis.or.kr/ossw/license/licensefaq/detail.do?bbs_num=118 https://en.wikipedia.org/wiki/GNU_General_Public_License

위의 사이트들을 읽어보니 GPLv2 와 GPLv3가 호환되지 않는 것 같네요. [SecurityBootManager] 팀이 배포하신대로 "GPLv3" 나 "GPLv2 or any later version"로 배포하면 문제가 없지 않을까요?

kbu1564 commented 8 years ago

@egaoneko 2버전의 너무 강한 조항을 가진 문제를 보안한것이 LGPL이고 디지털 적인 부분에 더 신경쓴것이 3버전이라 알고 있는데 이게 말해주신 대로 last version사용으로 문제 없다면 상관 없을것도 같습니다.

하지만 그래도 되는지 걱정이네요. 3버전 라이선스를 임의로 2버전으로 묶어도 되는지. 음.. 우선 저희는 3버전 조항이 2버전 조항의 포함관계에 존재한다면 2버전으로 가는것이 옳다고 봐서 2버전을 현재 채택한 상태입니다.

egaoneko commented 8 years ago

@kbu1564 어렵네요. 다른 분들의 의견이 궁금하네요. :)

maxtortime commented 8 years ago

http://www.ifross.org/en/what-difference-between-gplv2-and-gplv3 http://www.ifross.org/en/when-gplv2-used-and-when-gplv3-used http://www.ifross.org/en/what-license-compatibility

제가 해석한게 맞다면 v2 와 v3를 사용할지는 원제작자가 정하는대로 따라야 하는 것 같네요. 즉 제작자가 v2라 명시했으면 v2라고 v3라고 명시했으면 v3로 가야하는 것 같네요. 그리고 둘 사이는 호환도 안 되는 듯 하고요. 즉 v2로 된 친구들을 임의로 v3로 묶으면 문제가 생길 것 같네요.

저도 다른 라이선스 전문가 분들의 답변을 기다려봅니다...

tyburn117 commented 8 years ago

@maxtortime 감사합니다! 두번째 링크에서 특히 많은 도움이 되었습니다! :)

kbu1564 commented 8 years ago

@maxtortime @egaoneko 두분께 감사드립니다. 특히 @maxtortime 님께서 올려주신 링크의 원문을 확인해본 결과

GPLv2.0과 GPLv3.0을 사용하는 경우 GPLv2.0에서 any later version이라 명시 되어있는 경우 2차 저작물에 대한 GPLv3.0을 따르도록 허용한다는 문구가 존재하는 것을 확인 하였으며, version 2 only 라고 명시한 경우 사용할 수 없다고 된것을 확인 하였습니다.

현재 GPLv2.0을 사용중인 ipxe라이선스 파일에서 아래와 같은 구문을 발견 하였습니다.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

자세한 내용은 더 확인을 해야 할것으로 보이지만 말해주신 링크가 상당히 도움되었습니다. 아무래도 저희 라이선스를 GPLv3.0으로 가야할것으로 보입니다, 감사합니다.

maxtortime commented 8 years ago

도움이 되셨다니 감사합니다 ㅎㅎ

youknowone commented 8 years ago

이미 결론은 올바르게 나왔지만 확실한 정리를 위해서 조금 더 쓰겠습니다.

일반적으로 이야기해서, GPLv2와 GPLv3는 (그 유사성에도 불구하고) 호환성이라는 관점에서는 상호 운용이 불가능한 완전히 다른 라이선스입니다. 다만 같은 이름의 상위버전을 유지해서 얻는 이득은, 많은 GPLv2(라고 부르는) 소프트웨어가 실제로는 GPLv2 or later로 배포되고 있고 따라서 이들은 GPLv2와 GPLv3(그리고 이후에 나오는 GPL라이선스) 모두로 배포하는 것으로 간주할수 있기 때문이지요. 따라서 말씀하신대로 GPLv3를 채택하면 문제 없이 모든 코드를 통합해 사용할 수 있으나, 그 이유는 GPLv3로서의 ipxe와, GPLv3로서의 grub과, GPLv3로서의 현재 작성중이신 코드를 결합하여 GPLv3 소프트웨어를 만들 수 있기 때문입니다. 따라서 완성된 소프트웨어는 ipxe와 grub 코드를 모두 포함해서 완전한 GPLv3로만 간주되고, GPLv2로서의 ipxe는 여기에 아무 관련이 없어요.