openEuler SBOM 标准:为开源项目提供完整的许可证合规解决方案
openEuler SBOM 标准:为开源项目提供完整的许可证合规解决方案
【免费下载链接】compliance-sbomDevelopment the SBOM stardard of the openEuler communtiy and related documents.项目地址: https://gitcode.com/openeuler/compliance-sbom
前往项目官网免费下载:https://ar.openeuler.org/ar/
openEuler / compliance-sbom 项目致力于开发 openEuler 社区的 SBOM(软件物料清单)标准及相关文档,为开源项目提供全面的许可证合规解决方案。通过遵循该标准,开发者可以有效管理软件组件的许可证信息,降低合规风险,确保项目在开源生态中合法合规地发展。
一、什么是 SBOM 及为什么需要它?
1.1 SBOM 的定义与价值
SBOM(Software Bill of Materials)即软件物料清单,它如同软件的“配料表”,详细列出了软件产品中所包含的各种组件、库以及它们的版本、许可证等关键信息。对于开源项目而言,SBOM 具有至关重要的价值:它能帮助开发者清晰了解项目的组成部分,及时发现潜在的许可证冲突,保障项目的合规性,同时也便于用户评估软件的安全性和可靠性。
1.2 openEuler SBOM 标准的重要性
openEuler 作为一个活跃的开源社区,其项目往往包含众多开源组件。openEuler SBOM 标准的制定,为社区内的项目提供了统一的 SBOM 规范,使得不同项目之间的组件信息能够相互兼容和理解,促进了开源项目的协作与发展,也为项目的合规管理提供了坚实的基础。
二、openEuler SBOM 标准的核心内容
2.1 采用的基础标准
openEuler SBOM 标准以 ISO/IEC 5962:2021 SPDX v2.2 标准为基础,并结合 openEuler 社区的实际需求,增加了应用 SPDX 标准的具体要求,两者共同构成了 openEuler 社区的 SBOM 标准。
2.2 核心字段要求
每个开源组件(包括 Package、File、Snippet)都必须有一个 ID 字段(遵从 SPDX)和以下 7 类基本字段,不同组件的基本字段会有所区别,基本字段以外的字段为可选字段:
- Name 类:组件的名称。
- Version 类:组件对应的版本号。
- Supplier 类:组件的直接作者或所属的组织、机构、公司名。
- Copyright 类:组件的版权人信息,可能与 Supplier 重复。
- PURL 类:组件的源头发布地址,对于文件和片段,则是源头发布地址+PATH+(line-range)。
- Hash 类:组件的 checksum,用于验证组件的完整性。
- License 类:组件的 License 信息,表明组件的授权情况。
2.3 Package Information 规范
- 必须存在一个 root 的 Package 元素用来描述软件本身。
- 对于项目通过整包引用的 Library,或者通过包管理器引用的 Library,可使用 Package 元素来描述。对于文件、片段引用的外部对象包,也可以用 Library 表述。
- 基本字段包括 Package name field、Package version field、Package supplier field、Copyright text field、Package download location field location、Package checksum field、PackageLicenseDeclared 等,例如
PackageName: glibc、PackageVersion: 2.11.1。
2.4 File Information 规范
- 该部分为可选,建议只对从别的开源组件中引入的文件,提供 File 元素信息。
- 基本字段包含 File name field、Copyright text field、File checksum field、LicenseInfoInFile 等,如
FileName: ./package/foo.c、FileChecksum: SHA1: d6a770ba38583ed4bb4525bd96e50461655d2758。
2.5 Snippet SPDX identifier field 规范
- 该部分为可选,建议只对从别的开源组件中引入的片段,提供 Snippet 元素信息。
- 基本字段有 Snippet line range field、Snippet copyright text field、License information in snippet field 等,例如
SnippetLineRange: 5:23。
2.6 SPDX 元素之间的关系
CONTAINS 或 CONTAINED_BY 用于片段/文件/library 包含引用,DEPENDS_ON 或 DEPENDENCY_OF 用于包管理器依赖。
三、如何使用 openEuler SBOM 标准
3.1 阅读标准文档
使用 openEuler SBOM 标准的第一步是阅读 openEuler_SBOM_Standard.md 文件,详细了解标准的具体内容和要求。
3.2 参与贡献
如果您希望为 openEuler SBOM 标准的完善贡献力量,可以联系 openEuler Compliance SIG。
四、许可证信息
openEuler_SBOM_Standard 由 openEuler Compliance SIG 开发,采用 Creative Commons Attribution 4.0 International License 许可证。您应该已经随本作品收到了许可证的副本,如果没有,请查看相关许可文件。
要使用 openEuler / compliance-sbom 项目的相关资源,您可以通过以下命令克隆仓库:git clone https://gitcode.com/openeuler/compliance-sbom。
【免费下载链接】compliance-sbomDevelopment the SBOM stardard of the openEuler communtiy and related documents.项目地址: https://gitcode.com/openeuler/compliance-sbom
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
