소프트웨어 라이센스 정의와 종류 (Software License)

방근호·2022년 12월 31일
3

개요

다들 깃허브를 보다가 언어 옆에 있는 License를 보신 적이 있을거다. 도대체 저게 뭐지? MIT는 대학교 아니야?

또한 소스코드를 보면 LICENSE라는 파일을 간혹 본 적도 있다.
도대체 뭐지? 라이센스가 있으면 내가 맘대로 다운받아 써도 되는 것인가??
그래서 찾아보았습니다!

소프트웨어 라이센스 (Software Lincense) 정의

소프트웨어 사용권(Software License)은 소프트웨어를 사용할 수 있는 권한 또는 사용을 허가한다는 내용을 담은 문서 따위를 말한다. 이 때 소프트웨어는 소프트웨어 구성 요소일 수도 있고, 독립적인 소프트웨어일 수도 있다.

소프트웨어를 허가 없이 사용하는 행위는, 소프트웨어 소유자에 대한 권리를 침해하는 것이며, 이 행위를 한 자는 소프트웨어 소유자로부터 저작권법 또는 드물게 특허법에 의거 소송을 당할 수 있다.

사용권 문서를 받은 자는, 사용권 문서에 명기된 조항에 따라 소프트웨어를 사용하는 것이 허가된다. - Wiki

https://ko.wikipedia.org/wiki/소프트웨어_사용권

한국어로는 소프트웨어 사용권이라고 명명하는 것 같다. 라이센스에 맞지 않게 함부로 가져다 사용하면 법적인 처벌까지 받을 수 있다고 한다!.. 더 자세하게 알아봅시다.

소프트웨어 라이센스 종류

소프트웨어 라이센스의 종류는 보통 5가지로 분류된다고 합니다.

1. 퍼블릭 도메인 (Public Domain) 타입

퍼블릭 도메인 타입은 가장 자유로운 타입이라고 합니다. 아무런 제약없이 누구나 코드를 수정 및 사용 가능합니다.

  • (주의) 코드에 아무런 라이센스가 없다고해서 자동적으로 퍼블릭 도메인 타입은 아닙니다. 그래서 라이센스 명시가 되어있지 않으면 원작자에게 반드시 물어봐야합니다.

2. GPL (General Public License) 타입

자유 소프트웨어 재단에서 만든 라이선스로 GNU 프로젝트로 배포하는 소프트웨어(Emacs, GNU 디버거(GDB), GNU 컴파일러 모음(GCC) 등)에 적용하기 위해 리처드 스톨만이 만들었습니다.

가장 큰 특징은 자유소프트웨어 재단답게 가장 강력한 제약 조건을 포함하고 있는 카피레프트 조항으로 GPL 프로그램은 어떤 목적으로도, 어떤 형태로든 사용할 수 있지만 사용하거나(개인적인 사용은 가능) 변경된 프로그램을 배포하는 경우 무조건 동일한 라이선스 즉, GPL로 공개해야만 합니다.

  • 적용 사례 : 모질라 파이어폭스(v2.0), 리눅스 커널(v2.0), 깃(v2.0), 마리아DB(v2.0) 등이 있습니다.

⇒ 소스코드 공개 필수, 동일 라이센스 적용 필수, 상업적 이용 가능

3. LGPL (GNU Lesser GPL) 타입

자유 소프트웨어 재단의 강력한 철학이 담긴 GPL의 카피레프트 조항을 보완하기 위해 만든 라이선스로 GPL은 단순히 소프트웨어를 사용하기만 하더라도 해당 소스코드를 GPL로 공개해야 하는 부담감 때문에 상용 소프트웨어로 쓰기 부담스럽다는 단점이 있었습니다. 이에 비해 LGPL은 좋은 자유 소프트웨어 제품이 더 많이 쓰이고 표준이 되도록 유도하기 위해 단순한 라이브러리·모듈 링크를 허용한 라이선스로 만들었습니다. 원래는 한정된 라이브러리에만 적용하려는 의도로 ‘Library GPL’이라는 이름을 붙였으나, 모든 라이브러리에 적용된다는 오해로 인해 ‘Lesser GPL’로 변경되었습니다.

  • 적용 사례 : Mozilla Firefox(v2.1)가 있습니다.

⇒ 단순 라이브러리 사용 시 라이센스 적용 자유, 상업적 이용 가능

4. Pemissive 타입 (관대한 타입)

퍼미시브 타입은 최소한의 요구사항만 포함합니다. 어떻게 소프트웨어를 수정할 수 있고 재배포를 할 수있을지에 관해서 말이죠. 이 타입은 오픈 소스 소프트웨어에서 사용되는 가장 유명한 라이센스입니다.

⇒ 소스코드 공개 자유, 동일 라이센즈 적용 자유, 상업적 이용 가능

1) Apache License
아파치 라이선스는 아파치 소프트웨어 재단이 자신의 SW에 적용하기 위해 자체적으로 만든 라이선스로 소스코드 공개 의무 같은 의무사항은 없지만, 아파치 라이선스 소스코드를 수정해 배포하는 경우 아파치 라이선스 버전 2.0을 꼭 포함시켜야 하며 아파치재단에서 만든 소프트웨어임을 밝혀야 합니다.

  • 적용 사례 : Android(v2.0), Hadoop(v2.0) 등이 있습니다.

2) MIT License
MIT 라이선스는 미국 매사추세츠공과대학교(MIT)에서 해당 대학 SW 공학도들을 돕기 위해 개발한 라이선스로 라이선스와 저작권 관련 명시만 지켜주면 되는 라이선스입니다. 가장 느슨한 조건을 가진 라이선스 중 하나로 꼽힙니다.

  • 적용 사례 : 부트스트랩 , Angular.js, Backbone.js, jQuery 등이 있습니다.

3) Berkeley Software Distribution(BSD) License
버클리의 캘리포니아대학에서 배포하는 공개 SW 라이선스입니다. BSD 자체가 공공기관에서 만들어낸 것이므로 공공의 몫으로 돌려주자는 의미가 강하므로 라이선스 자체에는 아무런 제한 없이 누구나 자신의 용도로 사용할 수 있습니다.
라이선스 및 저작권 표시 조건 외엔 제약이 없는, 굉장히 자유로운 라이선스 중 하나입니다.

  • 적용 사례 :  Nginx(The BSD 2-Clause License)가 있습니다.

5. Proprietary 타입 (소유권 타입)

모든 타입중에 가장 제한적인 타입. 모든 권한이 제작자에게 있으며, 보통 소유권을 가진 소프트웨어를 위해 사용됩니다. 모든 활동(수정, 배포, 상업적 이용)에 대해서 금지합니다.

다음엔 라이센스를 표기하는 법에 대해서 알아보겠습니다.


출처

https://i5i5.tistory.com/500

https://minimax95.tistory.com/entry/소프트웨어-라이선스-정리

profile
잘 설득하는 개발자가 되기 위해 노력합니다.

0개의 댓글