해결책
2010년까지 소프트웨어를 출하하는 모든 기업은 라이선스와 구성 요소를 추적해야 했지만, 각 도구와 팀이 이를 다르게 표기했다. 'Apache 2', 'ASL 2.0', 'Apache-2.0'처럼 제각각이어서 준법 데이터가 조직 간에 이동할 수 없었다. 리눅스 재단의 SPDX 프로젝트는 식별자 계층에서 이 문제를 해결했다. 패키지의 구성 요소와 메타데이터를 위한 표준 데이터 형식과, 라이선스마다 하나의 안정적인 짧은 ID를 부여한 정규 라이선스 목록을 마련한 것이다.
ID가 안정적이고 기계 판독 가능했기 때문에 스캐너, 감사자, 공급업체는 번역 없이 소프트웨어 자재 명세서를 교환할 수 있었다. SPDX는 사실상의 SBOM 형식이 되었고, 10년 동안 전 세계 소프트웨어 공급망에서 그 역할을 수행했다.
2021년 8월 24일, 이 명세는 ISO/IEC JTC 1을 통해 ISO/IEC 5962:2021로 발행되었다. 리눅스 재단은 이 이정표를 '사실상의 업계 표준에서 공식 ISO/IEC JTC 1 표준으로' 나아간 것이라고 규정하며, SPDX가 공급망 전반의 소프트웨어 보안과 무결성에 관한 국제 요구사항에 대응하도록 자리매김했다.
이룬 성과
라이선스마다 하나의 정규 짧은 ID, 기계 판독 가능
성공한 이유
자동화된 준법을 실제로 무너뜨린 것은 법적 분쟁이 아니라 모호한 라이선스 표기였다.
안정적인 짧은 ID 덕분에 어떤 두 도구든 사람의 검토 없이 라이선스에 합의할 수 있었다.
10년간 사실상의 SBOM 형식으로 자리 잡았기 때문에 ISO 인증은 새로운 것을 발명한 것이 아니라 관행을 추인한 것이었다.
구성 요소와 메타데이터를 함께 담는 형식은 라이선스를 넘어 보안과 공급망 용도에도 쓰여 지지 기반을 넓혔다.
준법은 의도가 아니라 모호성에서 실패한다. 법적 문구가 아니라 식별자를 표준화하면 도구들이 자동으로 합의할 수 있고, 바로 그것이 체크리스트를 업계 형식으로 바꾼다.
그 후
ISO/IEC 5962:2021은 각국 정부가 조달을 위해 SBOM을 요구하기 시작하던 때에 SPDX를 소프트웨어 자재 명세서에 관한 국제적으로 인정된 공개 표준으로 만들었다. 이 명세는 리눅스 재단 아래에서 무료로 이용 가능한 ISO 표준으로서 계속 발전하고 있다.
근거 확인하기
출처
- SPDX Becomes ISO/IEC 5962:2021 Recognized Standard for Software Security LinuxSecurity · linuxsecurity.com ·
- ISO/IEC 5962:2021 Information technology — SPDX Specification V2.2.1 International Organization for Standardization · iso.org