开源软件的各大开源协议是什么含义,你知道嘛?

开源软件的各大开源协议是什么含义,你知道嘛?

 

这张图只供参考,不完全准确。

 

MIT 麻省理工学院协议

被授权人权利

被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软件及软件的副本。

被授权人可根据程序的需要修改授权条款为适当的内容。

被授权人义务

在软件和软件的所有副本中都必须包含版权声明和许可声明。

其他重要特性

此授权条款并非属copyleft的自由软件授权条款,允许在自由/开放源码软件或非自由软件(proprietary software)所使用。

MIT的内容可依照程序著作权者的需求更改内容。此亦为MIT与BSD(The BSD license, 3-clause BSD license)本质上不同处。

MIT条款可与其他授权条款并存。另外,MIT条款也是自由软件基金会(FSF)所认可的自由软件授权条款,与GPL兼容。

 

 

Apache License 2.0 阿帕奇V2.0协议

使用,复制和分发的条款和条件

1.定义

“ 许可 ”是指本文档第1至9节所定义的使用,复制和分发的条款和条件。

“ 许可人 ”是指版权所有者或授予许可证的版权所有者授权的实体。

“ 法人实体 ”是指行为实体与控制该实体,由该实体控制或受其共同控制的所有其他实体的联合。就本定义而言,“ 控制 ”是指(i)直接或间接导致通过合同或其他方式指示或管理该实体的权力,或(ii)百分之五十(50%)的所有权或更多的已发行股票,或(iii)该实体的实益拥有权。

“  ”(或“ 您的 ”)是指行使本许可证授予的许可的个人或法人实体。

“ 源代码 ”形式是指进行修改的首选形式,包括但不限于软件源代码,文档源代码和配置文件。

“ 对象 ”形式是指源形式的机械转换或翻译产生的任何形式,包括但不限于已编译的目标代码,生成的文档以及对其他媒体类型的转换。

“ 作品 ”指的是根据许可获得的著作权作品,无论是源形式还是对象形式,均应包含在该作品中或随附于其上的版权声明所指示(以下附录中提供了一个示例)。

“ 衍生作品 ”是指基于(或衍生自)该作品的任何作品(无论是源形式还是对象形式),其编辑修订,注解,细化或其他修改作为整体代表原始作品的作者身份。就本许可而言,衍生作品不应包括与该作品及其衍生作品保持分离或仅与其链接(或按名称绑定)的作品。

“ 贡献 ”是指版权拥有者,个人或个人有意将其包括在作品中的任何原创作品,包括作品的原始版本以及对该作品或其衍生作品的任何修改或增补,授权代表版权所有者提交的法人实体。就本定义而言,“已提交“”是指发送给许可方或其代表的任何形式的电子,口头或书面通讯,包括但不限于电子邮件清单,源代码控制系统和由或代表其管理的问题跟踪系统上的通讯,许可人,以讨论和改进作品为目的,但不包括版权所有者以明显标记或以其他方式书面指定为“ 非贡献”的通信。

“ 贡献者 ”是指许可人以及许可人已代表其收到贡献并随后合并到作品中的任何个人或法人实体。

2.授予版权许可。在遵守本许可的条款和条件的前提下,每位贡献者特此授予您永久的,全球性的,非排他的,免费的,免版税的,不可撤销的版权许可,以复制,准备,公开展示,公开表演,分许可,并以“源”或“对象”形式分发作品和此类衍生作品。

3.授予专利许可。在遵守本许可的条款和条件的前提下,每位贡献者特此授予您永久性的,全球性的,非排他性的,免费的,免版税的,不可撤销的(本节中所述的除外)专利许可,用于制作,制作,使用,要约出售,出售,进口和以其他方式转让该作品,且该许可仅适用于该贡献者应许可的专利权索赔,而这些专利权仅因其贡献或与他们的贡献相结合而受到侵犯提交此类贡献的作品。如果您针对任何实体(包括诉讼中的交叉索赔或反索赔)提起专利诉讼,指称该作品或该作品中包含的贡献构成直接或共同的专利侵权,

4.重新分配。您可以在满足以下条件的情况下,以任何媒介(有或没有修改)以及以源或对象的形式复​​制和分发作品或其衍生作品的副本:

  1. 您必须向该作品或衍生作品的任何其他接收者提供本许可的副本;和
  2. 您必须使所有修改过的文件带有明显的声明,表明您已更改文件;和
  3. 您必须以您分发的任何衍生作品的源代码形式保留该作品源代码形式的所有版权,专利,商标和出处声明,但与那些衍生作品的任何部分无关的声明除外;和
  4. 如果作品中包含“ 注意文本文件作为其分发的一部分,那么您分发的任何衍生作品都必须在至少一个这样的通知文件中包含可读的副本,其中包含该NOTICE文件中的归属通知,但不包括与衍生作品的任何部分均不相关的那些通知在以下位置:在作为衍生作品的一部分分发的NOTICE文本文件中;在源表单或文档中(如果与衍生作品一起提供);或者在由衍生作品生成的显示中,如果在任何地方,通知通常会出现。NOTICE文件的内容仅供参考,不能修改许可。您可以在自己分发的衍生作品中添加自己的署名通知,或者与作品中的NOTICE文字一起或作为附录,前提是此类附加的所有权声明不能解释为修改许可。

    您可以在自己的修改中添加您自己的版权声明,并可以提供其他或不同的许可条款和条件,以使用,复制或分发您的修改,或任何此类衍生作品作为一个整体,但前提是您使用,复制和分发了否则,作品应符合本许可中规定的条件。

5.缴纳会费。除非您另有明确说明,否则您有意提交给许可人的包括在作品中的任何贡献均应遵守本许可的条款和条件,没有任何其他条款或条件。尽管如此,本文中的任何内容都不能取代或修改您可能与许可方签署的有关此类贡献的任何单独许可协议的条款。

6.商标。本许可不授予使用许可方的商标名称,商标,服务商标或产品名称的许可,除非在描述作品的来源和复制通知文件内容时合理合理地使用是必需的。

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8.责任范围。在任何情况下,也没有任何法律理论上的依据,无论是侵权(包括过失),合同还是其他方式,除非适用法律要求(例如故意和重大过失行为)或书面同意,否则任何贡献者均应对您承担以下责任:损害赔偿,包括由于本许可或由于使用或无法使用作品而引起的任何性质的任何直接,间接,特殊,偶然或结果性损害(包括但不限于因商誉损失,停工而引起的损害赔偿) ,计算机故障或故障,或任何及所有其他商业性损坏或损失),即使已告知该贡献者此类损坏的可能性。

9.接受保修或额外责任。在重新分发作品或其衍生作品时,您可以选择提供并收取与本许可证一致的支持,保证,赔偿或其他责任义务和/或权利的费用。但是,在接受此类义务时,您只能代表自己并独自承担责任,不能代表任何其他贡献者,并且仅在您同意赔偿,捍卫每个贡献者并使他们不承担任何责任的情况下,或由于您接受任何此类保证或其他责任而针对该贡献者提出的索赔。

条款和条件的结尾

 

 

BSD 协议

BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:

如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销 售,因此是对商业集成很友好的协议。很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

 

BSD 2-Clause license

BSD允许使用者修改和重新发布代码(以其他协议形式),允许闭源商业发布和销售。

BSD鼓励代码共享的同时,要求尊重代码作者的著作权。

使用BSD协议,需要遵守以下规则:

  1. 再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议;
  2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档那个和版权声明中包含原来代码中的BSD协议。

 

BSD 3-Clause License

BSD允许使用者修改和重新发布代码(以其他协议形式),允许闭源商业发布和销售。

BSD鼓励代码共享的同时,要求尊重代码作者的著作权。

使用BSD协议,需要遵守以下规则:

  1. 再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议;
  2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档那个和版权声明中包含原来代码中的BSD协议;
  3. 不可以用开源代码的“作者/机构的名字”或“原来产品的名字”做市场推广。

 

Eclipse Public License v1.0

EPL允许使用者任意使用、复制、分发、传播、展示、修改以及改后闭源的二次商业发布。

使用EPL协议,需要遵守以下规则:

  1. 当一个代码贡献者将源码的整体或部分再次开源发布的时候,必须继续遵循EPL开源协议来发布,而不能改用其他协议发布.除非你得到了原“源码”拥有者的授权;
  2. EPL协议下,你可以将源码不做任何修改来商业发布.但如果你要发布修改后的源码,或者当你再发布的是二进制文件的时候,你必须声明它的源代码是可以获取的,而且要告知获取方法;
  3. 当你需要将EPL下的源码作为一部分跟其他私有的源码混和着成为一个Project发布的时候,你可以将整个Project/Product以私人的协议发布,但要声明哪一部分代码是EPL下的,而且声明那部分代码继续遵循EPL;
  4. 独立的模块(Separate Module),不需要开源。

 

Zlib/Libpng协议

该协议要求遵守以下几点:

1. 基于该软件的原样使用,作者不负责使用该软件照成的任何损失。
2. 该软件修改后的版本将受到以下限制:
3. 不能歪曲原软件的著作权
4. 修改后的软件不能歪曲为原版软件
5. 不能删除源码中的协议许可内容
6. 如果发布二进制代码可以不用附上源代码。
 

 

Apache 协议

Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:

 

  • 需要给代码的用户一份Apache Licence
  • 如果你修改了代码,需要在被修改的文件中说明。
  • 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
  • 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。

Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
 

LGPL 协议

宽松公共许可证(Lesser General Public License)或库通用公共许可证(Library General Public License)

基于 LGPL 的软件也允许商业化销售,但不允许封闭源代码。
如果您对遵循 LGPL 的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承 LGPL 协议,不允许封闭源代码。但是如果您的程序对遵循 LGPL 的软件进行任何连接、调用而不是包含,则允许封闭源代码。

 

LGPL v2

LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。

但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。

GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品

 

LGPL v3

相对于LGPL v2,不仅要求用户公布修改的源代码,还要求公布相关硬件。

 

 

GPL 协议

即通用性公开许可证(General Public License,简称GPL)。

GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。 

GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的 整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。因此,一项遵循GPL流通 的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。

GPL协议最主要的几个原则:

1、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软 件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。

2、GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。

3、无论软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。如果以光盘形式发布,就必须同时附上源文件的光盘。

4、开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。

GPL详细信息

 

GPL v2

我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。

GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。

由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。

 

 

AGPL 协议

原有的GPL协议,由于现在网络服务公司兴起(如:google)产生了一定的漏洞,比如使用GPL的自由软件,但是并不发布与网络之中,则可以自由的使 用GPL协议确不开源自己私有的解决方案。AGPL则增加了对此做法的约束。

GPL的约束生效的前提是“发布”软件,即使用了GPL成分的软件通过互联网或光盘release软件,就必需明示地附上源代码,并且源代码和产品也受GPL保护。

这样如果不“发布”就可以不受约束了。比如使用GPL组件编写一个Web系统,不发布这个系统,但是用这个系统在线提供服务,同时不开源系统代码。

 

 

Artistic License 2.0

Artistic License,又称艺术许可协议(英语:Artistic License),通常指最初的艺术许可协议(1.0版),是一个自由软件授权条款,主要用在官方发布的Perl解释器和大部分CPAN模块的授权。原始的艺术许可协议是由Perl的创始人Larry Wall编写发布的。

 

 

MulanPSL-2.0  木兰宽松许可协议

   木兰宽松许可证, 第2版 
   您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束:

    0. 定义

      “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。

      “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。

      “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。

      “法人实体”是指提交贡献的机构及其“关联实体”。

      “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。

   1. 授予版权许可

      每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。

   2. 授予专利许可

      每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。

   3. 无商标许可

      “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。

   4. 分发限制

      您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。

   5. 免责声明与责任限制

      “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 

   6. 语言
      “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。

   条款结束 

   如何将木兰宽松许可证,第2版,应用到您的软件
   
   如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步:

      1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字;

      2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中;

      3, 请将如下声明文本放入每个源文件的头部注释中。

Copyright (c) [Year] [name of copyright holder][Software Name] is licensed under Mulan PSL v2.You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at:http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.  See the Mulan PSL v2 for more details.  

木兰协议 第一版和第二版差不多,大致意思一致。

 

 

 

参考来源:https://blog.csdn.net/darren2015zdc/article/details/78733045

参考来源:https://www.jianshu.com/p/72fe46d4b5ae

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注