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: glibcPackageVersion: 2.11.1

2.4 File Information 规范

  • 该部分为可选,建议只对从别的开源组件中引入的文件,提供 File 元素信息。
  • 基本字段包含 File name field、Copyright text field、File checksum field、LicenseInfoInFile 等,如FileName: ./package/foo.cFileChecksum: 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),仅供参考