2008년 4월 18일 금요일

GPL 버전2 3항(소스코드 공개 방법)의 불편함

GPL 버전2는 1991년에 개정됐습니다. 잠깐 기억을 되돌려봐도 당시에 인터넷이라는 건 미국 정부기관, 연구소, 대학들에서만 이용할 수 있는 장치였지 보편적인 장치가 아니었습니다. (국내에는 연결된 기관이 KAIST정도밖에 없었겠죠.) 가장 보편적으로 소스코드를 전달할 수 있는 매체는 물리적인 저장장치를 우편으로 전달하는 것이었습니다.

GPL 버전2의 3항은 그래서 이런 모습이 되어 버렸습니다. 3항은 a), b), c) 중 한 가지 방법으로 오브젝트에 대한 소스코드를 전달하도록 되어 있는데 a)는 함께 전달하는 것이고, b)는 3년간 소스코드를 물리적으로 전달한다고 보장하는 문서를 제공하는 것, c)는 비상업적인 용도에 한해 앞의 b)의 내용을 그대로 forward할 수 있다는 것입니다. 오브젝트 코드를 배포하지 않으면 아주 간단해 지지만, 배포한다면 소스코드를 같이 전달하거나 3년간 물리적인 소스코드 전달을 보장해야 합니다.

이 점은 오브젝트 코드를 배포해야 하는 업체들에게는 곤혹스러운데요. 제품과 함께 CD같은 미디어를 배포한다면 끼워넣으면 되지만, 제품에 따로 소스코드를 넣을 만한 여지가 없으면 물리적인 소스코드 전달을 보장해야 하는 번거로움이 있습니다. (물론 일반 리눅스 바이너리 CD를 판매하는 업체들도, 공식적으로 연락을 하고 우편요금을 지불하면 실제로 소스코드가 담긴 CD를 보내준다고 합니다. 물론 인터넷으로 받으면 되기 때문에 이게 되는지 일부러 실험하고 싶은 사람이 아니라면 일부러 요청할 필요가 없지만요.)

GPL 버전3은 이 부분이 보강되어 있습니다. 오브젝트와 같은 자격으로 접근할 수 있는 위치에 소스코드를 제공하는 것으로 (즉 URL을 쓰는 것으로) 조건을 만족할 수 있습니다. GPL 버전 2에선 이게 안 되고, 버전3에서만 됩니다. 시대의 변화를 반영한 이 부분은 매우 긍정적입니다. 오히려 버전3이 비지니스 프렌드리하지 않을까요.

문제는 리눅스 커널도 그렇고, BusyBox도 그렇고 "or (at your option) later version" 문구가 붙어 있지 않은 "GPL v2 only" 소프트웨어가 꽤 있어서 GPL v2는 쉽게 사라지지 않을 거고, 여전히 3년간 물리적인 매체를 통해 전달하는 보장을 해야 됩니다.

(업데이트)

참고 글: The GPL Has No (Networked) Future

댓글 1개:

  1. ko-po-check의 라이센스를 GPL3로 바꾸셨길래 V.2와 V.3의 차이점이 궁금했는데, 이렇게 잘 설명해 주셔서 GPL3에 대해 더 이해할 수 있게 되었습니다. 감사드립니다. (__)

    답글삭제

뜬금없이 문법 따위를 지적하거나, 오래된 글에 링크가 깨진 걸 지적하는 등의 의미 없는 댓글은 자제해 주시기 바랍니다. 그러한 경우 답 없이 삭제합니다. 또한 이해 당사자이신 경우 숨어서 옹호하지 마시고 당사자임을 밝히시길 바랍니다.

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.