오픈소스 라이선싱의 핵심 분류
오픈소스 라이선스는 크게 두 가지 구조로 나뉩니다. 카피레프트(Copyleft) 라이선스는 수정된 코드를 배포할 때 동일 라이선스 적용을 강제하며, GPL, AGPL, MPL이 여기에 해당합니다. 퍼미시브(Permissive) 라이선스는 MIT, Apache 2.0, BSD 같이 배포 형태에 제약이 적어 상용 소프트웨어 통합에 유리합니다.
라이선스 호환성과 의존성 관리
이종 라이선스 조합은 법적 충돌을 유발합니다. GPL 코드와 Apache 2.0 라이선스 프로젝트 직접 결합 시 호환성 문제가 발생하지만, GPL 3.0은 Apache 2.0과 부분 호환됩니다. AGPL은 네트워크 상호작용에 소스 공개를 요구해 SaaS 배포 환경에서 추가 고려가 필요합니다. 직접 의존성뿐 아니라 전이 의존성(Transitive Dependency)도 점검해야 하므로, 자동화 도구 없이는 규모 있는 프로젝트에서 관리 불가능합니다.
SPDX 표준과 식별 체계
SPDX(Software Package Data Exchange)는 라이선스를 표준화된 단문 식별자(예: GPL-3.0-only, Apache-2.0)로 통일하는 Linux Foundation 관리 표준입니다. 라이선스 표현식(License Expression) 기능으로 복합 시나리오를 정확히 표현하며, "OR", "AND", "WITH" 연산자로 다중 라이선스나 예외 상황을 명시합니다. 소스 파일 헤더에 SPDX 식별자를 기입하면 자동 스캔 도구가 정확히 인식하므로 컴플라이언스 검증 효율이 대폭 증가합니다.