2007년 2월 15일 목요일

오픈소스의 저작권, 그리고 상용 SW 개발자가 반드시 지켜야 할 사항

아래 내용은 앤디님의 블로그 에서 긁어온 일부 내용입니다. 전체 내용은 앤디님의 블로그를 참고하세요.

소프트웨어 저작권의 시작
컴퓨터의 초창기 시절, 사용자가 곧 개발자인 시절이 있었습니다. 컴퓨터 애호가들은 서로가 작성한 코드를 펀치 테이프로 작성하여 나누던 시절입니다. 이 때 소프트웨어의 상품성에 눈을 뜨고 소프트웨어는 돈을 주고 사용해야 한다는 사람이 나타납니다. 그가 바로 빌 게이츠입니다.

1976년 빌 게이츠는 친구 폴 앨런과 MITS Altair 8800을 위한 베이식 인터프리터를 만들었고, MITS를 통해 판매하였습니다. 그리고 이 소프트웨어는 동호인들에게 매우 인기가 높았죠.

하지만 곧 자신들의 소프트웨어가 복제되어 무상 배포되고 있는 것을 알게 되었고, 빌은 이에 분노하여 유명한 “Open Letter to Hobbyists”를 MITS 뉴스레터를 통해 공개합니다. 이 사건은 소프트웨어의 유료화라는 개념이 등장한 계기로 알려져 있습니다.

이에 대해 많은 동호인들은 반감을 표시하거나, 말도 안 되는 소리 등으로 치부하기도 했습니다만 빌은 꿈쩍도 하지 않았죠. 개인용 컴퓨터 시장이 성숙하고 프로 개발자들이 등장함에 따라, 결국 소프트웨어는 돈을 주고 사야 하는 것의 지위를 차지하게 됩니다.

자유 소프트웨어의 등장과 GPL
그 후 대부분의 소프트웨어 개발사는 자신의 코드를 철저하게 숨기고, 소프트웨어를 상업적으로 판매하게 됩니다. 이러한 상업적 접근은 시장이 확대되어 감에 따라 더욱 큰 효과를 발휘하였고, 많은 유능한 인재들이 소프트웨어 개발에 참여하게 됩니다. 그런데 이러한 폐쇄적인 문화에 반발하는 인물이 나타납니다. 그가 바로 유명한 리차드 스톨만이죠. 자유 소프트웨어 재단의 대표이며 Emacs와 같은 걸출한 에디터를 개발한 사람입니다. 그리고 그가 이끌던 GNU 프로젝트가 없었다면, 리눅스는 지금처럼 꽃을 피우지 못 했을 겁니다.

어쨌거나 그는 1989년 첫 버전의 GNU General Public License (GPL)을 발표합니다. 소프트웨어의 사용자에게 진정한 자유를 주고자 했던 노력의 산물이라 할 수 있겠습니다. GPL하에 배포된 소프트웨어를 개작하고, 재 배포하는 모든 일이 자유입니다. 단 GPL을 따르는 소스를 이용하여 무언가를 개발한다면, 개발된 소프트웨어 역시 GPL 라이선스를 따라야 하며, 소스가 공개 되어야 합니다. 그리고 소프트웨어 자체에 대한 비용을 청구할 수 없으며, 단지 배포를 위한 패키징 비용 정도만 청구가 가능합니다. GPL은 개발자들 간의 공유 정신에 다시금 불을 붙였고, 엄청난 인기를 누리며 오픈 소스 운동의 견인차 역할을 하게 되지만, GPL의 소스 공개 원칙은 대다수 상업용 소프트웨어 개발사들이 참여하지 못하게 하는 장벽이 되기도 했습니다. 이러한 점 때문에, 라이브러리를 위한 Lesser General Public License (LGPL)가 발표 됩니다. 기본적으로는 동일하나 적용 범위가 라이브러리로 국한된다는 점이 가장 큰 차이입니다. 즉 GPL이 적용 된 라이브러리를 상용 프로그램 개발에 사용한다면, 해당 프로그램 전체를 공개해야 합니다. 하지만 LGPL이 적용 된 라이브러리를 사용하게 되면, 해당 라이브러리만 공개하면 됩니다. 전체 소프트웨어의 나머지 부분은 공개하지 않아도 되며, 소프트웨어의 비용을 청구할 수도 있습니다.

다양한 라이선스의 등장
GPL과 리눅스의 발전과 함께 진행 된 오픈 소스 운동의 결과 다양한 오픈 소스 라이선스가 생겨납니다. 네오비스님의 글에서도 소개 된 바 있는 OSI (Open Source Initiative) 홈페이지에서 많은 수의 오픈 소스 라이센스를 볼 수 있으며, FSF(Free Software Foundation)의 홈페이지에서 Free Software 라이선스 목록을 볼 수 있습니다. 그 중에는 상업용으로 사용하여도 어떠한 제한도 없는 경우도 있으며, GPL과 같이 상업적 이용이 제한되는 경우도 있습니다. 주로 사용되는 라이선스의 예를 들자면 Apache Software License, MIT License, BSD License 등을 들 수 있습니다. 반대로 매우 엄격한 제한이 걸려 있지만, 소스만 공개되는 경우도 있습니다. 예를 들자면 Intel은 자사의 일부 소프트웨어 라이브러리 소스를 공개했지만, 소스를 수정하거나 상업적으로 이용하는 것은 금지하고 있습니다. 개발 테스트 용 정도로만 사용이 가능하고, 상업용 소프트웨어에 적용하려면 별도의 라이선스 계약이 필요한 것이죠. 이러한 소스를 보고 사용하는 것은 매우 주의해야 합니다. 만약에 해당 소스의 내용을 살펴 본 후, 별 내용이 없어 독자 개발하였다 하더라도, 해당 소스 코드를 사용하였다는 판단에 따라 소송의 대상이 될 수도 있기 때문이죠. 이러한 경우 해당 오픈 소스를 보지 않았으며, 개발 중에 참조하지 않았다는 것을 증명해야 합니다.

댓글 없음: