10.4 版权所有,许可问题和“原样”代码

正如我们在第 5 章“软件透明度的挑战”中所讨论的,许可也是许多供应商关注的一个关键问题,特别是当它与开放源码软件及其应用的许可有关时。许多软件供应商可能关注的一种许可方法就是所谓的 Copyleft。Copyleft 在很大程度上被理解为一种使程序或软件自由的许可方法,并且要求程序的所有后续修改和扩展版本也是自由的。许可清单采用各种许可格式,最著名的是 GNU 通用公共许可 (GNU GPL; www.gnu .org/licenses/copyleft.en.html)。

随着软件透明度的进一步推动,一些供应商可能会对侵犯版权的行为产生额外的担忧,包括违反 Copyleft 许可软件的行为。虽然供应商应采取措施确保他们目前没有违反许可证,但SBOM等指标的额外透明度将披露供应商产品和软件中的开放源码软件组件。许可的可见性不仅对供应商来说是显而易见的,而且对作为自由和开源软件(FOSS)项目主要维护者和贡献者的消费者来说也是显而易见的。版权所有者,如自由和开放源码软件项目的创建者和维护者,是可以根据感知到的侵犯版权的行为(如Copyleft)提起法律诉讼的实体。

供应商应确保采取额外措施来清点其软件组件的使用情况,并确保他们没有侵犯任何基于他们可能在其产品和软件中使用的FOSS软件的适用版权,以避免潜在的法律挑战和问题,以及道德问题。

如上一节所述,SBOM数据不足,包括缺乏许可信息,将使供应商无法完全了解其许可合规性。供应商需要确保他们了解其自由和开放源码软件的全部使用范围,以及其软件版本中涉及的任何组件的相关许可要求。

除了法律问题外,许可也是一个潜在的安全问题。鉴于大多数开放源码软件的自愿性质,许多维护者按原样提供他们的项目和代码。这意味着他们可能无法或不愿意解决下游消费者提出的问题。因此,使用开放源码软件的消费者和组织必须准备好分叉项目,并开始承担修复他们发现的问题或漏洞的责任,因为开放源码软件维护者没有责任或响应能力。许多业内人士仍然不明白这一点,而且经常看到对开放源码软件维护者施加不切实际的期望来解决问题或提供支持,而在大多数情况下,没有什么约束他们这样做。

虽然开放源码软件项目和组件的使用已经有了巨大的增长,但一些组织似乎误解了开放源码软件的动态。在软件供应链安全方面,大多数开放源码软件维护者不应被视为“供应商”。您的组织通常与他们没有业务或合同关系,并且您按原样使用他们的代码,对维护、更新或响应能力没有期望。因此,在其产品、应用程序和服务中使用 OSS 的组织需要了解其 OSS 的使用范围,并准备好在需要时对组件负责。

开放源码软件维护者Thomas Depierre在一篇题为“我不是供应商”(www.softwaremaxims.com/blog/not-a-supplier)的博客文章中很好地捕捉到了这种动态。Depierre指出,尽管自由和开放源码软件在数字经济中无处不在,但开放源码软件维护者不是传统意义上的“供应商”,下游消费者无法对他们提出任何要求。