您当前的位置:首页 > 电脑百科 > 程序开发 > 开源程序 > 百科

常用开源协议对比

时间:2021-05-31 10:22:47  来源:今日头条  作者:机电匠

什么是开源?

开源(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

协议简介:

这是"伯克利软件发行版"许可,

是一个给予使用者很大自由度的协议,基本上可以认为是能“为所欲为”的使用。

可以自由使用、修改源工程,也可以将原工程修改后的工程作为开源或者专有再发布,但是需要满足下面的条件:

a、如果再发布的产品中包含源工程,则在工程中必须带有原来的BSD协议;

b、如果再发布的只是二进制类库或软件,则需要在类库或软件的文档和版权声明中包含原来代码中的BSD协议;

c、不可以用开源的作者或机构名字以及原来产品的名字去做市场推广。

7、MIT(The MIT License)

协议原文:
https://opensource.org/licenses/MIT

协议简介:

MIT和BSD一样是宽泛的许可协议,作者只保留版权,而无需任何其他的限制。

MIT许可证的名字源自麻省理工学院(Massachusetts Institute of Technology),又叫做「X条款」(X License)或者「X11条款」(X11 License)。

MIT内容与三条款BSD许可证(3-clause BSD license)内容很像,但是赋予被授权人更大的权利和更少的限制。

被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及出售软件及软件的副本。 被授权人可根据程式的需要修改授权条款为适当的内容。 在软件和软件的所有副本中都必须包含版权声明和许可声明。此授权条款并非属copyleft的自由软件授权条款,允许在自由或开放源码软件或非自由软件(proprietary software)所使用。

这就是MIT与BSD本质上不同之处。

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

8、知识共享许可

CC-BY 3.0

协议原文:
https://creativecommons.org/licenses/by/3.0/

CC-BY-SA 3.0

协议原文:
https://creativecommons.org/licenses/by-sa/3.0/

CC-BY-NC-SA 3.0

协议原文:
https://creativecommons.org/licenses/by-nc-sa/3.0/

CC-BY-NC 3.0

协议原文:
https://creativecommons.org/licenses/by-nc/3.0/

协议简介:

上面这四种协议都是知识共享许可,那些字母代表的意义如下:

CC知识共享许可协议(Creative Commons license)的缩写。

BY署名,您必须给出适当的署名,提供指向本许可协议的链接,同时标明是否(对原始作品)作了修改。

SA相同方式共享,如果您在混合、转换或者基于本工程项目进行创作开发,您必须基于与原先许可协议相同的许可协议分享发布您贡献的部分。

NC非商业使用,您不得将本作品用于商业目的。

ND禁止演绎,如果您在混合、转换或者基于该作品创作开发,您不可以分享发布修改后的作品。

申明:

文中涉及开源协议的简介和解释,源于协议原文和相关文章的内容。

个人能力有限整理汇编的内容如有误差,请告知我,我将通过置顶评论的方式进行纠正。



Tags:开源协议   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
什么是开源?开源(Open Source)全称是:开放源代码。在今天,不仅是软件的源代码,还有硬件的机械图、电路图、PCB图,甚至整个工程项目的源文件,也都是开源的对象。开源的目的,就是让用户...【详细内容】
2021-05-31  Tags: 开源协议  点击:(228)  评论:(0)  加入收藏
▌简易百科推荐
大家好,我是等天黑, 今天介绍一个开源免费的监控工具 Uptime Kuma, 简单实用, 主要用来监控 Web 和网络, 和 Prometheus 不一样的是, 它是轻量的, 基于Node.js 和 Vue 3 开发...【详细内容】
2021-12-16  全球技术精选    Tags:监控工具   点击:(13)  评论:(0)  加入收藏
Svelte https://svelte.dev/Svelte 是一种全新的构建用户界面的方法。传统框架如 React 和 Vue 在浏览器中需要做大量的工作,而 Svelte 将这些工作放到构建应用程序的编译阶...【详细内容】
2021-11-09  风吹草低见到喜洋洋    Tags:开源软件   点击:(73)  评论:(0)  加入收藏
开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是 Lilishop 商城系统 基于SpringBoot 研发,B2B2C多用户商...【详细内容】
2021-10-21  GitHub精选    Tags:Lilishop   点击:(225)  评论:(0)  加入收藏
前言一个基于spring boot的JAVA开源商城系统,是前后端分离、为生产环境多实例完全准备、数据库为b2b2c商城系统设计、拥有完整下单流程和精美设计的java开源商城系统https://...【详细内容】
2021-09-17  Java架构师知识    Tags:开源商城   点击:(119)  评论:(0)  加入收藏
Web项目开发中视频播放是一个非常常见的需求,需要播放器能够支持pc端和移动端的使用,并且支持常见的视频格式。我们从github上精选了5款优秀的Html5 播放器插件分享给大家。(排...【详细内容】
2021-09-17  IT宇哥    Tags:播放器   点击:(99)  评论:(0)  加入收藏
本文盘点了 7 月份比较火的几个开源项目,涉及 Java、Python、教程等,这些开源项目分别是:1. 主流技术栈原理2. 数据可视化分析工具3. Spring 手撸专栏4. 接口管理平台5. 直播源...【详细内容】
2021-08-04  一个快乐的摸鱼人    Tags:开源项目   点击:(79)  评论:(0)  加入收藏
今天,要和大家推荐一个Go 编写的开源推荐系统——Gorse。 Gorse 旨在成为一个通用的开源推荐系统,可以快速引入各种在线服务。通过将商品、用户和交互数据导入 Gors...【详细内容】
2021-08-02  程序员吖  今日头条  Tags:推荐系统   点击:(104)  评论:(0)  加入收藏
什么是kubeedge:KubeEdge是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于kubernetes构建,并为网络应用程序提供基础架构支持。云和边缘之间的部署和元...【详细内容】
2021-06-28  pythontaotao    Tags:kubeedge   点击:(225)  评论:(0)  加入收藏
什么是开源?开源(Open Source)全称是:开放源代码。在今天,不仅是软件的源代码,还有硬件的机械图、电路图、PCB图,甚至整个工程项目的源文件,也都是开源的对象。开源的目的,就是让用户...【详细内容】
2021-05-31  机电匠  今日头条  Tags:开源协议   点击:(228)  评论:(0)  加入收藏
近日,微软开源了AI安全风险评估工具Counterfit,该工具旨在帮助开发人员测试AI和机器学习系统的安全性。该公司表示,Counterfit可以使组织进行评估,以确保其业务中使用的算法是可...【详细内容】
2021-05-06    雷锋网  Tags:Counterfit源代码   点击:(234)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条