jQuery mobile 의 라이센스에 대해서 조사하다가 소프트웨어 사용권에 대해 잘 정리되어 있는 블로그를 발견했다. gskinner.com 에 정리되어 있는 영문자료를 번역하여 정리해 놓으신 듯 하다. 종종 필요한 정보이고 자주 찾아보기 위해 약간의 첨언을 붙여 블로그에 옮겨놓는다.
번역 원문 : http://http://codeonwort.tistory.com/4
영어 원문 : http://www.gskinner.com/blog/archives/2008/07/source_code_lic_1.html
소프트웨어 사용권(Software License)은 소프트웨어를 사용할 수 있는 권한 또는 사용을 허가한다는 내용을 담은 문서를 말한다. 이 때 소프트웨어는 소프트웨어 구성 요소일 수도 있고, 독립적인 소프트웨어일 수도 있다.
소프트웨어를 허가없이 사용하는 행위는, 소프트웨어 소유자에 대한 권리를 침해하는 것이며, 이 행위를 한 자는 소프트웨어 소유자로부터 저작권법 또는 드물게 특허법에 의거 소송을 당할 수 있다.
많이 사용되는 Software License 들은 다음과 같다.
- 암시적 사용권 (명시된 라이센스가 없을 경우)
- GPL (GNU General Public License)
- LGPL (GNU Lesser General Public License)
- MPL (Mozilla Public License)
- BSD 3 & 4 clause versions
- Apache License version 2.0
- MIT (X11)
- 권리 소멸 상태 (Public Domain)
- 크리에이티브 커먼즈(Creative Commons)
암시적 저작권 (명시된 라이센스 없음)
상업적 사용 | 변경 | 출처 표시 |
불가능 | 불가능 | 해야 함 |
개요(Overview)
명백한 라이센스 없이 배포된 소스 코드는 권리 소멸 상태고(아래를 보라) 무료이며 마음대로 써도 된다...는 오해가 만연하다. 실은 정반대다. 라이센스 없이 배포된 소스 코드는 저작권법 하에 암시적 보호를 받는다. 이는 저작권 통지가 없어도 적용된다.
함의(implication)
제작자가 특별히 허가하지 않은 이상 프로젝트에 라이센스 없는 코드를 쓰는 것은 불법이다. 제작자의 권리가 갖는 강제성은 소스 코드에 관해서는 조금 막연하지만(특히 여러분이 배포에 앞서 소스 코드를 꽤 고쳤다면), 나중에 후회하느니 안전하게 가는 게 낫다.
라이센스가 명시되지 않았고 공용으로 배포된 코드를 사용하려면, 그 개발자와 만나서 코드를 MIT 라이센스 하에 재배포하길 요청하는 걸 권한다.
더 많은 정보
GPL GNU General Public License
상업적 사용 | 변경 | 출처 표시 |
가능하지만 모든 소스 코드는 GPL 하에 배포해야 한다. | 소스, 배포판 |
개요
GNU는 GPL 라이브러리와 관련된 소스 코드에 반드시 GPL을 적용해야 함을 뜻하는 "바이러스성" 라이센스다. 자유 소프트웨어 재단(Free Software Foundation)에 따르면 동적 연결 라이브러리도 여기에 포함된다.
함의
GPL 라이브러리는 상업 프로젝트에 무료로 쓸 수 있다. 하지만 여러분의 프로젝트에 소스 코드 전체를 사용한다면, 프로젝트의 복제품을 획득한 사람이 그것을 GPL 하에 사용하게 만들어야 한다. 이것은 여러분의 고객의 경쟁자가 그 코드를 얻어서 자신을 위해 합법적으로 배포할 수도 있다는 것을 뜻한다. 이걸 허락하는 고객이 있을까?
애플리케이션은 절대로 최종 사용자의 것이 아니므로 서버 사이드 코드는 예외임을 주의하라. 엄밀하게 말하면 GPL은 플래시가 들어 있는 클라이언트 기계에서 실행되는 웹 애플리케이션에 적용되지만, 설치되지 않는 소프트웨어는 토론을 더 많이 해볼 주제다.
여러분은 프로그램에 눈에 잘 띄는 저작권 통지를 표시하고 라이센스의 전문을 제공해야 한다. 이것이 웹 애플리케이션에 정확히 얼마나 적용되는가는 명확치 않지만, 애플리케이션의 about 상자에 통지와 라이센스 문서에 대한 링크를 넣으면 족할 듯하다.
더 많은 정보
LGPL GNU Lesser General Public License
상업적 사용 | 변경 | 출처 표시 |
가능 | 가능하지만 직접적 파생물은 LGPL 하에 배포해야 한다. AS3에서 이 요구 조건을 충족하기는 기술적으로 어렵다. | 소스, 배포판 |
개요
LGPL은 한 가지 중요한 차이만 빼면 GPL과 판박이다. 여러분의 소스 코드를 LGPL 하에 배포하지 않아도 프로젝트에 LGPL 라이브러리를 동적으로 연결할 수 있다. 단 수정 버전이나 하위클래스 같은 LGPL 코드의 직접적 파생물은 LGPL 하에 배포해야 한다.
또다른 요구 사항은 여러분의 프로젝트에 쓰인 LGPL 라이브러리가 리버스 엔지니어링되는 것, 사용자가 이 라이브러리를 새로운 버전으로 교체하는 것을 허락해야 한다는 것이다.
함의
동적 연결 라이브러리가 AS3에서 기술적으로 가능하다 할지라도 간단한 방법이 없다. 런타임에 클래스를 불러오는 것은 쉽지만 여러분의 바이너리 안에 컴파일하지 않은 라이브러리에 기대어 컴파일하는 것은 조금 너저분하다.
게다가 사용자가 웹 애플리케이션 안의 LGPL 라이브러리를 교체할 수 있어야 한다는 요구 사항을 어떻게 만족시킬지도 막연하다.
그리고 LGPL 하의 코드를 서브클래싱*할 때는 조심해야 한다. 하위클래스는 직접적 파생물로 간주되고 LGPL의 대상이 되는데, 이는 하위클래스를 프로젝트에 동적으로 연결해야 함을 뜻한다(그렇지 않으면 여러분의 프로젝트가 싸그리 LGPL의 대상이 된다).
* 하위 클래스를 만드는 작업
LGPL과 GPL의 출처 표시 함의는 같다. 저작권 공지와 라이센스 전문, 더불어 LGPL 라이브러리의 소스 코드를 포함했다는 정보를 실어야 한다.
더 많은 정보
MPL Mozilla Public License
상업적 사용 | 변경 | 출처 표시 |
가능 | 가능, 하지만 원래 코드를 변형한 것은 MPL 하에 배포해야 한다. | 소스, 배포판 |
개요
MPL은 매우 너그러운 라이센스다. 상업적 사용과 변경을 허락하고, MPL 하에 놓이게 되는 코드의 범위도 매우 좁다. 원래 MPL 라이브러리의 일부를 수정 또는 복사한 코드를 포함하는 파일만 MPL 하에 재배포하면 된다. LGPL과 달리 동적 연결에 관한 요구 사항은 없다. 여러분의 프로젝트 안에 라이브러리를 컴파일할 수 있다.
함의
MPL 라이브러리에서 수정한 부분을 알리는 것 외에 중요한 요구 사항은, 프로젝트에 쓴 MPL 라이브러리를 어디서 얻는지에 대한 지침을 화면 가장자리 같은 곳에 포함해야 한다는 것 뿐이다. 여러분의 클라이언트가 이 조건을 수락한다면 프로젝트에 MPL 코드를 사용하는 것이 문제가 되지는 않을 것이다.
더 많은 정보
BSD 3 & 4 clause versions
상업적 사용 | 변경 | 출처 표시 |
가능 | 가능 | 소스와 문서. (비난 받는) 4조항 버전에서는모든 마케팅 자료에 출처를 표시해야 한다. |
개요
BSD 라이센스는 아주 간단하고 너그러운 라이센스다. BSD 라이센스 하의 소스 코드 파일 안과 여러분 프로그램의 문서 안에 저작권 공지와 라이센스 텍스트를 넣기만 하면 소스 코드를 쓸 수 있다.
이 라이센스의 옛날 4조항 버전에서는 BSD 라이센스 하의 라이브러리를 제작한 사람에 대한 크레딧을 프로그램을 위한 모든 마케팅 자료에다 포함해야 했다. 그래서 이것은 폐지되었고 4조항 버전을 사용하는 요즘 코드 라이브러리는 보기 어렵다.
함의
BSD 라이센스 하의 소스 코드를 사용하는 데는 실질적으로 출처 표시 요구 사항만 관련이 있다. 라이센스가 3조항 버전이고, 여러분의 클라이언트가 BSD 하의 소스 코드와 문서에 저작권 공지와 라이센스 텍스트를 넣는 것을 허락하면 여러분에게는 행운이다.
4조항 버전 BSD 라이센스 하의 라이브러리를 상업 프로젝트에 쓸 때는 매우 조심해야 한다. 클라이언트는 자신이 운영하는 모든 배너 광고와 라디오 코너(radio spot)에 출처를 표시해야 한다면 그다지 달가워 하지 않을 것이다.
더 많은 정보
Apache License version 2.0
상업적 사용 | 변경 | 출처 표시 |
가능 | 가능 | 소스, 라이센스를 소유한 사람이 명시했으면 배포판에도 |
개요
아파치 라이센스 버전 2.0의 조건은 BSD 라이센스와 비슷하지만 보다 일반적이고 뚜렷하여 지적 재산 문제를 더 포괄적으로 포함한다. AL2 하의 소스 코드는 사실상 어느 목적으로든 쓸 수 있지만 소스 코드에 관련 IP, 라이센싱, 출처 알림을 모두 넣어야 한다. 또 이런 공지들을 "NOTICE" 파일이나 여러분의 바이너리에서 적당한 위치에 표시해야 한다.
콜드 퓨전 커뮤니티에선 ASL2가 인기 있는 라이센스다.
함의
BSD 라이센스와 마찬가지로 AL2 라이브러리를 쓸 때는 주로 출처 표시 요구 사항만 신경쓰면 된다. 소스 코드에 공지를 넣어야 하고, NOTICE 파일이나 애플리케이션 화면에 공지를 표시해야 한다. 후자는 원래 배포에 NOTICE 텍스트 파일이 포함된 경우에만 필요하다.
더 많은 정보
MIT (X11)
상업적 사용 | 변경 | 출처 표시 |
가능 | 가능 | 소스 코드만 |
개요
MIT 라이센스는 매우 간단하고 너그럽다. 여러분이 MIT 라이센스 하의 코드에서 라이센스, 저작권 정보를 제거하는 것을 빼고는 원하는 무엇이든 할 수 있다.
함의
MIT 라이센스의 유일한 요구 사항이 소스 코드의 헤더를 남겨 두는 것이기 때문에 보통 MIT 라이센스의 코드를 상업 프로젝트에서 사용하는 것은 문제가 안 된다.
나는 우리의 공용 라이브러리 대부분을 MIT 하에 배포하며 다른 개발자들도 이러기를 장려한다.
더 많은 정보
권리 소멸 상태(Public Domain)
상업적 사용 | 변경 | 출처 표시 |
가능 | 가능 | 하지 않음 |
개요
작업물을 권리 소멸 상태로 만들려면 권리자는 작업물이 권리 소멸 상태라고 명시해야 한다. 그런 후 작업물에 대한 모든 권리는 없어진다.
함의
권리 소멸 상태의 작업물은 이론적으로 아무 것도 방해받을 게 없다. 이는 권리자가 사용한 권리 포기 표현에 의해 허가된다.
더 많은 정보
크리에이티브 커먼즈(Creative Commons)
상업적 사용 | 변경 | 출처 표시 |
그때 그때 다름 | 그때 그때 다름 | 그때 그때 다름 |
개요
크리에이티브 커먼즈는 개발자가 필요한 조건을 선택하는, 조합식 라이센스를 제공한다. 예를 들어 나는 상업적 사용, 변경을 허용하고 출처는 표시하지 않아도 된다는 라이센스나 상업적 사용과 수정을 허락하지 않으며 출처는 표시해야 하는 라이센스를 만들 수 있다. GPL, LGPL, BSD 라이센스, 권리 소멸 상태로도 만들 수 있다.
크리에이티브 커먼즈 라이센스의 매우 좋은 점 중 하나는 사람이 읽을 수 있는 개요와 완전한 법적 텍스트를 포함해야 한다는 것이다.
"조합식" 크리에이티브 커먼즈 라이센스는 소프트웨어 사용을 위해 계획된 게 아님을 숙지하자.
함의
사용된 라이센스에 따라 다르다.
더 많은 정보
위의 정보들을 찾게 만든 jQuery Mobile 은 jQuery 의 라이센스 정책을 따르며 jQuery Mobile 에서 제공하는 소스에는 아래와 같이 라이센스가 명시되어 있다.
/* * jQuery Mobile Framework 1.1.0 db342b1f315c282692791aa870455901fdb46a55
* http://jquerymobile.com
*
* Copyright 2011 (c) jQuery Project
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
*/ |
Dual licensed 는 MIT 와 GPL Version 2 중에 하나의 라이센스 정책을 골라서 적용하라는 의미로 어떤 라이센스를 적용하던지 상관이 없다.
참고자료
위키백과, 우리 모두의 백과사전( http://ko.wikipedia.org/wiki/ )
CODEONWORT( http://codeonwort.tistory.com/4 )
gskinner.com(http://www.gskinner.com/blog/archives/2008/07/source_code_lic_1.html)
'Major Field' 카테고리의 다른 글
Build WebKit with Visual Studio 2010 on Windows 7 (0) | 2013.07.16 |
---|---|
Tortoise SVN 에서 Edit log message 사용하기 (0) | 2012.01.06 |
Tortoise SVN을 Command로 활용하기 (0) | 2011.10.04 |
ORACLE VirtualBox Installation (0) | 2010.03.31 |