2011년 1월 6일 목요일

open source license

BSD License

버클리 소프트웨어 배포 라이센스입니다. 진정한 의미에서의 Free가 어울리는 오픈소스 라이센스로, 소스 사용에 대한 어떠한 제약도 없습니다. 소스 수정 및 재배포, 바이너리 제품판매 등에 대해서도 아무런 제약이 없습니다. 소스 공개에 대한 조건도 없습니다. 한마디로 BSD로 배포되는 소스 및 바이너리에 대해서는 완벽한 자유가 보장된다고 보시면 됩니다.
예전에는 제작자의 이름을 명시하는 것이 요구되었으나, 프로젝트가 장기화, 거대화 되면서 이름이 엄청나게 길어지면서 그 조항도 현재는 없어졌습니다.
대표적으로 BSD계열의 유사 유닉스와 아파치 계열 라이센스가 있으며, 아파치 라이센스는 거의 동일한 내용입니다.



GPL(General Public License)

유명한 리쳐드 스톨만이 만든 오픈소스 라이센스입니다. 여러가지 복잡한 내용이 있지만, 요약하면 자유롭게 소스를 사용하고 배포하되 GNU GPL라이센스 조항을 반드시 포함해야 하며, 해당 소스를 사용해서 만든 것은 GPL을 따라야 하며 소스배포를 강요하게 됩니다.
이 조항들이 적용되는 범위가 상당히 넓은데다, 실질적으로 상용 라이센스로서의 의미를 가지기 힘들기 때문에 소프트웨어 제조사에서는 사용을 기피하는 편입니다. 레드햇 등의 유명 리눅스 제조사가 OS를 무료로 배포하고 서비스로 수익을 얻는 구조를 가지는가의 이유이기도 합니다.
기본적으로 이상적으로 봐서는 모든 소프트웨어가 GPL을 따르면 누구나 우수하고 좋은 프로그램을 무료로 쓸 수 있을 것 같지만, 반대로 수익 모델이 그렇게 매력적이지 못하기 때문에 회사들에게서 전폭적 지지를 받지는 못할 라이센스가 아닌가 생각됩니다.(우리나라 회사들도 GPL에 데어서 벌금 낸 회사가 부지기수입니다)
한마디로 무료로 받아서 무료로 배포하는 것이 전제라 하겠습니다.
대표적인 프로젝트로 리눅스와 GNU툴들이 있겠습니다.



모질라 라이센스(MPL)

불여우로 유명한 모질라 재단의 라이센스로, GPL과 비슷하지만 GPL이 너무 강성 노선이라면 MPL은 조금 그 영역을 좁혀서 소스 코드의 공개는 강제하되, 바이너리의 상용화 및 비공개에 대해서 보장하기 때문에 GPL에 비해서는 그 활용 영역이 넓다 하겠습니다. 즉 GPL과 달리, MPL을 따르는 프로젝트의 소스를 얻어 그 소스의 특정 부분을 변경하여 상용 프로젝트를 만들었다면, 해당 소스의 변경점을 공개하고 바뀐 부분을 알려야 하지만, 결과물에 대해서 상용화 및 소유권을 인정하는 형태입니다.
GPL과 BSD를 잘 섞은 듯한 느낌의 라이센스입니다.



LGPL(Lesser GPL)

GPL이 앞서 얘기했듯 GPL과 관계되면 모두 GPL을 따라야 하다보니 사람들이 오픈소스 진영을 제외하고는 기피하는 경향이 강했기 때문에, 그 상황을 호전시키기 위해서 나온 것으로, 라이브러리 등을 LGPL을 따르게 하면 해당 라이센스를 따르는 라이브러리를 상용 및 다른 라이센스와 연계해 사용하고 배포하는 것이 가능합니다. GPL과 마찬가지로 배포시 해당 라이브러리가 LGPL을 따른다는 것을 알리는 내용을 첨부해야 하며 해당 라이브러리를 수정 및 재배포시 소스를 공개하고 LGPL을 따라야 합니다. (해당 모듈 및 라이브러리만)
FFMPEG등에서 사용되고 있으며, FFMPEG가 사용된 곰플레이어 등은 상용소프트웨어임을 생각하시면 이해가 쉽겠습니다.