PE Notes · SW
OSS 라이선스
관대·약한 카피레프트·강한 카피레프트와 MIT·Apache·GPL·AGPL을 가르고, SSPL·BSL의 상업 위험과 라이선스 충돌·SBOM 관리를 정리합니다.
소스에 접근할 수 있다는 말이, 기업이 마음대로 집어넣을 수 있다는 뜻은 아닙니다. 의무가 고지뿐인 것도 있고, 배포 때 전체를 같은 조건으로 열어야 하는 것도 있습니다. 최근에는 OSI가 오픈소스로 인정하지 않는 소스 공개형 라이선스가 클라우드 수익을 막으려 끼어들었습니다.
관대와 카피레프트
관대(permissive)는 상업 이용·수정·비공개가 넓고, 저작권 고지가 핵심입니다. 는 파생물을 같은 조건으로 유지합니다. 강한 쪽은 결합한 프로그램 전체, 약한 쪽은 그 컴포넌트에 가깝습니다.
| 라이선스 | 성격 | 핵심 의무 | 독점 SW에 넣을 때 |
|---|---|---|---|
| MIT | 관대 | 저작권·라이선스 고지 | 가능 |
| Apache 2.0 | 관대+특허 | 고지, 수정 명시, NOTICE, 특허 허여 | 가능 |
| BSD | 관대 | 고지(2·3조 차이) | 가능 |
| LGPL | 약한 카피레프트 | 라이브러리 수정 시 공개, 동적 링크는 여유 | 링킹은 대체로 가능 |
| GPL | 강한 카피레프트 | 배포 시 전체 공개, GPL 유지 | 위험 |
| AGPL | GPL+네트워크 | SaaS로 제공해도 공개 | 매우 위험 |
MIT는 React·Flask처럼 고지만 남깁니다. Apache 2.0은 기여자 특허를 자동으로 주고, 특허 소송 시 라이선스가 끊깁니다. 기업이 선호하는 이유입니다. GPL은 사내만 쓰면 배포가 아니라 공개 의무가 없습니다. 제품에 넣어 배포하면 전체가 열릴 수 있습니다. 은 그 허점(서비스만 하고 배포하지 않기)을 막습니다.
SSPL과 BSL
은 MongoDB가 2018년에 둔 서버 사이드 조항입니다. 그 소프트웨어를 서비스로 제공하면, 운영 스택까지 소스를 열라는 쪽에 가깝습니다. OSI 정의에 안 맞습니다. 클라우드 업체가 관리형 DB로 되파는 길을 사실상 닫습니다. AWS DocumentDB, OpenSearch 포크가 그 반응입니다.
은 출시 후 일정 기간(흔히 수년) 경쟁 서비스 이용을 막고, Change Date 이후 지정 오픈소스(MPL 등)로 바뀝니다. HashiCorp가 Terraform 등을 옮긴 뒤 OpenTofu가 Apache 2.0으로 갈라졌습니다. 둘 다 Source Available에 가깝고, 오픈소스 선언만 믿으면 안 됩니다.
| 라이선스 | SaaS | 독점 포함 | 위험 |
|---|---|---|---|
| MIT·Apache | 자유 | 가능 | 낮음 |
| LGPL | 라이브러리로 가능 | 링킹 가능 | 낮음 |
| GPL | 배포 시 공개 | 위험 | 중간 |
| AGPL | 서비스도 공개 | 위험 | 높음 |
| SSPL | 스택 공개에 가깝 | 위험 | 매우 높음 |
| BSL | 경쟁 서비스 제한 | 경쟁 불가 | 높음 |
충돌과 목록
GPL과 MIT는 보통 같이 갈 수 있습니다. GPL v2와 Apache 2.0은 특허 조항 때문에 충돌하는 경우가 있고, GPL v3와 Apache 2.0은 맞춰져 있습니다. 강한 카피레프트와 관대를 한 바이너리에 섞기 전에 전파 범위를 그립니다.
에 이름·버전·라이선스를 적고, 로 커밋마다 돌립니다. 허용·검토·금지 목록이 정책입니다. 기여는 CLA와 법무 사전 검토가 필요합니다. 생성 코드는 학습 원천 라이선스가 따라붙을 수 있어, 시큐어코딩·공급망과 같은 게이트에 올립니다. 이 CVE를 보면, 여기서는 의무 조항을 봅니다.
상업 제품에는 MIT·Apache, 기여 환원이 목표면 GPL·LGPL, SaaS 보호면 AGPL·SSPL을 고르는 식입니다. 고를 때 이미 쓰는 라이선스와의 충돌을 같이 적습니다.