Jang, Sun-Jin's Idea

This blog is my idea bank. I'm write my idea on this blog. And I'm reward my idea everyday.

Thursday, December 14, 2006

주요 오픈소스 라이센스

주요 오픈소스 라이센스

오픈소스 소프트웨어의 장점을 최대한 활용하기 위해 반드시 준수해야 하는 오픈소스 라이센스에 대해 살펴본다.

① GNU General Public License 2.0
1980년대에 들어 PC가 널리 보급되기 시작하면서 이전에는 하드웨어의 부속물로만 간주되던 소프트웨어가 부가가치산업으로 발전하기 시작하였다. 이와 함께 지적재산권 및 라이센스를 통하여 소프트웨어의 사용, 복제, 배포, 수정에 일정한 제한을 가하려는 움직임이 나타나게 되었다.
소프트웨어를 둘러싼 이러한 흐름에 반대하고 소프트웨어의 자유로운 사용, 공유, 수정에 대한 기존의 권리를 유지하기 위하여 리차드 스톨만(Richard Stallman)은 자유 소프트웨어 재단(Free Software Foundation;FSF)을 설립하고 자유 소프트웨어 운동을 전개하였다.
FSF는 자신의 소프트웨어에 대한 저작권을 확보한 뒤, 이러한 권리를 전제로 소프트웨어의 자유로운 공유 및 수정을 보장하고자 하였는데, 그 결과 만들어진 것이 GNU General Public License (GPL) 이다. 이후 FSF는 대부분의 소프트웨어를 GPL에 의해 배포하였으며, 다른 개발자들도 본인들의 의사에 기하여 자신의 소프트웨어를 GPL 조건으로 배포하기 시작하여, 현재 GPL조건의 소프트웨어가 오픈소스 소프트웨어의 가장 많은 부분을 차지하고 있다. GPL의 주요 내용을 요약하면 아래와 같다.
A) 소프트웨어에 대한 자유로운 사용, 복제, 배포 및 수정을 허용
B) 소프트웨어를 배포하는 경우 저작권 표시, 보증책임이 없다는 표시 및 GPL에 의해 배포된다는 사실 명시
C) 소프트웨어를 수정하거나 새로운 소프트웨어를 링크시키는 경우 GPL에 의해 소스 코드 공개
D) 리눅스를 기반으로 개발된 Application은 소스 공개할 필요 없음
E) Object Code 또는 Executable Form으로 소프트웨어를 배포하는 경우, 소스 코드 또는 written offer를 함께 제공해야 함
F) 자신의 특허를 Royalty-Free로 제공하는 경우에 한하여 이를 구현한 프로그램을 GPL로 배포할 수 있으며, 제3자의 특허인 경우에도 특허권자가 Royalty-Free형태의 라이센스를 제공해야만 해당 특허기술을 구현한 프로그램을 GPL로 배포하는 것이 가능

② GNU Lesser General Public License 2.1
FSF가 일부 Library에 GPL보다 다소 완화된 형태인 GNU Lesser General Public License (LGPL)를 만들어 사용하고 있는 이유는 오픈소스 소프트웨어의 사용을 장려하기 위한 전략적인 차원에서이다. 만일 상용 Library와 동일한 기능을 제공하는 Library에 GNU와 같은 엄격한 라이센스를 적용하게 되면, 개발자들이 Library의 사용을 꺼려할 것이다.
오히려 이미 널리 사용되고 있는 상용 Library와 동일한 기능을 제공하는 Library는 LGPL로 배포하여 그 사용을 장려하고 사실상의 표준으로 유도하는 한편, 관련된 다른 오픈소스 소프트웨어를 보다 더 많이 사용할 수 있도록 하겠다는 것이 FSF의 전략이다.
LGPL Version 2.1은 GNU ‘Library’ General Public License version 2.0의 후속 버전이다. 일부 한정된 Library에 대해서만 LGPL을 사용하려는 것이 FSF의 의도였으나 ‘Library’란 단어가 라이센스 이름에 포함되어 개발자들이 모든 Library를 위한 라이센스로 오인하는 경향이 있었다. 결국 이러한 오인을 방지하기 위하여 ‘Library’를 ‘Lesser’로 수정하였을 뿐 기본적인 내용은 동일하기 때문에 Version 2.1으로 표기한 것이다. LGPL의 주요 내용을 요약하면 아래와 같다.
A) 소프트웨어에 대한 자유로운 사용, 복제, 배포 및 수정 허용
B) 소프트웨어를 배포하는 경우 저작권 표시, 보증책임이 없다는 표시 및 LGPL에 의해 배포된다는 사실 명시
C) LGPL Library의 일부를 수정하는 경우 수정한 Library를 LGPL에 의해 소스 코드 공개
D) LGPL Library에 응용프로그램을 링크시킬 경우 해당 응용프로그램의 소스를 공개할 필요 없음. 다만 사용자가 Library 수정 후 동일한 실행 파일을 생성할 수 있도록 Static Linking시에는 응용프로그램의 Object Code를 제공해야 함
E) 특허의 경우 GPL과 동일함

③ BSD License
BSD(Berkeley Software Distribution) 라이센스는 GPL/LGPL보다 덜 제한적이기 때문에 허용범위가 넓다. 이는 BSD가 미 정부에서 제공한 재원으로 운영되었기 때문이다. GPL과의 차이점 중 가장 중요한 사항은, BSD 라이센스를 따르는 프로그램의 소스 코드를 구해 수정한 후 Source를 공개하지 않고 BSD가 아닌 다른 라이센스를 적용하여 판매할 수 있다는 점이다. 주요 내용을 요약하면 아래와 같다.
A) ‘저작권 표시’, ‘무보증의 표시’만 한다면 누구든지 자유로이 사용, 복제, 배포, 수정이 가능함
B) 수정 프로그램에 대한 소스 코드의 공개를 요구하지 않기 때문에 상용 소프트웨어에 무제한 사용가능

④ MPL(Mozilla Public License)
MPL은 넷스케이프 브라우저 클라이언트인 MOzilla 소스코드를 공개하는 라이센스다. MPL은 MPL-software의 사용에 있어 일종의 복제권을 강요한다. GPL과의 주된 차이는 MPL하에 있는 소프트웨어가 전염성 없는 소프트웨어 제품으로 포함될 수 있다는 것이다. 따라서 MPL의 기본은 LGPL과 비슷하다. 또 이와 비슷한 라이센스는 IBM Public License나 Sun Public License다. 이 라이센스는 모두 OSI(Open Source Initiative)의 승인을 받은 것이다.

0 Comments:

Post a Comment

<< Home