본문으로 건너뛰기

라이선스 분류

이 페이지는 오픈소스 라이선스 분류의 정본입니다. 정책·프로세스·SBOM 챕터에서 라이선스 분류를 다룰 때는 이 표를 기준으로 하고 본문은 여기로 링크합니다.

오픈소스 라이선스는 의무사항의 강도에 따라 크게 네 가지로 분류합니다. 회사의 배포 방식에 따라 각 분류의 적용 기준이 달라지므로, 정책을 작성하기 전에 반드시 이해해야 합니다.

분류 기준표

분류대표 라이선스핵심 의무배포 시 주의
PermissiveMIT, Apache-2.0, BSD저작권·라이선스 고지거의 모든 배포 방식에서 안전
Weak CopyleftLGPL, MPL수정한 파일·라이브러리만 소스 공개동적 링킹이면 대부분 안전
Strong CopyleftGPL-2.0, GPL-3.0파생물 전체 소스 공개SaaS는 의무 미발생, 바이너리 배포 시 발생
Network CopyleftAGPL-3.0네트워크 제공(SaaS)에도 소스 공개SaaS에서도 공개 의무 발생 → 도입 전 검토 필수
핵심 통찰

같은 코드라도 배포 방식에 따라 의무 발생 여부가 달라집니다. 특히 GPL은 SaaS(서버 실행)에서는 "배포"로 보지 않아 의무가 발생하지 않지만, AGPL은 네트워크 제공에도 의무를 부여합니다.

CC-BY-SA: 콘텐츠용 라이선스를 소프트웨어에 쓸 때

CC-BY-SA(크리에이티브 커먼즈 저작자표시-동일조건변경허락)는 위 네 분류에 넣지 않고 따로 다룹니다. 글·이미지·영상 같은 콘텐츠를 위해 만든 라이선스이고, Creative Commons 자신도 소프트웨어에는 CC 라이선스 대신 소프트웨어 전용 라이선스를 쓰라고 권고합니다. 등급은 조건부 허용이며, 코드에 적용하려면 담당자 검토와 법무 확인을 거칩니다.

문제는 상업적 이용 제한이 아닙니다. CC-BY-SA는 CC-BY-NC와 달리 상업적 이용을 막지 않습니다. 실제 문제는 ShareAlike(동일조건변경허락) 조항이 소프트웨어에서 어디까지 전파되는지가 정해져 있지 않다는 점입니다.

  • 파생물의 경계가 불분명합니다. ShareAlike는 원저작물을 각색한 결과물에 같은 라이선스를 요구합니다. 그런데 소프트웨어에서 링크·번들·임베딩 중 무엇이 각색에 해당하는지를 이 라이선스는 정의하지 않습니다. GPL 계열이 파생물의 범위를 명시하는 것과 대비됩니다.
  • 소스코드 개념이 없습니다. GPL은 "수정에 적합한 형태"로 소스를 제공하도록 규정하지만, CC 라이선스에는 그런 규정이 없습니다. 의무가 발생한다고 판단해도 이행하는 방법 자체가 정해져 있지 않습니다.
  • 특허 조항이 없습니다. CC-BY-SA 4.0은 특허권을 부여하지 않는다고 명시합니다. Apache-2.0처럼 명시적 특허 허용이 필요한 프로젝트에서는 이 공백이 위험이 됩니다.

정해진 경로가 하나 있습니다. Creative Commons는 CC BY-SA 4.0을 GPL-3.0과 한 방향으로 호환된다고 선언했습니다. CC BY-SA 4.0 자료는 GPL-3.0 프로젝트에 넣을 수 있지만 그 반대는 안 됩니다.

실무에서는 코드에 쓰지 않는 것을 원칙으로 둡니다. 다만 폰트, 아이콘, 문서, 학습 데이터처럼 소프트웨어에 동봉되는 콘텐츠 자산에서는 CC-BY-SA를 자주 만나므로, 그때는 해당 자산이 배포물에 포함되는지와 고지 의무를 어떻게 이행할지를 담당자가 확인합니다.

아래 매트릭스에서 CC-BY-SA만 SaaS 열이 조건부인 이유도 여기에 있습니다. GPL은 서버 실행이 배포가 아니라는 판단 근거가 라이선스 본문에 있지만, CC-BY-SA에는 그 판정 근거가 없습니다.

배포 방식별 영향

배포 방식은 라이선스 의무 발생 여부를 결정하는 핵심 요소입니다.

  • SaaS (서버 제공): GPL 코드를 서버에서 실행하는 것은 "배포"에 해당하지 않으므로 GPL 의무가 발생하지 않습니다. 단, AGPL-3.0은 네트워크를 통한 서비스 제공에도 소스 공개 의무를 부여하므로 주의가 필요합니다.
  • 앱스토어 배포 (모바일/데스크톱): 바이너리 형태로 사용자에게 배포되므로 Copyleft 라이선스 의무가 발생합니다. GPL 컴포넌트를 포함하면 전체 소스 공개 의무가 생길 수 있습니다.
  • 임베디드 (펌웨어/하드웨어): 가장 엄격한 경우입니다. 바이너리 배포로 GPL 의무가 발생하고, 하드웨어에 포함된 소프트웨어는 수정 후 재설치가 어려워 GPL 컴플라이언스가 더 까다롭습니다.

배포 채널 × 라이선스 허용 매트릭스

채널별로 어느 분류까지 허용할지 결정할 때 참고하는 매트릭스입니다. 실제 회사 정책의 허용 목록은 policy-generator 에이전트가 배포 방식에 맞게 생성합니다.

라이선스분류내부 사용SaaS 배포앱 배포임베디드
MITPermissive✅ 허용✅ 허용✅ 허용✅ 허용
Apache-2.0Permissive✅ 허용✅ 허용✅ 허용✅ 허용
LGPL-2.1Weak Copyleft✅ 허용✅ 허용⚠️ 조건부⚠️ 조건부
GPL-2.0Strong Copyleft✅ 허용✅ 허용❌ 금지❌ 금지
AGPL-3.0Network Copyleft✅ 허용❌ 금지❌ 금지❌ 금지
CC-BY-SA콘텐츠 라이선스✅ 허용⚠️ 조건부⚠️ 조건부⚠️ 조건부

기호는 정책 산출물 Best Practice와 같은 3단계 표기 체계를 사용합니다.

기호의미
✅ 허용별도 승인 없이 사용 가능
⚠️ 조건부오픈소스 담당자 사전 검토와 승인 후 사용 가능
❌ 금지원칙적으로 사용 금지 (예외 허용 시 담당자와 법무팀 검토 필요)
정보

이 분류는 ISO/IEC 5230 3.1.4 (프로그램 범위 정의), 3.1.5 (라이선스 의무사항 식별·검토), 3.3.2 (라이선스 사용 사례 처리)의 기반 지식입니다.

관련 문서