AI 시스템의 오픈소스 관리
ISO/IEC 42001 §8.5(AI 시스템 생애주기)와 §8.6(AI 데이터 관리)에 따라 AI 프레임워크, 사전 훈련 모델, 학습 데이터셋의 오픈소스 라이선스를 관리하는 방법을 설명한다.
Categories:
1. 개요
ISO/IEC 42001 §8.5(AI 시스템 생애주기)와 §8.6(AI 데이터 관리)는 AI 시스템 개발 단계에서 관리해야 할 요구사항을 다룬다. 오픈소스 관점에서는 AI 시스템에 사용하는 오픈소스 컴포넌트의 라이선스 컴플라이언스가 핵심이다.
2. §8.5 AI 시스템 생애주기 — 오픈소스 프레임워크 · 모델 관리
2.1 기획·설계 단계
AI 시스템 기획 단계에서 사용할 오픈소스 프레임워크와 모델을 선정할 때 라이선스를 사전에 검토한다.
라이선스 사전 검토 절차:
1. 사용 후보 컴포넌트 목록 작성
(프레임워크명, 버전, 출처 URL)
2. 라이선스 확인
- 프레임워크: PyPI, npm, GitHub README 확인
- AI 모델: Hugging Face Model Card, 공식 저장소 확인
3. 라이선스 조건 검토 항목
□ 상업적 사용 허용 여부
□ 파생물(Fine-tuning 모델) 공개 의무 여부
□ 저작권 고지 의무 여부
□ 특허 조항 여부 (Apache 2.0의 명시적 특허 허여 등)
□ MAU 또는 매출 기반 사용 제한 여부
4. 허용 불가 라이선스 식별 시 대안 컴포넌트 탐색
2.2 개발 단계
개발 중 새로운 오픈소스 컴포넌트를 추가할 때마다 라이선스를 확인하고 AI SBOM에 즉시 반영한다.
SCA(소프트웨어 구성 분석) 도구 활용:
기존 오픈소스 스캔 도구를 AI 프로젝트 저장소에도 동일하게 적용한다.
# FOSSLight를 이용한 AI 프로젝트 스캔 예시
fosslight -p ./ai-project-dir -o ./ai-sbom-output
# cdxgen으로 Python AI 프로젝트 SBOM 생성
cdxgen -t python ./ai-project-dir -o ai-sbom.json
관련 도구 가이드:
2.3 주요 AI 프레임워크 라이선스 상세
| 프레임워크 | 라이선스 | 저작권 고지 | 특허 허여 | 상업 사용 | 소스 공개 |
|---|---|---|---|---|---|
| PyTorch | BSD 3-Clause | ✅ 필요 | ❌ 없음 | ✅ 가능 | ❌ 불필요 |
| TensorFlow | Apache 2.0 | ✅ 필요 | ✅ 있음 | ✅ 가능 | ❌ 불필요 |
| JAX | Apache 2.0 | ✅ 필요 | ✅ 있음 | ✅ 가능 | ❌ 불필요 |
| Hugging Face Transformers | Apache 2.0 | ✅ 필요 | ✅ 있음 | ✅ 가능 | ❌ 불필요 |
| LangChain | MIT | ✅ 필요 | ❌ 없음 | ✅ 가능 | ❌ 불필요 |
| scikit-learn | BSD 3-Clause | ✅ 필요 | ❌ 없음 | ✅ 가능 | ❌ 불필요 |
| ONNX Runtime | MIT | ✅ 필요 | ❌ 없음 | ✅ 가능 | ❌ 불필요 |
| vLLM | Apache 2.0 | ✅ 필요 | ✅ 있음 | ✅ 가능 | ❌ 불필요 |
2.4 주요 오픈소스 AI 모델 라이선스 비교
| 모델 | 라이선스 | 상업 사용 | 파생 모델 | 주요 제한 조건 |
|---|---|---|---|---|
| Llama 3.1 (8B/70B) | Meta Llama Community License | ✅ 조건부 | ✅ 가능 | MAU 7억 초과 시 Meta 허가 필요 |
| Llama 3.1 (405B) | Meta Llama Community License | ✅ 조건부 | ✅ 가능 | 모델 가중치 재배포 제한 |
| Mistral 7B | Apache 2.0 | ✅ 가능 | ✅ 가능 | 제한 없음 |
| Falcon 180B | Falcon License | ✅ 조건부 | ✅ 가능 | 수익 창출 시 라이선스 필요 |
| Gemma 2 | Gemma ToU | ✅ 조건부 | ✅ 가능 | Google 사용 정책 준수 |
| Phi-3 | MIT | ✅ 가능 | ✅ 가능 | 제한 없음 |
| BERT, GPT-2 | Apache 2.0 / MIT | ✅ 가능 | ✅ 가능 | 제한 없음 |
주의: 모델 라이선스 정기 재확인
AI 모델 라이선스는 버전 업데이트 시 조건이 변경될 수 있다. 모델을 장기간 사용하는 경우 분기별로 라이선스 조건 변경 여부를 재확인한다. 특히 상업적 사용 제한이나 MAU 조건이 있는 모델은 서비스 규모 변화에 따라 재검토가 필요하다.
체크포인트 — §8.5:
- AI 시스템 개발에 사용된 모든 프레임워크의 라이선스가 검토되었는가?
- 사용 중인 사전 훈련 모델의 라이선스 조건(상업적 사용, MAU 제한 등)이 확인되었는가?
- 라이선스 의무(저작권 고지 등)가 배포 산출물에 포함되어 있는가?
- SCA 스캔이 수행되어 보안 취약점이 식별되었는가?
3. §8.6 AI 데이터 관리 — 학습 데이터셋 라이선스 ★
AI 시스템 학습에 사용한 데이터셋에 오픈 데이터 라이선스가 적용된 경우 해당 라이선스 조건을 이행해야 한다.
3.1 주요 오픈 데이터 라이선스 의무
| 라이선스 | 저작자 표시 | 동일 조건 | 상업 사용 | 이행 방법 |
|---|---|---|---|---|
| CC0 1.0 | ❌ 불필요 | ❌ 불필요 | ✅ 가능 | 별도 조치 불필요 |
| CC-BY 4.0 | ✅ 필요 | ❌ 불필요 | ✅ 가능 | 모델 카드에 데이터 출처 기재 |
| CC-BY-SA 4.0 | ✅ 필요 | ✅ 필요 | ✅ 가능 | 법무 검토 필요 (파생 모델 라이선스) |
| CC-BY-NC 4.0 | ✅ 필요 | ❌ 불필요 | ❌ 불가 | 비상업 연구 목적에만 사용 |
| ODbL (OpenStreetMap 등) | ✅ 필요 | ✅ 필요 | ✅ 가능 | 파생 데이터베이스 동일 조건 공개 |
3.2 모델 카드(Model Card) 작성
CC-BY 계열 데이터셋을 학습에 사용한 경우 모델 카드에 출처를 명시한다.
## Model Card — [모델명]
### Training Data
이 모델은 다음 데이터셋을 사용하여 학습되었습니다:
| 데이터셋 | 라이선스 | 출처 |
|---------|---------|------|
| Wikipedia (2024-01) | CC-BY-SA 4.0 | https://dumps.wikimedia.org/ |
| Common Crawl (CC-MAIN-2023) | 조건 없음 | https://commoncrawl.org/ |
| [내부 데이터셋] | 자체 소유 | 내부 |
체크포인트 — §8.6:
- 학습 데이터셋 목록과 라이선스가 AI SBOM에 기록되어 있는가?
- CC-BY 계열 데이터 사용 시 모델 카드 또는 공개 문서에 출처가 명시되어 있는가?
- CC-BY-NC 데이터가 상업 서비스에 사용되고 있지 않은가?
- CC-BY-SA 데이터를 학습에 사용한 경우 법무팀과 파생 모델 라이선스를 협의했는가?