常用开源协议对比

什么是开源?开源(Open Source)
全称是:开放源代码 。
在今天,不仅是软件的源代码,还有硬件的机械图、电路图、PCB图,甚至整个工程项目的源文件,也都是开源的对象 。
开源的目的,就是让用户在一个工程项目中,利用开源的源代码和源文件,在前一位开发者的基础上进行学习、修改、完善,使之变得更完美 。
开源虽然免费,但是这些源代码和源文件以及它的产物是有版权的,同样受到法律保护 。

常用开源协议对比

文章插图
 
什么是开源协议?开源协议是工程项目中,那些开源共享的部分或者全部源代码和源文件,去遵循的一个公认协议,用来保护每一个为它做出贡献的开发者 。
常用开源协议对比

文章插图
 
常用的开源协议我们在开源平台发布的工程项目,需要选择一个公认的开源协议,用来保护自己和前任开发者的合法权益 。
现在存在的开源协议多达几十种,下面我们看看在开源平台中常见的那些开源协议:
常用开源协议对比

文章插图
 
1、Public Domain
【常用开源协议对比】协议原文:
https://creativecommons.org/share-your-work/public-domain/
协议简介:
这是公有领域的协议,申明了权利或权益不为个人或团体所有,这些知识或发明是属于公有的文化遗产 。
2、TAPR Open Hardware License
协议原文:
https://www.tapr.org/ohl.html
协议简介:
这是TAPR开放硬件许可证,
它与GNU通用公共许可证一样,OHL旨在保证你分享和创造的自由 。它禁止任何人接受OHL规定的拒绝任何其他被许可人的相同权利的权利复制、修改和分发文档,以及制作、使用和根据文件分发产品 。它又与GPL不同,OHL主要不是版权许可 。
3、CERN Open Hardware License
协议原文:
https://www.ohwr.org/projects/cernohl/wiki
协议简介:
这是CERN开放硬件许可证,
CERN方面称OHL的诞生源自于其想公开分享硬件设计的愿望 。他们认为GPL、MIT以及Apache 2.0之类的开源许可证并不能完全满足其想要分享硬件设计的需求 。
在硬件方面,与商业公司合作是必要的,因为需要有人来制造它、组装测试并卖出 。公司不喜欢法律风险,所以需要一个许可证来明确条件是什么 。
CERN开放式硬件许可证2.0版于2020年正式发布,以促进硬件设计者之间的合作;并提供一个法律工具,支持自由使用、研究、修改、分享和分发硬件设计和基于这些设计的产品 。该许可证版本最终获得了三种变体包括CERN-OHL-P(permissive);以及两个互惠许可证:CERN-OHL-W(weakly reciprocal)和CERN-OHL-S(strongly reciprocal) 。
4、GPL 3.0(GNU General Public License version 3)
协议原文:
https://opensource.org/licenses/GPL-3.0
协议简介:
这是GUN的通用公共许可证,
只要在工程项目中使用了GPL协议下的产品,那么这个工程项目必须采用GPL协议,也就是说必须开源和免费 。
GPL的出发点是代码的开源与免费使用和引用、修改、衍生代码的开源与免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售 。
GPL最显著的特点是“病毒性传播”和“不允许闭源的商业发布”,我们熟悉的linux就是使用了GPL许可 。
5、LGPL(GNU LGPL)
协议原文:
https://opensource.org/licenses/lgpl-license
协议简介:
这是GNU的宽通用公共许可证,
LGPL是GPL主要为类库使用而设计的开源协议,与原生的GPL协议不同 。
LGPL允许商业软件通过对类库以引用的方式使用LGPL类库,而不需要开源商业软件的代码 。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售 。
但是如果修改LGPL协议的代码或者衍生代码,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议开源 。
因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用 。
GPL和LGPL都是在保护原作者的知识产权,避免有人利用开源代码复制并开发类似产品闭源销售 。
6、BSD(Berkeley Software Distribution)
协议原文:
https://opensource.org/licenses/BSD-2-Clause
协议简介:
这是"伯克利软件发行版"许可,


推荐阅读