王永雷:开源供应链可信化治理之路

在软件开发过程引入开源组件已经成为趋势和主流解决方案。随着开发技术栈的演进和新语言的出现,比如Python,JavaScript和Go的出现,软件的大部分都有引用的包组成,包括直接引用和间接引用。这些软件包由各种上游的供应商提供,既涵盖了大型公司的开源项目,也包括了大量的业余开发者,这使得软件供应链越来越复杂,而开源软件本身的安全和合规问题也随着软件供应链快速地传递到各个软件当中

JavaScript的软件调用的复杂性图演示

什么是开源供应链管理

为了应对开源供应链上下游的管理挑战,Linux基金会下的OpenChain项目于2020年21月16日发布了基于OpenChain2.1的ISO5230开源供应链的国际标准,OpenChain项目维护了开源许可证遵从性的国际标准。这使得所有规模和行业的公司都能够采用高质量的开源合规计划的关键要求。这是一个开放的标准。

OpenChain任务是为软件供应链参与者建立有效管理开放源代码的需求,这样来自软件供应链、开放源代码社区和学术界的代表就可以协作和公开地开发需求和相关的辅助资料。

OpenChain项目目前已有多位白金会员,包括Adobe、ARM、谷歌、Cisco、微软与GitHub等。

通俗地来说,OpenChain项目可以理解为统一了一套在整个开源软件供应链上的认证标准,加入的供应商及其项目都需要经过合规认定,之后大家在OpenChain框架下,就不需要再担心开源供应链上关于开源许可的相关问题。此外,OpenChain还通过一套程序简化这个认证过程。

如何开始

首先OpenChain鼓励企业和有兴趣的个人参与到社区里面来,同时针对具体的需求,OpenChain组织也给出了具体的指导和规范。

OpenChain2.1最新的框架性的结构解读

从最顶层的规范的制定

OpenChain有如下的规范和要求:

  • 了解您的自由和开源(FOSS)责任,即“政策和培训”
  • 分配实现合规性的责任
  • 提供自由和开放源码软件内容文档和工件
  • 审批自由/开源软件内容
  • 了解FOSS社区参与
  • 证明符合OpenChain要求
细化到具体的指导规范解读如上

同时OpenChain还制定了各种不同的指导和具体的待办事项列表来支持,比如OpenChain和PwC合作推出了各种课程,还有具体的企业之间数据交互的规范SPDX,代办事项列表提供了很多的企业的实施的具体的案例的参考。

原文2021年5月6日发表于公众号「 Synopsys软件质量与安全」,
原文标题:开源供应链可信化治理之路
作者:王永雷