ClearlyDefined 在 SOSS Fusion 2024 大会上:开源许可证合规性的协作解决方案

上个月,开源安全基金会 (OpenSSF) 在亚特兰大举办了 SOSS Fusion 大会,这次活动汇集了来自数字安全领域的多元化领导者和创新者社区。于 10 月 22-23 日举行的会议探讨了当今技术格局的核心主题:人工智能安全、技术多样性以及开源软件的公共政策。Bruce Schneier、Marten Mickos 和 Cory Doctorow 等行业思想领袖发表了主题演讲,为强调协作和社区在创建安全数字未来中的作用的大会定下了基调。

在这些紧迫的议题中,开源促进会与 GitHub 和 SAP 合作推出了 ClearlyDefined——一个旨在简化软件许可证合规性和元数据管理的创新项目。由开源促进会的 Nick Vidal,以及来自 GitHub 的 E. Lynette Rayle 和来自 SAP 的 Qing Tomlinson 共同介绍,本次会议重点介绍了 ClearlyDefined 如何改变组织处理开源组件许可证合规性的方式。

什么是 ClearlyDefined?

ClearlyDefined 项目拥有一个强大的愿景:为每个已发布的软件组件创建一个全球众包的许可证元数据数据库。这项雄心勃勃的任务旨在通过为开源组件提供准确、最新的元数据,帮助各种规模的组织轻松管理合规性。通过提供单一、可靠的许可证信息来源,ClearlyDefined 使组织能够协同工作而不是孤立工作,共同为保持开源软件合规和可访问的元数据做出贡献。

问题:冗余且不一致的许可证管理

在当今的开源生态系统中,管理软件许可证已成为一项重大挑战。许多组织面临着重复识别、更正和维护准确许可证数据的任务。当一个组件缺少或包含不正确的元数据时,数十甚至数百个使用该组件的组织可能会重复工作来解决同一个问题。ClearlyDefined 旨在通过启用协作方法来消除冗余。

解决方案:通过 ClearlyDefined 众包合规性

ClearlyDefined 提供了一个 API 和用户友好的界面,可以轻松访问和贡献许可证元数据。通过聚合和标准化许可证数据,ClearlyDefined 为组织提供了一个强大的解决方案,以增强 SBOM(软件物料清单)和许可证信息,而无需进行广泛的重新扫描和数据更正。在大会上,Nick 演示了开发人员如何使用简单的 API 调用快速检索常用库的许可证数据,从而使许可证合规性变得无缝且可扩展。

此外,遇到不完整或不正确元数据的组织可以轻松地通过 ClearlyDefined 平台更新它,从而创建一个反馈循环,使整个开源社区受益。这种众包方法意味着一旦组织修复了一个许可证问题,该数据将对所有人可用,从而提高效率和准确性。

ClearlyDefined 平台的关键组件

1. API 和用户界面:用户可以通过 API 或网站访问 ClearlyDefined 数据,使开发人员可以轻松地将许可证检查直接集成到他们的工作流程中。

2. 人工管理和社区协作:为了确保高质量的数据,ClearlyDefined 采用了管理工作流程。当元数据需要更新时,社区成员可以提交更正,这些更正将经过人工审核过程,以确保准确性和可靠性。

3. 与流行的软件包管理器集成:ClearlyDefined 支持各种软件包管理器,包括 npm 和 pypi,并且最近扩展到支持 Conda,Conda 是数据科学和人工智能开发人员的热门选择。

真实世界的用例:GitHub 和 SAP 采用 ClearlyDefined

在演示过程中,来自 GitHub 和 SAP 的代表分享了 ClearlyDefined 如何影响他们的组织。

GitHub:ClearlyDefined 的许可证数据为 GitHub 的合规性解决方案提供支持,使 GitHub 能够轻松管理数百万个许可证。Lynette 分享了他们最初通过 ClearlyDefined 载入了超过 1700 万个许可证,这个数字后来增长到超过 4000 万个。该数据库使 GitHub 能够向用户提供准确的合规性信息,从而大大减少了维护许可证准确性所需的资源。Lynette 展示了收割过程和管理过程。有关 GitHub 如何使用 ClearlyDefined 的更多详细信息,请访问 此处

SAP:Qing 讨论了 ClearlyDefined 的方法如何简化 SAP 的开源合规工作。通过使用 ClearlyDefined 的数据,SAP 减少了许可证审查所花费的时间,并提高了可用于合规性检查的元数据质量。SAP 的内部收割服务与 ClearlyDefined 集成,确保关键的许可证元数据始终可用且准确。SAP 为 ClearlyDefined 项目做出了贡献,最值得注意的是,与 Microsoft 一起优化了数据库模式,并将数据库运营成本降低了 90% 以上。有关 SAP 如何使用 ClearlyDefined 的更多详细信息,请访问 此处

为什么 ClearlyDefined 很重要

ClearlyDefined 是一项社区驱动的倡议,其愿景是解决开源的最大挑战之一:确保准确且可访问的许可证元数据。通过集中和标准化这些数据,ClearlyDefined 不仅减少了冗余工作,还促进了许可证合规性的协作方法。

该平台的开源性质以及与现有软件包管理器和 API 的集成使其对各种规模的组织都具有可访问性和可扩展性。随着越来越多的贡献者加入这项工作,ClearlyDefined 将继续发展壮大,加强开源社区对合规性、安全性和透明度的承诺。

加入 ClearlyDefined 社区

ClearlyDefined 始终欢迎新的贡献者。通过每周的开发者会议开放治理模式以及与 OpenSSF 和其他开源组织的持续合作,ClearlyDefined 提供了多种参与方式。对于任何有兴趣塑造开源许可证合规性和数据质量未来的人来说,ClearlyDefined 提供了一个令人兴奋的机会,可以产生切实的 impact。

SOSS Fusion 大会上,ClearlyDefined 的演示展示了开放、协作的许可证合规性方法如何使整个数字生态系统受益,体现了大会的精神:共同努力,迈向安全、包容和可持续的数字未来。

下载 幻灯片 并查看下面的演示文稿摘要。

ClearlyDefined 演示文稿摘要

大家好,早上好!首先介绍 ClearlyDefined,一个令人兴奋的项目。我叫 Nick Vidal,我在开源促进会工作。今天和我在一起的有来自 GitHub 的 Lynette Rayle 和来自 SAP 的 Qing Tomlinson,我们都很高兴来到这里。

ClearlyDefined 的使命介绍

那么,ClearlyDefined 的使命是什么?我们的使命是雄心勃勃的——我们的目标是为每个已发布的软件组件众包一个全球许可证元数据数据库。这将使开源生态系统中的每个人都受益。

ClearlyDefined 解决的问题

开源领域存在一个关键问题:大规模的合规性和 SBOM(软件物料清单)管理。许多组织都在努力解决软件组件缺少或包含不正确的许可证元数据的问题。当多个组织使用具有不完整或错误许可证元数据的组件时,他们都必须单独解决这个问题。ClearlyDefined 提供了一个解决方案,我们可以集体努力一次性修复这些问题,并将更正后的数据提供给所有人,而不是每个组织都做重复的工作。

ClearlyDefined 的解决方案

ClearlyDefined 使组织能够通过简单的 API 访问许可证元数据。这减少了重复许可证扫描的需要,并有助于大规模生成 SBOM。当组件的许可证元数据出现问题时,组织可以贡献修复程序,从而使整个社区受益。

开始使用 ClearlyDefined

要使用 ClearlyDefined,您可以直接从终端访问其 API。例如,假设您正在使用像 Lodash 这样的 JavaScript 库。通过调用 API,您可以触手可及地获得特定版本 Lodash 的所有许可证元数据。

一旦您将此许可证元数据纳入您的工作流程,您可能会注意到一些需要更新的元数据。您可以管理该数据并将其贡献回去,这样每个人都会受益。ClearlyDefined 还为此提供了一个用户友好的界面,使贡献变得更加容易。

开源和社区贡献

ClearlyDefined 是一项开源倡议,托管在 GitHub 上,支持各种软件包管理器(例如,npm、pypi)。我们努力推广最佳实践并与其他工具集成。最近,我们扩大了范围,以支持非 SPDX 许可证和 Conda,Conda 是一种常用于数据科学项目的软件包管理器。

与其他工具集成

ClearlyDefined 与 GUAC 集成,GUAC 是一个使用 ClearlyDefined 数据的 OpenSSF 项目。这种集成扩大了 ClearlyDefined 许可证信息的覆盖范围和实用性。

案例研究和社区影响

我想把它交给来自 GitHub 的 Lynette,她将介绍 GitHub 如何使用 ClearlyDefined 以及为什么它对许可证合规性至关重要。

GitHub 对 ClearlyDefined 的使用

大家好,我是 Lynette,GitHub 的一名开发人员,致力于许可证合规性解决方案。ClearlyDefined 已成为我们工作流程的关键部分。了解我们依赖项的许可证至关重要,因为法律合规性需要正确的署名。通过使用 ClearlyDefined,我们简化了流程,现在管理着超过 4000 万个许可证。我们还运行自己的收割器,为 ClearlyDefined 做出贡献并扩展我们的运营。

SAP 采用 ClearlyDefined

大家好,我叫 Qing。在 SAP,我们与开源共同创新和协作,确保一个干净、维护良好的软件池。ClearlyDefined 简化了我们的许可证审查流程,减少了扫描所花费的时间,并提高了数据质量。SAP 与 ClearlyDefined 的合作始于 2018 年,从那时起,我们为我们的开源合规性实施了大规模自动化,并不断将管理的数据贡献回社区。

社区和治理

ClearlyDefined 在社区参与下蓬勃发展。我们最近选举了指导委员会和外联委员会的成员,以支持该平台并鼓励新的贡献者。我们的每周开发者会议和活跃的 Discord 频道提供了参与、分享知识和协作的机会。

问答亮点

  • PURL 作为软件包标识符:我们正在探索支持 PURL 作为内部坐标系。
  • 数据质量问题:数据质量是我们的首要任务。我们计划实施例行程序来扫描常见问题,确保整个平台上的元数据准确。

感谢大家今天加入我们。如果您有兴趣贡献,请联系我们并成为这个协作社区的一份子。