From fb6fbfced5a433333f66baa3d522ba7426903917 Mon Sep 17 00:00:00 2001 From: progr1mmer <653800209@qq.com> Date: Sun, 8 Nov 2020 22:20:14 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=AC=AC=E5=9B=9B=E9=83=A8=E5=88=86?= =?UTF-8?q?=E2=80=94=E2=80=94=E5=90=AF=E5=8A=A8=E8=87=AA=E5=B7=B1=E7=9A=84?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E9=A1=B9=E7=9B=AE/=E5=BC=80=E6=BA=90?= =?UTF-8?q?=E8=AE=B8=E5=8F=AF=E8=AF=81=E7=9A=84=E5=BA=94=E7=94=A8.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...01\347\232\204\345\272\224\347\224\250.md" | 66 ++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git "a/\347\254\254\345\233\233\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\350\256\270\345\217\257\350\257\201\347\232\204\345\272\224\347\224\250.md" "b/\347\254\254\345\233\233\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\350\256\270\345\217\257\350\257\201\347\232\204\345\272\224\347\224\250.md" index 6511ae2..05ded3a 100644 --- "a/\347\254\254\345\233\233\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\350\256\270\345\217\257\350\257\201\347\232\204\345\272\224\347\224\250.md" +++ "b/\347\254\254\345\233\233\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\350\256\270\345\217\257\350\257\201\347\232\204\345\272\224\347\224\250.md" @@ -1,2 +1,66 @@ ### 选择一个合适的开源许可证 -### 关于修改开源许可证 \ No newline at end of file + +相信对于很多刚踏入软件这个行业的小伙伴来说,“开源软件许可证”是个比较陌生的概念,毕竟在现阶段如何写好手中的代码才是更加重要的事。但是随着经手项目逐渐增多,会发现很多项目,尤其是一些大型项目,经常会引用到别人一些优秀的开源代码,而这些优秀的开源代码通常都会在最开始简单地附上一段关于授权的声明或在项目根目录下提供完整的授权声明文件,比如:"The project is licensed under the Apache 2 license.",诸如此类便是“开源许可证”。 + +声明开源许可证,可以让广大开发者看到并获取我们作品的同时又保留了我们作为作者的一些权利。在提高自身业界知名度的同时又能防止有人将作者名字改成自己,拿去谋取利益。 + +开源不等于免费,开源也不等于没有约束。 + +#### 开源许可证概述 + +开源许可证是开源软件的授权许可,里面详尽表述了个人或组织获得开源代码后拥有的权力,包括可以进行哪些操作以及禁止哪些操作。对于绝大部分人来说,与其自己花大把时间去编写一份开源许可证,倒不如直接选择一个广为流传且合适的已有开源许可证,这样做既省心又省力。而且,靠个人完成一份开源许可证的编写也不是一件容易的事情。 + +#### 常见开源许可证授权概述 + +| 协议 | 描述 | 要求 | 允许 | 禁止 | +| -------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | ----------------------------------------------- | -------------------------------------------- | +| LGPL | 主要用于一些代码库。衍生代码可以以此协议发布(言下之意你可以用其他协议),但与此协议相关的代码必需遵循此协议。 | 1.公开源码 2.库引用 3.协议和版权信息 | 1.商用 2.分发 3.修改 4.专利授权 5.私用 6.附加协议 | 1.责任承担(禁止让作者承担责任,可以理解为免责) | +| Mozilla | Mozilla Public License(MPL 2.0)是由Mozilla基金创建维护的。此协议旨在较为宽松的BSD协议和更加互惠的GPL协议中寻找一个折衷点。 | 1.公开源码 2.协议和版权信息 | 1.商用 2.分发 3.修改 4.专利授权 5.私用 6.附加协议 | 1.责任承担 2.商标使用 | +| GPL | 此协议是应用最为广泛的开源协议,拥有较强的版权自由( copyleft )要求。衍生代码的分发需开源并且也要遵守此协议。此协议有许多变种,不同变种的要求略有不同。 | 1.公开源码 2.协议和版权信息 3.声明变更 | 1.商用 2.分发 3.修改 4.专利授权 5.私用 | 1.责任承担 2.附加协议 | +| BSD | 较为宽松的协议,包含两个变种BSD 2-Clause 和BSD 3-Clause,两者都与MIT协议只存在细微差异。 | 1.协议和版权信息 | 1.商用 2.分发 3.修改 4.私用 5.附加协议 | 1.责任承担 | +| MIT | 宽松简单且精要的一个协议。在适当标明来源及免责的情况下,它允许你对代码进行任何形式的使用。 | 1.协议和版权信息 | 1.商用 2.分发 3.修改 4.私用 5.附加协议 | 1.责任承担 | +| Apache | 一个较宽松且简明地指出了专利授权的协议。 | 1.协议和版权信息 2.声明变更 | 1.商用 2.分发 3.修改 4.专利授权 5.私用 6.附加协议 | 1.责任承担 2.商标使用 | + +#### 快速选择 + +国内大神阮一峰根据乌克兰程序员Paul Bagwell的开源许可证选择分析图翻译的一份[中文版本](http://www.ruanyifeng.com/blogimg/asset/201105/free_software_licenses.png),是我目前见过的最通俗易懂的,因为语法支持的问题,用以下区块大致表示为: + +> 他人修改源码后,是否可以闭源? +>> 是 +>>> 每一个修改过的文件,是否都必须放置版权说明? +>>>> 是 +>>>>> Apache + +>>>> 否 +>>>>> 衍生软件的广告,是否可以用你的名字促销? +>>>>>> 是 +>>>>>>> MIT + +>>>>>> 否 +>>>>>>> BSD + +>> 否 +>>> 新增代码是否采用同样许可证? +>>>> 是 +>>>>> GPL + +>>>> 否 +>>>>>> 是否需要对源码的修改之处,提供说明文档? +>>>>>>> 是 +>>>>>>>> LGPL + +>>>>>>> 否 +>>>>>>>> Mozilla + +### 关于修改开源许可证 + +开源软件的著作权属于作者所有,作者可以自行决定是否变更开源许可证,但是需要注意以下几点: +* 变更授权之前的授权不能撤销 +* 如果有许多著作权所有者,需要共同同意 +* 如果使用多个开源许可证,变更开源许可证后,要防止不同开源许可证在授权上出现冲突的问题 + +### 参考链接 + +https://www.cnblogs.com/cangqinglang/p/11326130.html + +http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html -- Gitee