代码审计是可以用来验证代码的成熟度、可信性和可维护性等。在企业的软件安全计划,尤其是在收购过程的尽职调查或内部报告时,采用审计可以帮助企业获得开源、法务、安全以及质量风险的评估,以避免对软件资产的价值产生重大负面影响。近年来,开源审计的关注度持续攀升。

开源代码已经深深扎根在现代软件开发之中,甚至代码拥有者通常都不知道其软件中包含哪些开源组件。因此,开源审计的重要性日益凸显。其中,开源许可证冲突问题受到越来越多的关注。新思科技指出, 凭借开源审计,企业可以获得开源和第三方软件的完整、准确的软件物料清单 (SBOM)。这可以为开发人员提供关于许可证、漏洞和各种组件活力的信息分析依据。

新思科技Black Duck审计服务团队分析了对并购交易中涉及的商业和专有代码库的 1,700 多项审计结果,并发布了《2023年开源安全和风险分析》报告(OSSRA)。被审计的代码库中有96%含有开源代码,54%的代码库包含许可证冲突。

新思科技中国区软件应用安全技术总监付红勋指出:“除了建立全面的SBOM之外,Black Duck审计服务团队还负责识别许可证并确定组件的优先级,以进行法律审查。法律审查不用投入太多时间在常见的标准宽松开源许可证上,许可证冲突则需要优先审查。然而,许可证冲突并不是唯一需要法律审查的项目,企业还需要研究开源许可证及变体版本的细则。”

自定义开源许可证及变体版本

在新思科技审计的大约30%的代码库(以及70%的并购交易)中,发现代码具有一次性许可证、标准许可证的自定义变体或根本没有许可证。在本可以识别组件的来源——存储库或网站——但在该位置或代码中却找不到任何许可或使用条款时,这些组件将被标记为“未经许可”。

标准许可证的变体可能会很棘手,因为可能被认为是MIT或BSD许可证等。但仔细检查后,通常会发现开发人员自作主张,在标准中加入了自己的想法。

JSON 许可证

最常见的变体是JSON许可证,即MIT许可证添加上“该款软件严禁用于恶意用途,仅限用于善意用途”的注释。由于此类条款含糊不清,Apache软件基金会暂停使用JSON许可的代码。

JSON许可证甚至还有变体。在此变体中,许可证中添加了以下注释:“如果有人以书面形式通知您没有遵守行为规范,您需要在30天内采取相应行动以继续使用该许可证;否则您的许可证将被立即终止。”

Commons Clause许可证变体

Commons Clause 是一种变体,旨在修改标准开源许可证以限制软件的商业用途。摘录内容如下:“……许可证并未授予您销售软件的权利。”乍看之下,在 Apache 许可证等许可范围内的软件可能会因本条款而变得完全无法使用。

专有和商业许可证

代码库包含来自第三方商业软件公司的内容并不罕见。开源审计经常发现来自Adobe、Microsoft、Oracle和其他公司的版权。作为软件尽职调查的一部分,收购方有必要检查是否有适当的许可证并已披露。即使许可是正当的,律师仍将希望确保控制权的变更不会在未来引入任何风险。

双重许可

越来越多的公司正在使用双重许可,这是一种巧妙的商业模式。根据开源许可证向开发人员提供软件,但同时该许可证包含使其难以用于商业目的的义务。

AGPL 许可证经常出现在这种情况下:大多数公司不能在其产品中使用 AGPL 许可的代码 (还有其它许可证更明确地禁止没有商业许可证的商业使用)。如果开发人员使用根据 AGPL 许可的代码,公司需要与供应商就相同的代码签订商业许可证。

当开源审计发现双重许可软件时,工作人员会突出显示这点,以便收购方可以确保目标公司已获得适当许可。

了解代码中的内容

要全面了解代码是否已获得适当许可,需要准确且完整的材料清单,以及分析预期用途与所包含的开源许可之间可能存在的冲突。还有其它超出标准开源的许可问题,需要更深入的研究和更多的法律审查。重要的是,作为软件尽职调查的一部分,开源审计可以追踪到许可证信息,以方便专业的知识产权律师评估其客户特定情况下的风险。

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2023-02-24 18:59:10
市场情报 新思科技发布《2023年开源安全和风险分析》报告
企业只有拥有了完整的清单,才能制定战略以应对Log4Shell 等新的安全漏洞带来的风险。 <详情>
2022-05-20 18:06:06
互联网 新思科技发布《2022年开源安全和风险分析》报告
开源许可证冲突和漏洞风险有所下降,但88%的被审代码库中包含未更新开源组件 <详情>
2020-09-14 09:55:05
市场情报 CSDN 新发布开源代码托管平台 CODE.CHINA
2020 年 9 月 10 日,中国专业 IT 开发者社区 CSDN 正式推出全新升级的开源平台 CODE.CHINA(codechina.csdn.net)。面向国际化市场,具备使用 GitLab 最新高可靠部署方案 <详情>
2019-07-03 17:56:00
云资讯 2019云计算开源产业大会丨辛小秋:开源代码合规性测试方法
辛小秋:前面各位老师都讲了很多关于开源的事情,这里就不重复了,重点讲一下关于开源许可证。我们认为开源许可证和闭源或商业许可证的原理是一样的,都是一种授权协议,它 <详情>