|原文出处:The Openchain Reference Tooling Work Group
|翻译:刘天栋.Ted,开源 .ONES(开源战略研究组)
|设计:周颖
引言
开源软件已经吞噬了整个世界,但企业仍在为有效的合规性而努力。开源软件是异质的和重复使用的,这虽然对软件开发有积极意义,但对合规性造成了挑战。合规性需要多种工具,这些工具最好能组合成一个工作流程,以支持一些业务和开发人员的要求。其中一个要求是在现代开发环境中的易用性,即代码开发周期越来越短,新的开发成果越来越快地被推向运营。要做到这一点,开源合规性工具很可能需要与开发工具集成。
在下面的 告中,我们列出了其中的一些工具,包括它们的 主要许可信息、 站和基于项目描述的功能摘要。本 告的目的是为了描绘出人们可能用来帮助保持其开源软件合规性的广泛的开源工具。然而,这份 告虽然很全面,但并不详尽。该 告包括自由和开放源码软件工具以及一些商业工具。它还有一节是关于开放源码倡议和开发环境的,因为这些也是走向自动开放符合开放工具和开放数据的重要途径。
本 告将在生态系统调查和最流行的开源工具的实际测试的基础上得到补充。本 告是 Double Open 项目中第一个工作包的一部分。更多细节请参见 doubleopen.org。
现有开源软件许可合规工具
1、AboutCode Toolkit
「官 」:AboutCode
https://www.aboutcode.org/
「许可证」:Apache-2.0
2、AboutCode Manager
「官 」:AboutCode
https://www.aboutcode.org/
「许可证」:Apache-2.0
3、Apache Rat
「官 」:Apache Rat
http://creadur.apache.org/rat/
「许可证」:Apache-2.0
「摘要」:Apache Rat 是一个发布审计工具,主要针对许可证。它用 Java 编写,通过 Maven 和 Ant 的插件在命令行中运行。Rat 是可扩展的。它是 Apache Creadur 项目的一部分。
4、Apache Tentacles
「官 」:Apache Tentacles
http://creadur.apache.org/tentacles/
「许可证」:Apache-2.0
「摘要」:Apache Tentacles 通过 自动与包含发布工件的版本库进行交互来帮助审查者。Apache Tentacles 简化了审查由大量工件组成的版本库的工作。它是用 Java 编写的,从命令行运行。
5、Apache Whisker
「官 」:Apache Whisker
http://creadur.apache.org/whisker/
「许可证」:Apache-2.0
「摘要」:Apache Whisker 协助组装的应用程序保持正确的法律文件。Whisker 可以
对于复杂的组合式应用程序特别有用。
6、Bang
「官 」:Bang
https://github.com/armijnhemel/binaryanalysis-ng
「许可证」:AGPL-3.0
「摘要」:Binary Analysis Next Generation,即 BANG,是一个 分析二进制文件的工具。目前,它的主要目标是非常迅速地找出二进制文件的内容,如固件更新,并使从内容中提取的信息可用于进一步分析,如许可证合规性、安全研究或成分分析。它支持 大约 130 种不同的文件格式。
7、Barista
「官 」 :Barista Open Source License and Vulnerability Management Tool
https://optum.github.io/barista/
「许可证」:Apache-2.0
「摘要」:
8、Bubbly
「官 」:Bubbly
https://github.com/valocode/bubbly/
「许可证」:MPL 2.0
「摘要」:Bubbly 是一个发布准备平台,帮助软件团队自信地发布符合要求的软件。通过 告和分析获得你的发布过程的可见性,以降低风险,提高质量,减少周期时间,并推动持续改进。
9、CLA Assistant
「官 」:CLA Assistant
https://github.com/cla-assistant/cla-assistant
「许可证」:Apache-2.0
「摘要」:CLA Assistant 通过让贡献者在拉取请求(pull request)中签署贡献者许可协议(CLA)来帮助处理对仓库贡献的法律问题。CLA 可以存储为 GitHub 的 Gist 文件,然后与 CLA Assistant 中的软件库/组织链接。仓库所有者可以审查每个发布版本的 CLA 的签署用户列表。
10、Cregit
「官 」:Cregit
https://github.com/cregit/cregit
「许可证」:GPL-3.0
1.鼠标移动:你会得到一个添加此令牌(token)的提交信息的摘要。这些信息是
2.左键点击一个令牌(token):会打开一个新的窗口,显示(在 GitHub 中)该提交的细节。你可以一直打开这个窗口,它将不断重新加载文件。
11、Deltacode
「官 」:AboutCode
https://www.aboutcode.org/
「许可证」:Apache-2.0
12、Eclipse SW360
「官 」:Eclipse SW360
https://projects.eclipse.org/projects/technology.sw360
「许可证」:EPL-1.0
「摘要」:是一个软件目录应用程序,旨在为一个组织所使用的软件组件信息提供一个集中式分享场所。通过为不同的任务提供独立的后台服务和一组访问这些服务的 portlets,它被设计为简洁地集成到与软件工件和项目的管理有关的现有基础设施中。它有与外部系统(如代码扫描工具)互动的连接器。到目前为止,该项目还没有提供下载信息。
13、Eclipse SW360antenna
「官 」:Eclipse SW360
https://projects.eclipse.org/projects/technology.sw360.antenna
「许可证」:EPL-2.0
「摘要」:Eclipse SW360antenna 是一个可以尽可能地使你的开源许可证合规自动化的流程工具。归根结底,这就是为你的项目
14、Fossology
「官 」:Fossology
https://www.fossology.org/
「许可证」:GPL-2.0
「摘要」:Fossology 是一款用于许可证、版权和出口控制扫描的工具。只需一次点击,你就可以生成一个 SPDX 文件,或一个包含你所有的软件版权声明的 ReadMe 文档。它提供了一个 Web UI 和一个数据库,用于合规工作流程。要扫描,必须将软件包上传到服务器。提供的扫描器有Monk、Nomos 和 Ninka。它对扫描的软件包有版本控制,所以当扫描以前的软件包的较新版本时,只有新改变的文件被重新扫描。
15、FOSSLight
「官 」:FOSSLight
https://fosslight.org/
「许可证」:AGPL-3.0 及其它
「摘要」:FOSSLight 是一个可以有效地处理开放源码合规过程的综合系统。它提供了。
16、LDBCollector
「官 」:LDBCollector
https://github.com/maxhbr/LDBcollector
「许可证」:BSD-3-Clause
「摘要」:一个小的应用程序,它收集开源软件许可证元数据并将其合并。
17、License Compatibility Checker
「官 」:license-compatibility-checker
https://github.com/HansHammel/license-compatibility-checker#readme
「许可证」:MIT
「摘要」:根据 SPDX 标准,检查 npm 依赖的 package.json 的许可证兼容性。这个项目宣称是一项正在进行的工作,但已给出了软件包中的许可证的简单比较,并解释了许可证的允许程度(宽松的 Permissive > 弱保护的 Weakly Protective > Strongly Protective 强保护的> Network Protective 络保护的),并用一个彩色的图显示潜在的不兼容性。
18、Licensee.js
「官 」:Licensee.js
https://github.com/jslicense/licensee.js
「许可证」:Apache-2.0
「摘要」:Licensee.js 是一个命令行工具,用于根据规则检查 npm 软件包依赖的许可证元数据。它使用 SPDX 许可证表达式和白名单数据来捕获与白名单不同的许可证下的软件包。
19 、 Ninka
「官 」:Ninka
http://ninka.turingmachine.org/
「许可证」:GPL-2.0
20、Opossum Tool
「官 」:Oposssum Tool
https://github.com/opossum-tool
「许可证」:Apache-2.0
「摘要」:一个轻量级的应用程序,用于审计和清点大型代码库的开源许可证合规性。
* 发现应用中使用的开放源码软件。
* 审查许可证。
* 从源代码扫描中生成 告。
21、OSS Attribution Builder
「官 」:OSS Attribution Builder
https://github.com/amzn/oss-attribution-builder
「许可证」:Apache-2.0
「摘要」:OSS Attribution Builder 是一个帮助团队为软件产品创建属性文件的 站。
22、OSS Discovery by OpenLogic
「官 」:OSS Discovery
http://ossdiscovery.sourceforge.net/
「许可证」:GPL-3.0
「摘要」:OSS Discovery 可以找到嵌入在应用程序中并安装在计算机上的开源软件。它是一个扫描工具,可以给出人类可读和机器可读的结果。
23、OSS Review Toolkit ORT
「官 」:ORT
https://github.com/heremaps/oss-review-toolkit
「许可证」:Apache-2.0
「摘要」:通过检查源代码和依赖关系来验证自由和开源软件许可证的合规性。它的工作原理是分析源代码的依赖性,下载依赖性的源代码,扫描所有源代码的许可证信息,并对结果进行总结。组成 ORT 的不同工具被设计成具有最小命令行界面(用于编程)的库(用于脚本使用)。目前, 告格式有 Excel 表格、NOTICE 文件、静态 HTM L和 Web App。
24、OSSPolice
「官 」:OSSPolice
https://github.com/osssanitizer/osspolice
「许可证」:GPL-3.0
25、Quartermaster Project QMSTR
「官 」:QMSTR
https://qmstr.org/
「许可证」:GPL-3.0
「摘要」:Quartermaster 是一套命令行工具和构建系统的扩展,它对软件构建进行分析,以创建FOSS 合规性文件并支持合规性决策。Quartermaster 与软件构建过程相邻运行。一个主进程收集有关软件构建的信息。一旦构建完成,主进程会执行一些分析工具,最后是一些 告者。所有的模块都是在主进程的背景下执行的,而不是在构建机器上。主站运送所有模块的依赖关系,而不影响构建客户的文件系统(它在一个容器中运行)。
26、ScanCode.io and ScanPipe
「官 」:ScanCode.io
https://scancodeio.readthedocs.io/en/latest/introduction.html#
「许可证」:Apache-2.0
ScanPipe 是一个对开发者友好的框架和应用程序,帮助软件分析师和工程师建立和管理现实生活中的软件组成分析项目,作为脚本管道。
ScanPipe 为执行和组织这些软件组成分析项目所需的基础设施提供了一个统一的框架。
27、ScanCode Toolkit
「官 」:ScanCode
https://www.aboutcode.org/
「许可证」:Apache-2.0
28、SCANOSS
「官 」:scanoss.com
https://www.scanoss.com/
「许可证」:GPL-2.0-or-later
「摘要」:SCANOSS 是第一个免费和开放源代码的 SCA 平台和开放数据的 OSS 知识库。它在 SPDX 和 CycloneDX 中执行 SBOM 生成,并在代码片段、文件和组件层面检测开源的存在。中心组件是一个基于 OpenAPI 标准的 RESTful API。为不同的语言和与其他工具的整合提供了参考代码。通过 SCANOSS,你可以在任何工具中实现组件、文件和片段的匹配。公共知识库被称为 OSSKB,可以在 oskb.org 上找到。扫描可以安全地和匿名地进行。
29、SPDX Tools
「官 」:SPDX Tools
https://spdx.org/tools
「许可证」:Apache-2.0
「摘要」:仅需要一次下载,统一的 SPDX 工作组工具能提供翻译、比较和验证功能。该工具是一个Java 命令行工具,有以下功能:
30、SPDX Maven Plugin
「官 」:SPDX Maven Plugin
https://github.com/spdx/spdx-maven-plugin
「许可证」:Apache-2.0
「摘要」:SPDX Maven 插件是 Maven 的一个插件,为 POM 文件中描述的工件生成 SPDX(软件包数据交换 Software Package Data Exchange)文件。
31、TraceCode toolkit
「官 」:AboutCode
https://www.aboutcode.org/
「许可证」:Apache-2.0
「摘要」:TraceCode Toolkit 帮助你确定哪些组件是为你的产品实际分发或部署的。这是确定你的开源许可义务的基本信息,因为很多都是通过分发或部署才触发的。TraceCode Toolkit 是一个分析构建的跟踪执行的工具,因此你可以了解哪些文件被构建成二进制文件并最终部署在你的分布式软件中。
32、Tern
「官 」:Tern
https://github.com/vmware/tern
「许可证」:BSD-2-Clause
「摘要」:Tern 是一个用 Python 编写的用于容器的软件包检查工具。Tern 是一个检查工具,用于查找安装在容器镜像中的软件包的元数据。它通过两个步骤完成这一工作。
- 它使用 overlayfs 来挂载容器镜像中的第一个文件系统层
- 然后,它在 chroot 环境下执行 “命令库 “中的脚本,以收集该层中安装的软件包的信息
- 以这些信息为基础,它继续对容器镜像中的其他层进行步骤 1 和 2 的迭代。
- 一旦完成,它就会生成不同格式的 告。默认的 告是对哪些层带来了哪些软件组件的粗略解释。如果提供了一个Docker文件,那么它也会提供Docker文件中的哪些行被用来创建这些层。
33、Vulnerability Assessment Tool
「官 」:Vulnerability Assessment Tool
https://github.com/SAP/vulnerability-assessment-tool
「许可证」:Apache-2.0
「摘要」:开源漏洞评估工具支持软件开发组织在应用开发过程中安全使用开源组件。该工具分析 Java 和 Python 应用程序,以检测它们是否依赖具有已知漏洞的开源组件,收集关于在特定应用程序上下文中执行脆弱代码的证据(通过静态和动态分析技术的组合),并支持开发人员减轻这种依赖性。因此,它解决了 OWASP 十大安全风险 A9,亦即使用已知漏洞的组件,这往往是数据泄露的根本原因。
鸣谢
”
该工具的概述是由 「doubleOpen Overview 」衍生出来的作品。doubleOpen Overview 的版权归 doubleOpen 所有,并在 「 CC-BY-4.0」的条款下提供。doubleOpen Overview 和这个列表将是同步的。如果你发现了任何新的基于 OSS 的合规工具,请在 doubleOpen repo 或我们的 Github repo 中添加它。请帮助我们改进和完善目前可用的开源软件工具的许可合规信息。
原文
Existing OSS licensed OSS license compliance tools
# END #
相关阅读 | Related Reading
工程师如何对待开源——一个老工程师的肺腑之言
开源项目办公室(OSPO)是如何使工程师回馈开源的
行走在开源世界的孤勇者:“只有开源接纳了我”|技术人访谈录
开源 简介
开源 成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、 区发展、开源项目” 为使命的开源 区联合体。开源 积极与支持开源的 区、企业以及政府相关单位紧密合作,以 “立足中国、贡献全球” 为愿景,旨在共创健康可持续发展的开源生态,推动中国开源 区成为全球开源体系的积极参与及贡献者。
2017 年,开源 转型为完全由个人成员组成,参照 ASF 等国际顶级开源基金会的治理模式运作。近七年来,链接了数万名开源人,集聚了上千名 区成员及志愿者、海内外数百位讲师,合作了近百家赞助、媒体、 区伙伴。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!