# 组件扫描技术文档

# 常见组件许可证介绍

https://choosealicense.com/appendix/ (opens new window)

# GNU通用公共许可证说明

https://www.gnu.org/licenses/license-list.html#SoftwareLicenses (opens new window)

# spdx许可证列表

https://spdx.org/licenses/ (opens new window)

# 组件许可证风险等级评定规则介绍

开源软件许可证(Open Source Software License)是一种法律许可,是开源软件供应商用于授权软件使用者使用、修改和发布其开源软件的协议。其目的是规范软件(受著作权保护的软件)使用或者分发行为。

世界上有上百种开源许可证,目前主流的有 6 种:
An image

Apache:发布于 Apache 软件基金会。此许可证允许商业使用,不强制要求源代码开放,是目前使用最广的开源软件许可证之一。 MIT:极其宽松的许可证,允许商业使用和私有化修改后的代码。MIT 许可证要求保留版权信息,但不强制开源修改后的代码。案例项目有 GitLab CE、Ruby、JQuery、Rails 、Vue、React 等。 GPL:GNU 通用公共许可协议(GNU General Public License),是自由软件基金会发布的许可证。GPL 要求使用软件的修改版本必须采用同样的 GPL 协议发布,即如果项目包含了 GPL 许可证的代码,那么整个项目都必须使用 GPL 许可证。 BSD:宽松的开源许可证,允许商业使用和修改私有化。与 MIT 许可证的主要区别是不要求保留版权信息。案例项目有 Curl 等。 LGPL:Lesser General Public License,是 GPL 的补充,区别在 LGPL 只要求修改的开源组件开源,而不要求整个衍生软件开源。 MPL:Mozilla Public License,发布于 Mozilla 基金会。MPL 要求修改版本必须以 MPL 许可证开源发布,但可以用于商业应用。

而许可证由其宽松程度,可分为:

  • Copyleft 许可证:使开源软件及其衍生版本的开源属性代代相传。它强制要求软件必须持续开源,以确保开发者与用户的权利得到最大范围内的保障,实现开源精神的延续。
  • 宽松式许可证:也称为非 Copyleft 许可证,对软件再发布和衍生产品的许可证选择要求更加宽松,允许软件商业使用与闭源,提供更大灵活性与选择性。

基于上述许可证风险说明。我们需要根据软件属性与商业模式选择恰当的许可证,在开源理念与商业需求间取一个平衡,平台内对组件许可证的风险等级认证标准下图所示:
An image