핵심 인사이트 (3줄 요약)
- 본질: 오픈소스 라이선스 감사는 소프트웨어 개발에 사용된 수많은 외부 라이브러리의 저작권 규격(License)을 확인하고, 고지 의무와 배포 규칙을 지켰는지 점검하는 활동이다.
- 가치: 저작권 침해로 인한 법적 소송과 서비스 중단 리스크를 방어하며, 특히 기업의 핵심 소스 코드를 강제로 공개해야 하는 'GPL 전염성' 사고를 사전에 차단한다.
- 판단 포인트: 감리 시에는 SBOM(소프트웨어 자산 명세서)을 통해 모든 오픈소스를 식별하고, 라이선스별 준수 사항(고지, 소스 공개 등)이 이행되었는지 진단 도구로 검증한다.
Ⅰ. 개요 및 필요성
"공짜니까 마음대로 써도 되겠지?"라는 생각은 기업을 망하게 할 수 있다. 오픈소스는 '공짜'가 아니라 '규칙을 지키면 무료'인 소프트웨어다. 만약 규칙이 까다로운 오픈소스(예: GPL)를 몰래 썼다가 걸리면, 우리가 밤새 공들여 만든 핵심 소스 코드를 전 세계에 무료로 배포해야 하는 상황(소스 공개 의무)이 올 수 있다. 이를 '라이선스 오염'이라 한다. 따라서 시스템을 출시하기 전, 우리 코드 안에 어떤 '공짜 약'이 들어있는지, 부작용(GPL 전염)은 없는지 전수 조사가 필요하다.
📢 섹션 요약 비유: 오픈소스 라이선스는 '무료 시식권의 이용 약관'과 같다. 음식은 공짜로 주지만 "먹는 모습을 SNS에 올려야 함(고지 의무)"이나 "맛있으면 레시피를 공유해야 함(소스 공개)" 같은 조건이 붙어있는 것과 같다.
Ⅱ. 아키텍처 및 핵심 원리
1. 주요 라이선스 유형과 위험도
- Permissive (허용적): 고지만 하면 마음대로 써도 됨. (예: Apache, MIT, BSD).
- Weak Copyleft: 해당 오픈소스를 수정한 경우만 공개. (예: LGPL, MPL).
- Strong Copyleft (전염성): 이를 포함해 만든 모든 소스 코드를 공개해야 함. (위험! 예: GPL 2.0/3.0).
2. 감사 프로세스
- 식별: FOSS 진단 도구(FOSSA, Black Duck 등)로 코드 내 오픈소스 검출.
- 분석: 각 오픈소스의 라이선스 충돌 여부 및 소스 공개 범위 확인.
- 대응: GPL 등 위험 라이선스 발견 시 대체 라이브러리로 교체 권고.
- 이행: 사용된 오픈소스 목록과 라이선스 문구를 서비스 내에 명시(고지 의무).
📢 섹션 요약 비유: GPL 전염성은 '좀비 바이러스'와 같다. 내 깨끗한 코드(정상인)에 GPL 조각(좀비)이 살짝만 닿아도 내 코드 전체가 GPL(좀비)로 변해버려 소유권을 주장할 수 없게 되기 때문이다.
Ⅲ. 비교 및 연결
주요 라이선스 준수 사항 비교
| 라이선스 | 복제/배포 허용 | 고지 의무 (Copyright) | 수정 시 소스 공개 | 결합 시 전체 공개 |
|---|---|---|---|---|
| MIT / Apache | O | 필수 | X | X |
| LGPL | O | 필수 | 라이브러리만 공개 | X |
| GPL | O | 필수 | 전체 공개 | 전체 공개 |
| AGPL | O | 필수 | 네트워크 서비스도 공개 | 전체 공개 |
📢 섹션 요약 비유: MIT는 '선물'이다. 고맙다는 인사(고지)만 하면 된다. GPL은 '숙제 공유'다. 내 숙제를 보여줬으니 너도 네 숙제(소스 코드)를 다 보여줘야 한다는 원칙이다.
Ⅳ. 실무 적용 및 기술사 판단
기술사 핵심 포인트 (진단 로직):
- SBOM (SW Bill of Materials): 우리 소프트웨어가 어떤 재료(오픈소스)로 만들어졌는지 적힌 '원재료 함량 표기'를 만드는 것이 모든 감사의 시작임을 강조한다.
- 배포 형태의 중요성: 내부용으로만 쓰면 괜찮지만, 고객에게 설치형으로 배포하거나 판매할 때 라이선스 문제가 터짐을 인지해야 한다. (최근 AGPL은 서버에서 돌리기만 해도 위험)
- 감리인의 권고: "오픈소스 사용 대장"을 만들고 개발 초기 단계부터 라이선스 체크를 자동화하는 '오픈소스 거버넌스' 구축을 사업자에게 강력히 권고한다.
📢 섹션 요약 비유: 라이선스 진단원은 '지식재산권 검역관'이다. 해외에서 들어온 식물(오픈소스)이 국내 생태계(우리 소스 코드)를 파괴하는 외래종(GPL)은 아닌지 공항(배포 전)에서 철저히 검사하기 때문이다.
Ⅴ. 기대효과 및 결론
오픈소스 라이선스 준수는 기업의 '법적 면역력'을 키우는 일이다. 특히 글로벌 진출을 꿈꾸는 소프트웨어라면 라이선스 위반은 곧 사망 선고가 될 수 있다. 기술사 시험에서는 라이선스의 3대 분류를 명확히 제시하고, SBOM 기반의 자동화된 점검 체계와 'GPL 차단 전략'을 구체적으로 서술하는 것이 합격의 지름길이다.
📢 섹션 요약 비유: 라이선스 감사는 IT 세상의 '교통 법규 준수'다. 목적지(프로젝트 성공)까지 빨리 가는 것도 좋지만, 신호(라이선스 규약)를 무시하고 달리다가는 나중에 감당할 수 없는 벌금(소송)과 사고를 당하게 된다는 진리를 잊지 말자.
📌 관련 개념 맵
| 개념 | 연관 키워드 | 관계 |
|---|---|---|
| SBOM | SW 명세서, 무결성 | 오픈소스 관리를 위한 가장 기초적인 문서 자산 |
| Copyleft | 소스 공유 철학 | 저작권(Copyright)의 반대말로, 소스 공개를 지향하는 사상 |
| Open Source Governance | 정책, 절차, 조직 | 기업 내 오픈소스 사용을 통제하고 지원하는 관리 체계 |
| FOSSA / Black Duck | 스캔 도구, 취약점 | 코드를 훑어 라이선스 위반을 찾아내는 전문 솔루션 |
👶 어린이를 위한 3줄 비유 설명
- 다른 사람이 만든 장난감 부품을 빌려 쓸 때는 "이건 철수가 만든 거예요"라고 이름을 꼭 써줘야 하는 규칙이 있어요.
- 어떤 부품(GPL)은 빌려 쓰는 대신 내가 만든 장난감 설계도까지 전부 친구들에게 보여줘야 한다고 고집을 부려요.
- 그래서 나중에 설계도를 뺏기지 않으려면 부품을 빌릴 때마다 약속(라이선스)을 꼼꼼히 확인해야 한답니다.