라이선스 분류
이 페이지는 오픈소스 라이선스 분류의 정본입니다. 정책·프로세스·SBOM 챕터에서 라이선스 분류를 다룰 때는 이 표를 기준으로 하고 본문은 여기로 링크합니다.
오픈소스 라이선스는 의무사항의 강도에 따라 크게 네 가지로 분류합니다. 회사의 배포 방식에 따라 각 분류의 적용 기준이 달라지므로, 정책을 작성하기 전에 반드시 이해해야 합니다.
분류 기준표
| 분류 | 대표 라이선스 | 핵심 의무 | 배포 시 주의 |
|---|---|---|---|
| Permissive | MIT, Apache-2.0, BSD | 저작권·라이선스 고지 | 거의 모든 배포 방식에서 안전 |
| Weak Copyleft | LGPL, MPL | 수정한 파일·라이브러리만 소스 공개 | 동적 링킹이면 대부분 안전 |
| Strong Copyleft | GPL-2.0, GPL-3.0 | 파생물 전체 소스 공개 | SaaS는 의무 미발생, 바이너리 배포 시 발생 |
| Network Copyleft | AGPL-3.0 | 네트워크 제공(SaaS)에도 소스 공개 | SaaS에서도 공개 의무 발생 → 도입 전 검토 필수 |
핵심 통찰
같은 코드라도 배포 방식에 따라 의무 발생 여부가 달라집니다. 특히 GPL은 SaaS(서버 실행)에서는 "배포"로 보지 않아 의무가 발생하지 않지만, AGPL은 네트워크 제공에도 의무를 부여합니다.
배포 방식별 영향
배포 방식은 라이선스 의무 발생 여부를 결정하는 핵심 요소입니다.
- SaaS (서버 제공): GPL 코드를 서버에서 실행하는 것은 "배포"에 해당하지 않으므로 GPL 의무가 발생하지 않습니다. 단, AGPL-3.0은 네트워크를 통한 서비스 제공에도 소스 공개 의무를 부여하므로 주의가 필요합니다.
- 앱스토어 배포 (모바일/데스크톱): 바이너리 형태로 사용자에게 배포되므로 Copyleft 라이선스 의무가 발생합니다. GPL 컴포넌트를 포함하면 전체 소스 공개 의무가 생길 수 있습니다.
- 임베디드 (펌웨어/하드웨어): 가장 엄격한 경우입니다. 바이너리 배포로 GPL 의무가 발생하고, 하드웨어에 포함된 소프트웨어는 수정 후 재설치가 어려워 GPL 컴플라이언스가 더 까다롭습니다.
배포 채널 × 라이선스 허용 매트릭스
채널별로 어느 분류까지 허용할지 결정할 때 참고하는 매트릭스입니다. 실제 회사 정책의 허용 목록은 policy-generator 에이전트가 배포 방식에 맞게 생성합니다.
| 라이선스 | 분류 | 내부 사용 | SaaS 배포 | 앱 배포 | 임베디드 |
|---|---|---|---|---|---|
| MIT | Permissive | ✓ 허용 | ✓ 허용 | ✓ 허용 | ✓ 허용 |
| Apache-2.0 | Permissive | ✓ 허용 | ✓ 허용 | ✓ 허용 | ✓ 허용 |
| LGPL-2.1 | Weak Copyleft | ✓ 허용 | ✓ 허용 | △ 조건부 | △ 조건부 |
| GPL-2.0 | Strong Copyleft | ✓ 허용 | ✓ 허용 | ✗ 검토 필요 | ✗ 검토 필요 |
| AGPL-3.0 | Network Copyleft | ✓ 허용 | ✗ 검토 필요 | ✗ 검토 필요 | ✗ 검토 필요 |
이 분류는 ISO/IEC 5230 3.1.4 (프로그램 범위 정의)와 3.3.2 (라이선스 의무사항 식별·분류)의 기반 지식입니다.
관련 문서
- 오픈소스 정책 수립 챕터 가이드 — 이 분류를 회사 배포 방식에 맞춰 허용 목록으로 구체화
- 정책 산출물 Best Practice — 채널별 허용 원칙이 반영된 완성 예시
- 용어집 — Copyleft·Permissive 등 용어 풀이