오픈소스 라이선스
오픈소스 라이선스는 배포 시 소스 코드 제공 의무(Copyleft)에 따라 크게 두 가지로 나뉜다. Permissive(제공 의무 없음)와 Reciprocal(제공 의무 있음). 후자는 다시 Strong Copyleft(수정본·파생물을 동일 라이선스로 배포)와 Weak Copyleft(모듈 단위로만 적용)로 세분된다.
| 분류 | 대표 라이선스 | 특징 | 대표 프로젝트 | |---|---|---|---| | Permissive | MIT, Apache 2.0, BSD | 사용·수정·배포 거의 제한 없음 | React, Node.js, TensorFlow | | Strong Copyleft | GPL, LGPL, AGPL | 수정·배포 시 동일 라이선스 유지 | Linux 커널, WordPress, MySQL | | Weak Copyleft | MPL, EPL | 모듈 단위로 카피레프트 적용 | Mozilla Firefox, Eclipse |
주요 라이선스별 특징
- GPL (GNU General Public License): 수정본을 배포할 때 소스 코드 공개 의무와 동일 라이선스 유지를 강제. GPL 2.0 이후 GPL 3.0에서는 제품 설치 정보(인증키 등) 제공 조항이 추가되었다. 상업적 활용 시 주의 필수—포함한 소프트웨어 전체가 공개 대상이 될 수 있다. 예: Linux 커널.
- LGPL (Lesser GPL): GPL의 변형으로 라이브러리에 주로 적용. LGPL 라이브러리를 사용하는 응용프로그램은 소스 공개 의무가 없으나, 라이브러리 자체를 수정한 경우엔 수정본의 소스 공개 및 사용 사실 명시가 필요하다. 예: GNU C 라이브러리(glibc).
- MPL (Mozilla Public License): 파일 단위로 적용되는 약한 카피레프트. 수정된 파일만 소스 공개 의무가 있고, 함께 배포되는 다른 파일은 동일 라이선스를 따를 필요가 없어 상업 프로젝트에 유연하게 적용 가능. 예: Mozilla Firefox.
- MIT 라이선스: 가장 간단하고 자유로운 라이선스. 사용·수정·배포·서브라이선스·판매 모두 허용되며, 저작권 안내 문구만 포함하면 된다. React 같은 주요 프레임워크가 채택. 다른 라이선스와의 호환성이 뛰어나다.
- Apache License 2.0: Permissive 중에서도 특허 보호 조항이 강력해 기업 환경에서 선호된다. 수정 파일에 변경 사항 명시, 저작권·특허·상표 고지사항 포함이 의무이며 상표 사용에는 제한이 있다. 예: Apache HTTP Server.
- BSD License: MIT와 유사하나 저작권 고지·보증 부인 조항이 추가된다. 네트워크 관련 소프트웨어에서 널리 쓰인다. 예: FreeBSD.
핵심 내용
- 3대 분류: Permissive · Strong Copyleft · Weak Copyleft
- MIT · Apache 2.0 · BSD: 상업 친화적, 거의 제한 없음
- GPL · LGPL · AGPL: 강한 카피레프트, 소스 공개 의무
- MPL · EPL: 파일 단위 약한 카피레프트, 상업 프로젝트 유연
- Apache 2.0은 특허 보호 조항으로 기업 선호
- 비개발 직군도 라이선스 이해 필요—법적 리스크 예방
관련 개념
- React TypeScript 패턴 — MIT 기반 대표 프레임워크 React의 라이선스 배경
- 웹 아키텍처 — 오픈소스를 기반으로 구축되는 웹 생태계
출처
- 오픈소스 License에 대해 알아보기 — Byul.Kim, UX Engineer 이야기