超越 SPDX:扩展 ClearlyDefined 识别的许可证

ClearlyDefined 是一个开源项目,旨在帮助组织进行供应链合规性管理。直到最近,ClearlyDefined 的工具仅支持标准化 SPDX 许可证列表中的许可证。任何被识别为不在该列表中的许可证的组件都会导致 NOASSERTION,这给此类组件的允许使用带来了不确定性,可能会阻碍协作,并为开发人员带来法律复杂性和安全问题。

幸运的是,Scancode 是 ClearlyDefined 检测和标准化组件的来源、依赖关系和许可证元数据的核心部分,由于使用了 LicenseDB,它已经支持非 SPDX 许可证。LicenseDB 是最大的免费开源软件许可证数据库,特别是所有开源软件许可证,包含超过 2000 个社区策划的许可证文本及其元数据。

Philippe Ombredanne 是 Scancode 和 LicenseDB 的主要作者,他为 ClearlyDefined 利用 Scancode 已提供的这项能力进行了辩护

举例来说,常见的公共领域奉献声明未被 SPDX 追踪或支持,也未被批准为 OSI 许可证。据我所知,没有一位律师将这些视为专有许可证。ScanCode 对它们进行了仔细编目和正确检测(上次统计至少有 850 多个变体,以及大约无限多的变体被检测到)……

收集数据并非认可或推广任何特定的事物,无论是专有的、开源的、自由软件、源代码可用或其他。而是接受实际许可证的世界就是这样,充满了光荣的混乱多样性,并捕获这些许可证是什么,而不是丢弃 ScanCode 检测到的有价值的信息。丢弃和丢失数据一直是迄今为止的问题,并且使得 ClearlyDefined 数据在规模上变得几乎无害和无用,因为您可以从直接的 ScanCode 扫描中获得更好和更多的信息。

您可以使用任何您喜欢的东西,但我认为最好采用 ScanCode 许可证数据的实际行业标准,而不是重新发明轮子,尤其是在 ClearlyDefined 已经大量使用 ScanCode 的情况下。

我们在 https://scancode-licensedb.aboutcode.org/ 中使用 LicenseRef-scancode 作为后缀,并通过过往记录保证这些的稳定性。

经过对该主题的健康讨论,ClearlyDefined 社区一致认为,支持非 SPDX 许可证非常重要。Scancode 已经提供了此功能,并且它提供了从这些非 SPDX 许可证到 SPDX LicenseRef 的映射。使用 ClearlyDefined 的组织现在可以选择根据自身需求决定如何处理非 SPDX 许可证。这项使 ClearlyDefined 使用最新版本 Scancode 并支持非 SPDX 许可证的工作由 Lukas Spieß(来自 GitHub)领导,并由来自 SAPQing Tomlinson 和同样来自 GitHub 的 E. Lynette Rayle 指导。我们感谢他们以及所有参与此实现开发和测试的人员。

我们正在寻求反馈。请在 dev.clearlydefined.iodev-api.clearlydefined.io 上测试此功能,并在此处 提交任何问题