侧边栏壁纸
博主头像
liveJQ博主等级

沒有乐趣,何来开始

  • 累计撰写 171 篇文章
  • 累计创建 67 个标签
  • 累计收到 2 条评论

最新图解并详细说明GitHub中12条许可证

liveJQ
2020-06-24 / 0 评论 / 0 点赞 / 1,027 阅读 / 2,151 字

概述

这12条开源协议/许可证都包含(相当于Unlicense):

  1. 免责声明:即作者不承担使用后所造成的任何后果,不提供资料的可用性保证,以下概括为免责无担保
  2. 共有权限:商用、修改、分发和私用

图解

20200624_open_source_license.png

详细说明

Apache-2.0

  • 权限:允许以源代码或其转换和翻译后的任何形式分发和使用(包括此类衍生产品),同时授予版权许可和专利许可。
  • 条件:其一,在副本或衍生产品中包含本许可声明。其二,在衍生产品(源代码形式)中必须保留此源代码携带的版权声明、商标、专利许可等。其三,如果修改了文件,需要在被修改的文件中声明,表明已更改了此文件,即状态变更其四,若包含NOTICE文件,则衍生产品中必须同样包含且只能向其添加条款而不能做出任何更改,即再许可中的规定/条件等需至少包含此许可已声明的条款。
  • 局限:免责无担保、无法使用授权者的商标/Logo/产品名称。

专利许可:可以作为专利使用,即可以为衍生产品申请专利。若它日涉及到侵权索赔,则侵权部分只与其新增或相结合后的贡献有关。

MPL-2.0

与Apache-2.0的主要区别:开放源代码。

EPL-2.0

与Apache-2.0的主要区别:允许使用授权者的商标/Logo/产品名称、开放源代码。

MIT

  • 权限:允许获得副本的任何人无限制使用(修改、合并、再许可或商用等)
  • 条件:在所有副本中包含原作者的版权声明和本许可声明
  • 局限:免责无担保

BSL-1.0

与MIT的主要区别:复制或衍生的作品仅可采用可执行目标代码的形式进行分发等(Boost Software,从字面意思可以看出此协议主要用来促进软件的交流和分享,而不是源代码)

BSD

  • 权限:允许以源代码或二进制的形式重新分发和使用,即使存在修改。
  • 条件:BSD-3-ClauseBSD-2-Clause修改后的BSD许可证,从字面上可以看出新增了一个条款,即未经许可下不得利用版权拥有者或贡献者的名字来宣传衍生的产品。另外两个条款,其一,若重新分发源代码,则必须包含版权声明和此许可声明;其二,若以二进制的形式重新分发,则其说明文档或材料中必须包含版权声明和此许可声明。
  • 局限:免责无担保

GPL

  • 权限:主要强调自由使用,即可以自由修改、分发源代码及其衍生产品。为了防止再发行者通过申请专利使其衍生的免费产品变为收费,GPL-3.0GPL-2.0 的基础上明确规定任何申请的专利都必须给予免费使用的许可。GPL-3.0允许使用GPL设备的用户自由修改其中的软件,例如:使用Linux设备的用户可以通过修改其中某软件源代码后重新打包安装使用。GPL-3.0还授予专利许可(即使申请了专利,也是可以免费使用的,专利和免费不冲突)。
  • 条件:其一,自己的衍生产品应该同样给予他人自由使用的权力,即使用相同的GPL协议;其二,提供源代码;其三,如果修改了文件,需要在被修改的文件中声明,表明已更改了此文件,即状态变更其四,在副本中包含原作者的版权声明和本许可声明。
  • 局限:免责无担保(若程序存在用户界面,则需要在明显位置上显示说明,包括一些版权信息、许可和相关的法律条文链接等等)

根据以上说明,难道采用GPL协议的产品就不能收费了?NNN~自由不等于免费,您可以对分发的副本进行收费或不收费,这里强调一下是副本!衍生产品的话可以通过提供安全维护或一些特殊服务来收取一定的费用,例如:红帽Linux

AGPL-3.0

GPL许可证存在一个漏洞,即程序经过修改后的版本在网络服务器上进行访问时,可以被允许不公开其源代码,大大降低了相关社区的活跃度和软件迭代能力。为此,AGPL-3.0GPL-3.0的基础上增加了一个条件,即要求网络服务器的管理员向其下的用户提供在那里运行的软件的修改版本源代码。

LGPL-2.1

  • 权限:允许将某些库链接到非免费程序中
  • 条件:大体上与GPL相同(注意:修改后的程序也必须是并采相同的许可)。LGPL中的Lesser意为相较于GPL,用户的自由度更少一些。尽管如此,链接到该库的程序的用户还是具有使用该库的修改版本的权力和自由。
  • 局限:免责无担保

某些库:指一些库为了将自己的库树立为业界的标准,鼓励大家使用所采用的办法;也有一些库与市面上广泛使用的非免费库的作用效果类似,所以这些库继续保持GPL也没啥作用了。

CC0 1.0 Universal

主要特点:可以被称为全球知识共享的协议。与Unlicense类似,没有任何的条件,甚至是放弃版权。区别是 CC0 1.0 Universal 强调不能使用其商标/Logo/产品名称或拿来作为专利使用,以确保更大范围的普及。

网络上对于License许可证的一些说明都比较陈旧,而且很不系统。没有我想要的那种既可以一目了然(没有时间,需要迅速决定采用哪种许可),又可以查看详细介绍(有充裕的时间,想深入了解)的,只有这张被玩烂的图。我对于其中的新增代码是否采用同样的许可证存在疑惑,LGPL被分在NO那个分支?这只能说使修改后的文件带有明显的声明对修改之处提供说明文档的意思不一样,但也可能原本想表达的是一个意思,翻译后就不一样了吧~


以上只是个人理解,难免错漏,仅供参考~

参考资料

  1. 哪个开源许可协议适合我的项目?
  2. 如何为你的代码选择一个开源协议
  3. SPDX License List
  4. OSI批准的符合OSD开源定义的许可证
0

评论区