开源许可证介绍

GitHub 上的绝大多数项目都没有附加任何许可证条款。众所周知,GitHub 是当今开源软件的集散地,但是其中只有 14.9%的代码库(169 万中的 21.9 万)在顶级目录中包含了许可证授权条款。

换而言之,GitHub 上的大多数代码即不是开源软件,注意,没有开源许可证则说明仅仅允许私人使用。github 在 No License 中写的很清楚

You retain all rights and do not permit distribution, reproduction, or derivative works. You may grant some rights in cases where you publish your source code to a site that requires accepting terms of service. For example, publishing to GitHub requires you allow others to view and fork your code.

也就是说你保留所有权利,不允许分发或者复制等

各种开源许可证的图

MIT

非常宽松的许可协议,就是说你什么都可以干,但我不负责质量。

相当于是免责声明

使用该许可证的项目:jQuery、Rails、Express

BSD

也是宽松的协议,但比起 MIT,BSD 不允许软件的衍生版用原作者名字促销,BSD 依然是一个免责声明。BSD 和 MIT 差异很小。

MIT 和 BSD 给了我们几乎所有的权利

Javascript 常用 BSD 许可协议。因为 javascript 库很多,替代品也多。作者要做的仅仅是免责而已。

Apache v2

Apache v2 的许可很长,比 BSD 和 MIT 要严格不少,需要保留全部的原始版权,如果修改,则必须要加上主要的修改通知

Apache 是具有免责的法律效益的,而且有专利保护。(许可协议第三条 Grant of Patent License.)

使用该许可证的项目:Apache、SVN 和 NuGet

GPL v2 | GPL v3 (GNU General Public License)

GPL 是常用许可协议中最严格的了。GPL 是 copyleft 协议,copyleft 不多说,是根据 copyright 造出来的词。

GPL 最最重要的一条就是 GPL 的衍生品必须也是 GPL 协议。也就是说以 GPL 协议发布的软件,其后继版本将都是 GPL,要注意的是 Linux 就是 GPL,因此遵循 Apache v2 许可证的 Android 违背了 GPL 协议。衍生不可变更协议也同样使得使用 GPL 的软件必须开源(使用的那部分)。

But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it

这句话极大的限制了自由,偶英语不好,但看起来貌似还说这个许可要延伸到整个软件。

v3 和 v2 的区别在于 v3 增加了对于硬件的限制。

使用该许可证的项目:Linux、Git、LVS

LGPL (GNU Lesser General Public License)

GPL 过于严格,于是 GNU 发布了 LGPL 这个限制较少的许可证。

不过 LGPL 同样要求后继产品继承 LGPL 协议。因此不允许封闭代码。

LGPL 以前叫 Libary General Public License,如果你使用一个 LGPL 下的库, 你需要遵循 LGPL,如果仅仅是连接这个库,则不需要遵循 LGPL。

LGPL 和 GPL 最大的不同是 LGPL 允许在私有软件上使用它,而 GPL 只允许在自由软件上使用。

WTFPL (WHAT THE FUCK PUBLIC LICENSE)

最弱的许可证。

    DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE    Version 2, December 2004        Copyright (C) 2004 Sam Hocevar    14 rue de Plaisance, 75014 Paris, France    Everyone is permitted to copy and distribute verbatim or modified    copies of this license document, and changing it is allowed as long    as the name is changed.        DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION        0. You just DO WHAT THE FUCK YOU WANT TO.

https://fedoraproject.org/wiki/Licensing:WTFPL?rd=Licensing/WTFPL

选择开源许可证

这么多开源许可证怎么选择呢?

github 来帮你,妈妈再也不用担心我选许可证了

http://choosealicense.com/

违反开源许可证的例子

D-Link 德国违反 GPLv3.

暴风影音,qq 播放器,射手违反 ffmpeg(GPL 许可证)

Android 使用 Apache v2 违反 GPL 许可。

商业协议和开源许可证并存

mysql 既是 GPL,又有商业协议,这并不冲突。普通用户使用并不需要付钱, 厂商以此获利则需要遵循商业协议。

多个开源协议兼容

MIT, Apache v2 兼容 GPL。

jQuery 之前就移除 GPL 只用 MIT

之前的许可证部分

* Copyright (c) 2012 jQuery Foundation and other contributors* Dual licensed under the MIT or GPL Version 2 licenses.* http://jquery.org/license

现在已经变成MIT-LICENSE.txt

GPL 是更好的开源许可

看起来放弃版权或者使用 BSD 许可,显的更无私,很大程度上确实如此,但有时候却会相反。

相比 BSD, 或者放弃版权。GPL 要严格许多,至少它会限制后继版本。但这样做其实是非常好的。因为如果开发者自己或者被外力强制修改版权甚至是闭源(比如所在公司被收购),GPL 许可的软件不会有什么影响,因为它的后继版本由于强制是 GPL。我们可以继续使用他的后继版本。而 BSD 或其他许可的软件,很有可能被私有化。之前所有的努力都变成给别人打工。

github 也说了, 如果I care about sharing improvements.,那就应该选 GPL。

本文资料来源:
https://github.com/ftft1885/blog/blob/master/life/oosLicense.md

联系方式
广告
网站统计

累计发布:211 篇

总点赞量:1336

累计运行:5 年 263 天

建站日期:2018-10-25