开源许可证简介

一、什么是开源许可证

开源许可证是一种法律许可。通过它,版权拥有人明确允许,用户可以免费地使用、修改、共享版权软件。

版权法默认禁止共享,也就是说,没有许可证的软件,就等同于保留版权,虽然开源了,用户只能看看源码,不能用,一用就会侵犯版权。所以软件开源的话,必须明确地授予用户开源许可证。

二、开源许可证的种类

目前,国际公认的开源许可证共有80多种。它们的共同特征是,都允许用户免费地使用、修改、共享源码,但是都有各自的使用条件。

如果一种开源许可证没有任何使用条件,连保留作者信息都不需要,那么就等同于放弃版权了。这时,软件可以直接声明进入"公共领域"(public domain)。

根据使用条件的不同,开源许可证分成两大类。

  • 宽松式(permissive)许可证

  • Copyleft 许可证

三、宽松式许可证

3.1 特点

宽松式许可证(permissive license)是最基本的类型,对用户几乎没有限制。用户可以修改代码后闭源。

它有三个基本特点。

(1)没有使用限制

用户可以使用代码,做任何想做的事情。

(2)没有担保

不保证代码质量,用户自担风险。

(3)披露要求(notice requirement)

用户必须披露原始作者。

3.2 常见许可证

常见的宽松式许可证有四种。它们都允许用户任意使用代码,区别在于要求用户遵守的条件不同。

(1)BSD(二条款版)

分发软件时,必须保留原始的许可证声明。

(2) BSD(三条款版)

分发软件时,必须保留原始的许可证声明。不得使用原始作者的名字为软件促销。

(3)MIT

分发软件时,必须保留原始的许可证声明,与 BSD(二条款版)基本一致。

(4)Apache 2

分发软件时,必须保留原始的许可证声明。凡是修改过的文件,必须向用户说明该文件修改过;没有修改过的文件,必须保持许可证不变。

四、Copyleft 许可证

4.1 Copyleft 的含义

Copyleft 是理查德·斯托曼发明的一个词,作为 Copyright (版权)的反义词。

Copyright 直译是"复制权",这是版权制度的核心,意为不经许可,用户无权复制。作为反义词,Copyleft 的含义是不经许可,用户可以随意复制。

但是,它带有前提条件,比宽松式许可证的限制要多。

  • 如果分发二进制格式,必须提供源码

  • 修改后的源码,必须与修改前保持许可证一致

  • 不得在原始许可证以外,附加其他限制

上面三个条件的核心就是:修改后的 Copyleft 代码不得闭源。

4.2 常见许可证

常见的 Copyleft 许可证也有四种(对用户的限制从最强到最弱排序)。

(1)Affero GPL (AGPL)

如果云服务(即 SAAS)用到的代码是该许可证,那么云服务的代码也必须开源。

(2)GPL

如果项目包含了 GPL 许可证的代码,那么整个项目都必须使用 GPL 许可证。

(3)LGPL

如果项目采用动态链接调用该许可证的库,项目可以不用开源。

(4)Mozilla(MPL)

只要该许可证的代码在单独的文件中,新增的其他文件可以不用开源。

开源许可证简介_第1张图片

五、许可证协议对比

MulanPSL-2.0

  1. 流行并广泛使用: Yes
  2. 许可协议类型: Permissive
  3. 司法管辖区: Not specified
  4. a 授予专利权: Yes
  5. b 专利报复条款: Yes
  6. 指定“增强型归属”: No
  7. 解决“隐私漏洞”: No
  8. 指定“不推广”功能: Yes

AFL-3.0

  • 流行并广泛使用: No
  • 许可协议类型: Permissive
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

AGPL-3.0

  • 流行并广泛使用: No
  • 许可协议类型: Strong copyleft
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: Yes
  • 解决“隐私漏洞”: Yes
  • 指定“不推广”功能: Yes

Apache-2.0

  • 流行并广泛使用: Yes
  • 许可协议类型: Permissive
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

Artistic-2.0

  • 流行并广泛使用: No
  • 许可协议类型: Permissive
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

BSD-3-Clause

  • 流行并广泛使用: Yes
  • 许可协议类型: Permissive
  • 司法管辖区: Not specified
  • a 授予专利权: No
  • b 专利报复条款: No
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

EPL-1.0

  • 流行并广泛使用: Yes
  • 许可协议类型: Weak copyleft
  • 司法管辖区: Specified: State of New York, US
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

GPL-2.0

  • 流行并广泛使用: Yes
  • 许可协议类型: Strong copyleft
  • 司法管辖区: Not specified
  • a 授予专利权: No
  • b 专利报复条款: No
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

GPL-3.0

  • 流行并广泛使用: No
  • 许可协议类型: Strong copyleft
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

ISC

  • 流行并广泛使用: No
  • 许可协议类型: Permissive
  • 司法管辖区: Not specified
  • a 授予专利权: No
  • b 专利报复条款: No
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

LGPL-2.1

  • 流行并广泛使用: Yes
  • 许可协议类型: Weak copyleft
  • 司法管辖区: Not specified
  • a 授予专利权: No
  • b 专利报复条款: No
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

LGPL-3.0

  • 流行并广泛使用: Yes
  • 许可协议类型: Weak copyleft
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

MIT

  • 流行并广泛使用: Yes
  • 许可协议类型: Permissive
  • 司法管辖区: Not specified
  • a 授予专利权: No
  • b 专利报复条款: No
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

MPL-2.0

  • 流行并广泛使用: Yes
  • 许可协议类型: Weak copyleft
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: Yes
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

MulanPSL-1.0

  • 流行并广泛使用: No
  • 许可协议类型: Permissive
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

OSL-3.0

  • 流行并广泛使用: No
  • 许可协议类型: Strong copyleft
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: Yes
  • 指定“不推广”功能: Yes

Unlicense

  • 流行并广泛使用: Yes
  • 许可协议类型: Weak copyleft
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: No
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: Yes
  • 指定“不推广”功能: No

WTFPL

  • 流行并广泛使用: Yes
  • 许可协议类型: Permissive
  • 司法管辖区: Not specified
  • a 授予专利权: Yes
  • b 专利报复条款: Yes
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: No

Zlib

  • 流行并广泛使用: No
  • 许可协议类型: Permissive
  • 司法管辖区: Not specified
  • a 授予专利权: No
  • b 专利报复条款: No
  • 指定“增强型归属”: No
  • 解决“隐私漏洞”: No
  • 指定“不推广”功能: Yes

你可能感兴趣的:(Linux,SVN/GIT,开源)