From de1df93c26d677143cc584a1c902f0a8890c8f26 Mon Sep 17 00:00:00 2001 From: gmaso Date: Sat, 31 Oct 2020 20:56:12 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=AC=AC=E4=BA=8C=E9=83=A8=E5=88=86?= =?UTF-8?q?=E2=80=94=E2=80=94=E5=AD=A6=E4=B9=A0=E5=92=8C=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E9=A1=B9=E7=9B=AE/=E8=AE=A4=E8=AF=86?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E8=AE=B8=E5=8F=AF=E8=AF=81.md=20=E5=88=9D?= =?UTF-8?q?=E7=A8=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\350\256\270\345\217\257\350\257\201.md" | 189 +++++++++++++++++- 1 file changed, 186 insertions(+), 3 deletions(-) diff --git "a/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\350\256\244\350\257\206\345\274\200\346\272\220\350\256\270\345\217\257\350\257\201.md" "b/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\350\256\244\350\257\206\345\274\200\346\272\220\350\256\270\345\217\257\350\257\201.md" index e57a39e..78d094d 100644 --- "a/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\350\256\244\350\257\206\345\274\200\346\272\220\350\256\270\345\217\257\350\257\201.md" +++ "b/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\350\256\244\350\257\206\345\274\200\346\272\220\350\256\270\345\217\257\350\257\201.md" @@ -1,3 +1,186 @@ -### 主流开源许可证的介绍 -### 开源许可证的约束力 -### 开源许可证的法律效力 \ No newline at end of file +# 认识开源许可证 + + +## 一、什么是开源许可证 + +开源许可证是一种法律许可。通过它,版权拥有人明确允许,用户可以免费地使用、修改、共享版权软件。 + +版权法默认禁止共享,也就是说,没有许可证的软件,就等同于保留版权,虽然开源了,用户只能看看源码,不能用,一用就会侵犯版权。所以软件开源的话,必须明确地授予用户开源许可证。 + + +## 二、开源许可证的种类 + +目前,国际公认的开源许可证共有 [100 多种](https://opensource.org/licenses/alphabetical)。它们的共同特征是,都允许用户免费地使用、修改、共享源码,但是都有各自的使用条件。 + +如果一种开源许可证没有任何使用条件,连保留作者信息都不需要,那么就等同于放弃版权了。这时,软件可以直接声明进入"公共领域"(public domain)。 + +根据使用条件的不同,开源许可证分成两大类。 + +> - 宽松式(permissive)许可证 +> - Copyleft 许可证 + +主流开源许可证如下(版权强度由高到低): + +| **Permissive Licenses** | **Copyleft Licenses** | +| ----------------------------------------------------------- | ------------------------------------------------------------ | +| BSD (Berkeley Software Distribution)
MIT
Apache 2 | Affero GPL (AGPL)
GPL
Lesser GPL (LGPL)
Mozilla Public License (MPL)
Eclipse Public License (EPL)
Common Development and Distribution License (CDDL) | + + +## 三、主流的开源许可证简介 + +### 1、宽松式许可证 + +### 1.1 特点 + +宽松式许可证(permissive license)是最基本的类型,对用户几乎没有限制。用户可以修改代码后闭源。 + +它有三个基本特点。 + +**(1)没有使用限制** + +用户可以使用代码做任何想做的事情。 + +**(2)没有担保** + +用户自担风险。 + +**(3)披露要求(notice requirement)** + +用户必须披露原始作者/贡献者。 + +### 1.2 常见许可证 + +常见的宽松式许可证有四种。它们都允许用户任意使用代码,区别在于要求用户遵守的条件不同。 + +**(1)BSD(二条款版)** + +分发软件时,必须保留原始的许可证声明。 + +**(2) BSD(三条款版)** + +分发软件时,必须保留原始的许可证声明。不得使用原始作者的名字为软件促销。 + +**(3)MIT** + +分发软件时,必须保留原始的许可证声明,与 BSD(二条款版)基本一致。 + +**(4)Apache 2** + +分发软件时,必须保留原始的许可证声明。凡是修改过的文件,必须向用户说明该文件修改过;没有修改过的文件,必须保持许可证不变。 + +### 2、Copyleft 许可证 + +### 2.1 Copyleft 的含义 + +Copyleft 是 [理查德·斯托曼](http://www.ruanyifeng.com/blog/2005/03/post_112.html) 发明的一个词,作为 Copyright (版权)的反义词。 + +Copyright 直译是"复制权",这是版权制度的核心,意为不经许可,用户无权复制。作为反义词,Copyleft 的含义是不经许可,用户可以随意复制。 + +但是,它带有前提条件,比宽松式许可证的限制要多。 + +> - 如果分发二进制格式,必须提供源码 +> - 修改后的源码,必须与修改前保持许可证一致 +> - 不得在原始许可证以外,附加其他限制 + +上面三个条件的核心就是:修改后的 Copyleft 代码不得闭源。 + +### 2.2 常见许可证 + +常见的 Copyleft 许可证也有四种(对用户的限制从最强到最弱排序)。 + +**(1)Affero GPL (AGPL)** + +如果云服务(即 SAAS)用到的代码是该许可证,那么云服务的代码也必须开源。 + +**(2)GPL** + +如果项目包含了 GPL 许可证的代码,那么整个项目都必须使用 GPL 许可证。 + +**(3)LGPL** + +如果项目采用动态链接调用该许可证的库,项目可以不用开源。 + +**(4)Mozilla(MPL)** + +只要该许可证的代码在单独的文件中,新增的其他文件可以不用开源。 + +**(5)EPL** + +一个与 CPL 相类似的许可证,任何扩展自Eclipse源码的代码也必须是开源的。 + +**(6)CDDL** + +MPL(Mozilla Public License)的扩展协议,它允许公共版权使用,无专利费,并提供专利保护,可集成于商业软件中,允许自行发布许可。 + +商业软件可以使用,也可以修改 CDDL 协议的代码。 + +### 3、其它的重要许可证 + +#### 3.1 Creative Commons + +Creative Commons(CC)的许可证不太开放源代码授权,它们通常用于设计项目。 CC许可证有着宽广的定义,每个定义都会授予一定的权利。它有四个基本部分,可以单独或者组合使用。下面是部分概述: + +**署名** +作者必须是作品的原创者。 除此之外,作品可以修改,分发,复制和以其他方式使用。 +**相同方式共享** +工作可以修改,分发等等,但必须在一个许可证下。 +**非商业** +可以修改,分发等,但不用于商业目的。 关于什么是“商业”,说法比较含糊(没有提供明确的定义),因此您可能需要在自己的项目中澄清这一点。 +**禁止修改** +这意味着您可以复制和分发许可工作,但你不能以任何方式修改,或在原有的基础开发。 +商业软件的使用要遵从CC协议的具体规定,最严格的许可证将是“署名,非商业,不能修改”的授权。这意味着你可以自由共享的工作,但不能改变它,你必须把它归功于原创者。 + +#### 3.2 Common Public License 1.0 + +CPL 是 IBM 提出的开源协议,主要用于 IBM 或跟 IBM 相关的开源软件/项目中(例如,Eclipse、Open Laszlo等)。已被 EPL 替代。 + +#### 3.3 Mulan Permissive Software License v2 (MulanPSL - 2.0) + +木兰宽松许可证, 中国首个开源协议,其 v2 版通过开源促进会(OSI)认证,被批准为国际类别开源许可证。与 Apache 2.0 许可证兼容。 + + + +### 四、开源许可证的约束力 + +> “许可证相当于开源社区的基本法,发展到今天,已经越来越有约束力了。” -- 北京大学法学院教授张平 + +待补充 + + + +### 五、开源许可证的法律效力 + +中国第一个关涉 GPL 协议的诉讼案件宣判([(2018)京民终471号《二审判决书》](http://wenshu.court.gov.cn/website/wenshu/181107ANFZ0BXSK4/index.html?docId=3c0957c9b82e456eb6ceab0d002c50ba)),认可了 GPL 协议的法律效力,但对 GPL 协议约束的判断规则也存在争议。 + +待补充 + + + + +### 六、怎么选择开源许可证? + +借用阮一峰的分类图: + +![img](https://www.ruanyifeng.com/blogimg/asset/201105/bg2011050101.png) + + + +--- + +### 参考资料 + +[opensource.org:Licenses & Standards](https://opensource.org/licenses) + +[阮一峰:如何选择开源许可证?](https://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html) + +[阮一峰:开源许可证教程](https://www.ruanyifeng.com/blog/2017/10/open-source-license-tutorial.html) + +[Heather Meeker:Open source licensing: What every technologist should know](https://opensource.com/article/17/9/open-source-licensing) + +[Heather Meeker:9 open source license management rules for startups](https://opensource.com/article/17/9/9-open-source-software-rules-startups) + +[GNU:许可证](https://www.gnu.org/licenses/licenses.html) + +[GNU:各类许可证及其评论](https://www.gnu.org/licenses/license-list.zh-cn.html) + +[GitHub:Choose an open source license](https://choosealicense.com/) \ No newline at end of file -- Gitee