浅谈开源软件许可协议

前言

今天github 996ICU 项目中正在讨论 996ICU License,本人也对开源软件许可协议不太了解,故有此文。

开源软件许可协议是什么

开源软件许可协议也是协议的一种,首先我们需要大概了解协议是什么

什么是协议

泛指国家、政府、政党、团体或个人间就一定问题经谈判、协商后而达成的共同决定。通常用文件形式来体现。国家和政府间的协议往往采取条约的形式。协议有时也作为条约的一种名称。(摘自百度汉语搜索)

简单的来说就是协议就是人,组织之间一种约定好的内容。

开源软件许可协议

软件开源让我们可以让我们学习和了解别人优秀的代码。

但是如果我们 Copy 别人的代码没有注意到许可协议的话,我们Copy他人代码的作品可能会因为触犯别人的权益违法。

因此大多数开源协议最低的要求是使用者需要保留原作者对代码的声明即许可协议,毫无顾忌的拿来用了很可能会出事。

所以开源便于互相学习,但并不代表毫无约束。

常见的开源软件许可协议

  • MIT

MIT许可证在所有许可证也许是最开放的。它可以效用于公共领域。它明确授予“不受限制,包括但不限于使用,复制,修改,合并,发布,分发,转让许可和/或销售本软件副本的权利。”唯一的条件是完整的版权声明(声明不保证或责任)包括在内。根据MIT许可证发布的工作可用于任何事物,包括商业和专有软件。

  • BSD

BSD许可类似于MIT许可。

允许我们完全自由地复制,分发和修改任何目的的工作,前提是包含原始许可和版权声明。衍生作品可以在其他许可下或作为专有软件发布。

  • Apache

Apache许可证许可下的代码可以用于开放,免费和专有软件(如MIT和BSD许可证)。

它规定了在任何许可文件中必须保留所有原始版权,归属和商标通知的条件。此外,对于任何修改过的工作,必须包含变更通知。还必须保留任何现有的变更通知。所有这些通知必须分发在文本文件和源代码或文档中。

保留修改通知的这一要求使Apache许可证与MIT和BSD许可证不同。它还包括许多法律条款和条件(除其他目的外)解除原始版权所有者的任何责任。

Apache许可证(版本2)据说与GPL兼容,这意味着包含在两者下许可的代码的项目也必须在GPL版本3下获得许可。

  • GPL

成立原则是我们应该可以自由使用,更改,共享和分享对自由软件的更改。无论软件如何分发,它都是免费的。这个概念被称为“copyleft”。

GPL的基本原则与MIT,BSD和Apache许可不同,GPL下的工作必须保留在此许可下。可以出售GPL代码,但不能从中派生出专有软件。如果您分发任何衍生作品,则必须在相同许可下提供源代码。基本上,一旦根据GPL发布作品,它仍然是GPL,并且不能应用进一步的限制。

GPL第3版明确指出,虽然GPL下的代码可用于实施数字版权管理(DRM),但使用GPL代码并不算作有效的“保护”,因此,任何破解它的人都无法承担责任。数字版权法。

参考链接

  1. https://choosealicense.com/licenses/

  2. https://www.smashingmagazine.com/2011/06/understanding-copyright-and-licenses/

posted @ 2019-03-30 20:56  云尘  阅读(887)  评论(1编辑  收藏  举报