`
haliluya4
  • 浏览: 123463 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

五种开源协议(GPL,LGPL,BSD,MIT,Apache)(转)

 
阅读更多

转自http://www.cnblogs.com/likebeta/archive/2012/06/21/2558180.html

什么是许可协议?

什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。

不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作 者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。

开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你 至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议。

GNU GPL

GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利:

  • 可自由复制
    你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。
  • 可自由分发
    在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。
  • 可以用来盈利
    你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。
  • 可自由修改
    如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用 GPL 协议。

需要注意的是,分发的时候,需要明确提供源代码和二进制文件,另外,用于某些程序的某些协议有一些问题和限制,你可以看一下 @PierreJoye 写的 Practical Guide to GPL Compliance 一文。使用 GPL 协议,你必须在源代码代码中包含相应信息,以及协议本身。

GNU LGPL

GNU 还有另外一种协议,叫做 LGPL (Lesser General Public Licence), 它对产品所保留的权利比 GPL 少,总的来说,LGPL 适合那些用于非 GPL 或非开源产品的开源类库或框架。因为 GPL 要求,使用了 GPL 代码的产品必须也使用 GPL 协议,开发者不允许将 GPL 代码用于商业产品。LGPL 绕过了这一限制。

BSD

BSD 在软件分发方面的限制比别的开源协议(如 GNU GPL)要少。该协议有多种版本,最主要的版本有两个,新 BSD 协议与简单 BSD 协议,这两种协议经过修正,都和 GPL 兼容,并为开源组织所认可。

新 BSD 协议(3条款协议)在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制。另外,该协议还禁止拿开发者的名义为衍生产品背书,但简单 BSD 协议删除了这一条款。

MIT

MIT 协议可能是几大开源协议中最宽松的一个,核心条款是:

该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示。

这意味着:

  • 你可以自由使用,复制,修改,可以用于自己的项目。
  • 可以免费分发或用来盈利。
  • 唯一的限制是必须包含许可声明。

MIT 协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制。

Apache

Apache 协议 2.0 和别的开源协议相比,除了为用户提供版权许可之外,还有专利许可,对于那些涉及专利内容的开发者而言,该协议最适合(这里有 一篇文章阐述这个问题)。

Apache 协议还有以下需要说明的地方:

  • 永久权利
    一旦被授权,永久拥有。
  • 全球范围的权利
    在一个国家获得授权,适用于所有国家。假如你在美国,许可是从印度授权的,也没有问题。
  • 授权免费,且无版税
    前期,后期均无任何费用。
  • 授权无排他性
    任何人都可以获得授权
  • 授权不可撤消
    一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码。

分发代码方面包含一些要求,主要是,要在声明中对参与开发的人给予认可并包含一份许可协议原文。

Creative Commons

Creative Commons (CC) 并非严格意义上的开源许可,它主要用于设计。Creative Commons 有多种协议,每种都提供了相应授权模式,CC 协议主要包含 4 种基本形式:

  • 署名权
    必须为原始作者署名,然后才可以修改,分发,复制。
  • 保持一致
    作品同样可以在 CC 协议基础上修改,分发,复制。
  • 非商业
    作品可以被修改,分发,复制,但不能用于商业用途。但商业的定义有些模糊,比如,有的人认为非商业用途指的是不能销售,有的认为是甚至不能放在有广告的网 站,也有人认为非商业的意思是非盈利。
  • 不能衍生新作品
    你可以复制,分发,但不能修改,也不能以此为基础创作自己的作品。

这些许可形式可以结合起来用,其中最严厉的组合是“署名,非商用,不能衍生新作品”,意味着,你可以分享作品,但不能改动或以此盈利,而且必须为原 作者署名。在这种许可模式下,原始作者对作品还拥有完全的控制权,而最宽松的组合是“署名”,意味着,只要为原始作者署名了,就可以自由处置。

—————–
因为在此之前,我用了国内的一些开源程序,但是呢这些程序都是需要商业授权的,不知道能不能免费的自己搭建起来给企业用。比如说 shopex,康盛的产品, PHPCMS等等。。。。
如果真用了,他们会找上门来问你要版权么?

 

如何选择开源许可证?

如何为代码选择开源许可证,这是一个问题。

世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPLBSDMITMozillaApacheLGPL----之中做选择,也很复杂。

乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。

下面是我制作的中文版,请点击看大图。

原文地址1:http://www.oschina.net/question/54100_9455

原文地址2:http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

分享到:
评论

相关推荐

    开源协议比较(BSD,Apache,GPL,LGPL,MIT)

    本文将深入探讨五种最常用的开源协议:BSD、Apache、GPL、LGPL以及MIT,分析它们的特点、适用场景及对开源项目的影响。 #### BSD许可证 BSD许可证是一种非常宽松的许可证,允许用户自由使用、修改和分发软件,而...

    五种开源协议(GPL,LGPL,BSD,MIT,Apache)介绍

    本文将深入探讨五种主要的开源协议:GPL、LGPL、BSD、MIT和Apache。 首先,GPL(GNU General Public License)是最具影响力的开源协议之一,它确保了软件的“copyleft”属性,即如果软件的任何部分被用于其他项目,...

    重要开源协议的比较(BSD,Apache,GPL,LGPL,MIT).pdf

    在众多开源协议中,有五种特别重要且被广泛使用的协议:BSD、Apache、GPL、LGPL和MIT。这五种协议各有其特点和适用范围,下面我将对它们逐一进行详细介绍。 首先,BSD协议(Berkeley Software Distribution License...

    开源协议BSD, GPL, LGPL, MIT等比较

    开源协议比较 BSD, GPL, LGPL, MIT 等 开源协议是开源软件开发和使用中非常重要的一部分,选择合适的开源协议可以保护作者的权益同时也可以促进开源软件的发展。常见的开源协议有 BSD, GPL, LGPL, MIT 等,这些协议...

    五种常见软件开源协议介绍-GPL、LGPL、BSD、Apache、MIT.pdf

    五种常见软件开源协议介绍-GPL、LGPL、BSD、Apache、MIT.pdf

    各种开源协议简析 GPL、BSD、MIT、Mozilla、Apache、LGPL1

    本文将分析几种常见的开源协议,包括GPL、BSD、MIT、Mozilla(MPL)、Apache 2.0和LGPL,帮助开发者理解它们的特点和适用场景。 首先,BSD开源协议赋予了使用者极高的自由度。它允许使用者自由地使用、修改源代码,...

    BSD-APACHE-GPL-LGPL-MIT.rar_open

    五种开源协议的比较(BSD,APACHE,GPL,LGPL,MIT)–整理Comparison of five open source license (BSD, APACHE, GPL, LGPL, MIT)- finishing

    BSD-APACHE-GPL-LGPL-MIT.rar_mit gpl

    在本文中,我们将深入探讨五种常见的开源协议:BSD、Apache、GPL、LGPL以及MIT,并分析它们之间的差异。 首先,BSD(Berkeley Software Distribution)协议源于加州大学伯克利分校,其主要特点是宽松的授权条件。它...

    五种开源协议的比较

    在众多开源协议中,BSD、Apache、GPL、LGPL 和 MIT 是最为常见且广受好评的几种协议。本文将详细介绍这五种协议的特点、适用场景及其之间的差异。 #### BSD 开源协议 - **简介**:BSD协议给予使用者很大的自由度,...

    常用开源协议文本

    以下是对五个主要开源协议——LGPL、GPL、MIT、Apache 2.0和BSD的详细解读。 1. LGPL (GNU Lesser General Public License) LGPL,全称GNU较宽松公共许可证,主要用于库和框架。与GPL相比,LGPL允许非开源项目链接...

    五种开原协议比较

    在众多开源协议中,BSD、Apache Licence 2.0、GPL、LGPL 和 MIT 是最常被提及且广泛使用的五种协议。 #### 二、协议详解 ##### 1. BSD 开源协议 **简介**: - BSD开源协议是一种给予使用者极大自由度的协议。 - ...

    开源协议思维导图(相关系统和简介)

    本文将深入解析几个常见的开源协议,包括BSD、Apache Licence、GPL、LGPL、MIT和MPL,以及它们各自的特点和适用场景。 1. **BSD开源协议**: BSD协议给予使用者极大的自由,允许使用、修改和重新发布源代码,甚至...

    开源协议知多少开源协议知多少

    - **特点**: GPL 是一种非常严格的开源许可证,要求任何使用 GPL 许可下的代码进行修改和再发布的代码也必须采用 GPL 许可。 - **应用场景**: 当开发者希望确保任何人使用或修改后的代码仍然保持开源状态时,会...

    Python-开源协议说明

    3. GPL(GNU General Public License):这是一个 Copyleft 协议,要求任何基于该软件的衍生作品也必须采用相同的GPL协议发布,以确保软件的开源性质得以延续。Python本身采用的就是GPL的变种——PSF(Python ...

    五种开源许可证的比较

    本文将详细介绍五种常用的开源许可证——BSD、GPL、LGPL、MIT以及Apache License,并探讨它们对商业运作的具体影响。 #### 二、许可证详解 ##### 1. BSD许可证 - **定义**:BSD许可证是一种非常宽松的许可证,它...

    Java程序员需要了解的几个开源协议介绍.rar

    GPL 是一种 Copyleft 许可证,要求任何基于 GPL 代码的衍生作品也必须采用 GPL 协议,确保代码的开源性质得以延续。这意味着如果你的项目中包含了 GPL 代码,整个项目必须开源。GPL 特别适合那些希望保护代码自由,...

    开源软件协议列表.docx

    - **定义**:Apache License 是一种非常宽松的开源协议,它允许用户自由使用、复制、修改和分发软件的源代码。该协议鼓励代码共享和重用,并要求在修改后的文件中包含原作者的信息。 - **示例**: - **Apache**:这...

    Java 全栈知识点问题汇总(16).pdf

    在开源协议方面,主要讨论了MIT、Apache、BSD、GPL和LGPL这五种最常见的协议。MIT协议非常宽松,允许自由使用、修改和分发,只要保留原作者的版权声明即可。Apache协议类似于MIT,但增加了专利授权条款,保护用户免...

    百度网盘java进销存管理系统源码-lf-study-node-tencent:nodejs基础知识,5中开源协议介绍,Iaas,Paas,S

    0.开发人员必知的5种开源协议(BSD,Apache,GPL,LGPL,MIT): BSD:可二次开发可商用,公司首选 Apache:可二次开发可商用,要标原代码注著作权 GPL:可二次开发可商用,不允许修改后和衍生的代码做为闭源的商业软件发布和...

    各种开源license的限制集合

    本文将详细介绍常见的10种开源协议及其限制条件,帮助你避免无意中侵犯版权。 1. **GNU General Public License (GPL)**:GPL是最著名的开源许可证之一,它要求所有基于该软件的衍生作品也必须采用GPL许可证,即...

Global site tag (gtag.js) - Google Analytics