解決方案
到了 2010 年,每一家出貨軟體的公司都必須追蹤授權條款與元件,但每個工具和團隊的拼寫方式各不相同——「Apache 2」、「ASL 2.0」、「Apache-2.0」——因此合規資料無法在組織之間流通。Linux 基金會的 SPDX 專案在識別碼層面解決了這個問題:一套用於描述套件元件與中繼資料的標準資料格式,外加一份標準授權條款清單,每個授權條款各有一個穩定的簡短 ID。
由於這些 ID 穩定且機器可讀,掃描器、稽核人員與供應商得以交換軟體物料清單,無須轉譯。SPDX 成為事實上的 SBOM 格式,並在全球軟體供應鏈中以此角色運作了十年。
2021 年 8 月 24 日,該規格透過 ISO/IEC JTC 1 發布為 ISO/IEC 5962:2021。Linux 基金會將這個里程碑定調為「從事實上的業界標準,邁向正式的 ISO/IEC JTC 1 標準」,讓 SPDX 得以因應供應鏈上軟體安全與完整性的國際要求。
達成了什麼
每個授權條款一個標準簡短 ID,機器可讀
為何奏效
真正破壞自動化合規的,是授權條款拼寫的歧義,而非法律爭議。
穩定的簡短 ID 讓任兩個工具無須人工審查就能對授權條款達成一致。
十年來作為事實上的 SBOM 格式,意味著 ISO 的認證是追認既有實務,而非憑空創造。
元件加中繼資料的格式除了授權條款之外,也服務於安全與供應鏈用途,擴大了支持者群體。
可借鏡之處
合規失敗的原因在於歧義,而非意圖。把識別碼——而非法律文本——標準化,能讓工具自動達成一致,這正是把一份檢查清單變成業界格式的關鍵。
後續發展
ISO/IEC 5962:2021 讓 SPDX 成為國際公認的軟體物料清單開放標準,而這正好發生在各國政府開始要求採購時須提供 SBOM 之際。該規格在 Linux 基金會之下,持續以可免費取得的 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