라이선스 개요
소프트웨어는 지적재산권에 의해 보호받으며, 원칙적으로 저작권자만이 해당 소프트웨어에 대한 독점 사용 권리를 가집니다.
오픈소스 라이선스(License)는 이러한 저작권자의 독점 사용 권리에 대해 이용 방법 및 조건의 범위를 명시해, 사용자에게 대여 규칙을 정의해 놓은 사용 허가권입니다.
오픈소스 소프트웨어를 이용하기 위해, 사용자는 저작권자가 정한 라이선스에 대한 의무사항을 준수해야 하며, 이를 위반할 경우 라이선스 위반 및 저작권 침해가 발생하고 법적 책임도 따르게 됩니다.
오픈소스 라이선스의 주요 요구사항
일반적으로 오픈소스 라이선스가 사용자에게 요구하는 대여 규칙은 아래와 같습니다.
- 저작권 정보 표시
- 라이선스 정보의 제공(사본 첨부 필요)
- 코드를 수정한 경우 수정한 정보 표시
- 재배포 시 동일한 라이선스로 배포
- 카피레프트(Copyleft) 조항을 포함하는 라이선스의 경우, 소스 코드까지 함께 배포
오픈소스 라이선스 구분
아래 이미지는 퍼미시브(Permissive) 및 카피레프트(Copyleft) 라이선스 계열의 오픈소스 라이선스 종류와 그 관계를 설명하고 있습니다.
참고하기
퍼미시브(Permissive) 라이선스와 카피레프트(Copyleft) 라이선스에 관련한 보다 자세한 내용은 오픈소스 라이선스의 분류를 참고합니다.
주요 라이선스의 의무사항 비교
주요 라이선스의 의무사항을 비교한 표는 아래와 같습니다.
라이선스 | MIT | BSD2 BSD3 | Apache | GPLv2 GPLv3 | LGPLv2 LGPLv3 | MPL |
---|---|---|---|---|---|---|
무료 이용가능 | O | O | O | O | O | O |
배포 허용가능 | O | O | O | O | O | O |
소스 코드 취득가능 | O | O | O | O | O | O |
소스 코드 수정가능 | O | O | O | O | O | O |
2차적 저작물 재공개 의무 | X | X | X | O | O | O |
독점 SW와 결합 가능 | O | O | O | X | O | O |
참고하기
다양한 라이선스에 대한 보다 자세한 내용은 오픈소스 SW 라이선스 종합정보 시스템(OLIS)의 라이선스 비교표를 참고합니다.
일반적으로 사용되는 라이선스
오픈소스 라이선스 중에 일반적으로 사용되는 라이선스는 아래와 같습니다.
라이선스 | 내용 |
---|---|
Apache | • 아파치 웹서버를 포함한 아파치 재단의 모든 소프트웨어(Software)에 적용되는 라이선스입니다. • 특허권에 관한 내용과 특허에 대한 조항이 있어, GPL 2.0으로 배포되는 코드와는 결합할 수 없습니다. • 라이선스 및 저작권 표시의 의무, 라이선스 파일을 포함해야 하는 의무가 있습니다. • 적용 사례: 안드로이드(v2.0), 하둡(v2.0) |
BSD | • 버클리의 캘리포니아대학에서 배포하는 공개 소프트웨어(Software) 라이선스입니다. • 라이선스 및 저작권 표시의 의무가 있습니다. • 적용 사례: Nginx(The BSD 2-Clause License) |
MIT | • MIT에서 해당 대학의 소프트웨어 공학도들을 돕기 위해 개발한 라이선스입니다. • 라이선스 및 저작권 표시의 의무가 있습니다. • 적용 사례: Bootstrap, Angular.js, Backbone.js, jQuery |
주의해야 할 라이선스
오픈소스 라이선스 중에 주의하여 사용해야 하는 라이선스는 아래와 같습니다.
라이선스 | 내용 |
---|---|
AGPL | • 수정한 소스 코드를 포함하여 AGPL 소스 코드를 활용한 소프트웨어 모두 AGPL로 공개(수정하지 않고 사용만 해도 전체 공개) • 웹에서 사용한 코드도 공개 • 라이선스 및 저작권 명시 • 적용 사례: 몽고 DB(v3.0) |
GPL | • 수정한 소스 코드와 GPL 소스 코드를 활용한 소프트웨어 모두 GPL로 공개(수정하지 않고 사용만 해도 전체 공개) 해야 합니다. • 라이선스 및 저작권 표시의 의무가 있습니다. • 적용 사례: 리눅스 커널(v2.0) |
LGPL | • 수정한 소스 코드와 해당 라이브러리가 포함된 코드 전체를 LGPL로 공개 해야 합니다. • 단, 소스 코드를 수정하지 않고 동적 링크(Dynamic Linking) 방식으로 단순 활용한 경우, 공개 의무가 없습니다. • 정적 링크(Static Linking) 방식의 경우, 전체 코드 공개 의무가 있습니다. • 라이선스 및 저작권 표시의 의무가 있습니다. • 적용 사례: 모질라 파이어폭스(v2.1) |