기존(오픈소스 개념이 없을 때)에는 내 소스 코드를 공개한다는 것은 곧 누군가가 내 코드를 가져가서 사용할 수 있다는 의미이기 때문에 대부분 공개하지 않았습니다.
HW 중심 체제로부터 점점 소프트웨어의 비중이 높아지면서 소프트웨어의 비중이 높아지면서 소프트웨어 기업의 소프트웨어에 대한 이용/배포/복제/수정 등에 일정한 제한을 가하려는 추세가 있자 이러한 독점 체제에 반발해 공유를 주장하는 자유 소프트웨어 운동(Free Software Movement)이 Richard Stallman
에 의해 일어났습니다.
OSD(Open Source Definition)
Free Software라는 용어 때문에 SW가 무료이고 저작권이 없다는 인식이 확산되어 OSI(Open Source Initiative)
단체는 10개 항목으로 된 오픈소스 기준 OSD(Open Source Definition)
을 정하였습니다.
OSI는 오픈소스 소프트웨어 사용을 장려하기 위해 1998년 설립된 비영리 단체로 OSD의 관리 및 촉진 뿐만 아니라 ‘공개 소프트웨어 인증마크’ 를 발급함으로써 인증마크를 받은 소프트웨어가 오픈소스라는 것과, 해당 소스의 복제도 가능하다는 것을 증명한다. OSI가 발표한 OSD에서는 다양한 종류의 오픈소스 라이선스가 지켜야 할 최소한의 기준을 정함으로써 오픈소스를 정의하고 있다.
지적 재산권이란 인간의 지적, 정신적 활동으로 얻어지는 무형의 재산에 대한 권리를 의미합니다. 지적 재산권은 법으로 제정되어 보호받기 때문에 사실상 오픈 소스보다 위에 존재합니다.
오픈 소스는 무료가 아니며 복제 및 수정이 가능하다고 하여 저작권이 없는 것 또한 아닙니다. 오픈 소스의 의미는 좋지만 지적재산권을 살펴보면 의미가 상충합니다.
즉 상업적 이용에는 제한이 생길 수도 있으며 소송에도 휘말릴 수 있음을 암시합니다.
몇 년 전 JAVA를 만든 Orachle 재단에서 Facebook에 JAVA의 API를 무단으로 사용한 것에 대해서 지적재산권 침해 소송을 걸어 승소하였습니다.
문제는 JAVA가 MLP 라이선스를 내건 OSS였던 것입니다.
Android OS 또한 OSS이지만 Microsoft가 Android OS에 대한 특허를 가지고 있기 때문에 사용 기업에게 로열티를 받고 있습니다.
지적 재산권은 산업재산권+저작권
으로 이루어져 있으며 산업재산권은 특허권, 실용신안권, 의장권, 상표권
으로 분류할 수 있습니다.
따라서 저작권
, 특허권
, 실용신안권
, 의장권
, 상표권
으로 분류할 수 있습니다.
각 권리의 대상은 다음과 같습니다.
OSS에 대한 License라는 것은 타인이 권리자의 SW를 사용하는 경우에 하는 계약의 일종입니다.
헷갈리지 말아야 할 것은 License는 타인이 권리자의 SW의 사용 권한의 범위를 기술한 문서입니다.
License가 없다면 저작권이 존재하지 않는 것이 아니라 타인이 권리자의 SW를 사용할 수 있는 권리가 없다는 의미입니다.
OSI에서 공인한 라이선스: 74가지, 주로 사용되는 라이선스는 GPL
, LGPL
, BSD
, MPL
, Apache
등이 있습니다.
소스 코드는 공개의무 강도에 따라 Permissive 라이선스와 Copyleft 라이선스로 구분할 수 있습니다.
MIT
, Apache
, BSD
GPL
, LGPL
, AGPL
(웹서비스도 배포의 일종으로 보고 소스코드 공유 의무 발생)오픈소스SW를 상업적 목적으로 이용하고, 오픈소스 커뮤니티와도 협력을 위해 상업용 라이선스와 오픈소스SW 라이선스를 조합하여 해당 프로그램을 배포하는 경우 사용합니다.
기존에 만들어진 코드를 재사용하거나 다른 오픈소스SW와 결합하여 개발하려는 경우 라이선스의 양립성을 먼저 확인해야 합니다. 예를 들어 MPL, GPL을 조합하면 요구조건이 달라 배포 자체가 불가능합니다.
표기 | 의미 | 이용 허락 조건 |
---|---|---|
BY | Attribution(저작자 표시) | CCL에 반드시 포함되는 필수조항으로써 저작자의 이름, 출처 등 저작자를 표시해야 함 |
NC | NonCommercial(비영리) | 저작물을 영리 목적으로 이용할 수 없고 영리 목적의 이용을 위해서는 별도의 계약이 필요함(회사에서는 사용할 수 없음) |
ND | No Deriative Works(변경 금지) | 저작물을 변경하거나 저작물을 이용한 2차적 저작물 제작을 금지함 |
SA | Share Alike(동일 조건 변경 허락) | 2차적 저작물 제작을 허용하되, 2차적 저작물에 원 저작물과 동일한 라이선스를 적용해야 함 |