9个主流的开源许可协议

开源许可证对比:选择与影响 许可证Copyleft 类型商业友好度专利保护使用限制GPL强制性较低否高MIT无高否无无高是无BSD无高否无MPL弱 Copyleft中等是中等选择合适的开源许可证取决于项目目标、用户需求以及开发者对开放性和控制权的看法。理解这些差异有助于开发者做出更明智的决策,从而推动项目成功并促进社区发展。如果你有任何问题或需要进一步的信息,请再评论区留言。 阅读详情
关于开源许可
现今存在的开源协议很多,而经过 Open Source Initiative组织通过批准的开源协议目前有60多种( http://www.opensource.org/licenses/alphabetical)。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。

基本概念

1.Contributors 和 Recipients
Contributors(贡献者)——指的是对某个开源软件或项目提供了代码(包括最初的或者修改过)的人或实体(退队、公司、组织等)。
按照贡献的先后可分为"创始人"(an initial Contributor)和"参与者"(subsequent Contributors)。

Recipients(获取者)——指的是开源软件或项目的使用者。
显然,subsequent Contributors也属于Recipients之列。

2.Source Code 和 Object Code
Source Code——指的是由各种语言写成的 源代码。
Object Code——指的是Source Code经过编译后,生成的类似“类库”一样的,提供了各种接口供他人使用的 目标代码(就如,DLL、JAR等)。

3.Derivative Module 和 Separate Module
Derivative Module(衍生模块)——指的是,依托或包含“最初的”或者“从别人处获取的”开源代码而产生的代码,是对“源代码模块”的增强、改善和延续。
Separate Module(独立模块)——指的是,参考或借助“源代码”开发出来的独立的,不包含、不依赖于原“源代码模块”的功能模块。

*Apache License, 2.0 (Apache-2.0)
*BSD 3-Clause "New" or "Revised" license (BSD-3-Clause)
*BSD 3-Clause "Simplified" or "FreeBSD" license (BSD-2-Clause)
*GNU General Public License (GPL)
*GNU Library or "Lesser" General Public License (LGPL)
*MIT license (MIT)
*Mozilla Public License 1.1 (MPL-1.1)
*Common Development and Distribution License (CDDL-1.0)
*Eclipse Public License (EPL-1.0)
注:原Common Public License 1.0已被Eclipse Public License (EPL-1.0)替代。


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

Apache Lience鼓励代码共享和尊重原作者的著作权。

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

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


BSD开源协议(Berkerley Software Distribution)( BSD 3-Clause,  BSD 2-Clause )
目前分为BSD 3-Clause和BSD 2-Clause。顾名思义,3-Clause包含3个条款,2-Clause只有两个。

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

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

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

要点:商业软件可以使用,也可以修改使用BSD协议的代码。


GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。

GPL具有“传染性”,只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用 GPL协议,既必须也是开源和免费。

GPL对商业发布的限制(引自Java视线论坛的Robbin):
“GPL是针对软件源代码的版权,而不是针对软件编译后二进制版本的版权.你有权免费获得软件的源代码,但是你没有权力免费获得软件的二进制发行版本.GP对软件发行版本唯一的限制就是:你的发行版本必须把完整的源代码一同提供.”

使用GPL协议,需要遵守以下规则:
1、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软 件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。
2、GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。
3、无论软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。如果以光盘形式发布,就必须同时附上源文件的光盘。
4、开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。

由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,所以商业软件就不适合采用使用GPL协议的开源代码。
要点:商业软件不能使用GPL协议的代码。


与GPL的强制性开源不同的是,LGPL允许商业软件通过类库引用(link)的方式使用LGPL类库而不需要开源商业软件的代码。

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

要点:商业软件可以使用,但不能修改LGPL协议的代码。

MIT (MIT license)
[MIT许可证之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称「X条款」(X License)或「X11条款」(X11 License)]
MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。
要点:商业软件可以使用,也可以修改MIT协议的代码,甚至可以出售MIT协议的代码。

MPL ( Mozilla Public License 1.1)
MPL协议允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。这种授权维护了商业软件的利益,它要求基于这种软件的修改无偿贡献版权给该软件。这样,围绕该软件的所有代码的版权都集中在发起开发人的手中。但MPL是允许修改,无偿使用得。MPL软件对链接没有要求。
要点:商业软件可以使用,也可以修改MPL协议的代码,但修改后的代码版权归软件的发起者。


CDDL (Common Development and Distribution License)
CDDL(Common Development and Distribution License,通用开发与销售许可)开源协议,是MPL(Mozilla Public License)的扩展协议,它允许公共版权使用,无专利费,并提供专利保护,可集成于商业软件中,允许自行发布许可。
要点:商业软件可以使用,也可以修改CDDL协议的代码。


Common Public License 1.0 (CPL-1.0)(已废弃)
CPL是IBM提出的开源协议,主要用于IBM或跟IBM相关的开源软件/项目中(例如,Eclipse、Open Laszlo等)。


EPL (Eclipse Public License 1.0)
EPL允许Recipients任意使用、复制、分发、传播、展示、修改以及改后闭源的二次商业发布。

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

要点:商业软件可以使用,也可以修改EPL协议的代码,但要承担代码产生的侵权责任。

----------------------------------------------------------------------
参考资料:


转自【http://univasity.iteye.com/blog/1292658】

GPL license GPL license detail & explanation 立即下载

相关推荐

基于价值的深度强化学习:DQN

本文主要是介绍DQN原理和算法伪代码和代码实现,算法实现包括pytorch版本和stable-baselines3版本

溯源的专栏 1083

(转载)9个主流的开源许可协议[整理]

http://univasity.iteye.com/blog/1292658关于开源许可现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有60多种(http://www.opensource.org/licenses/alphabetical)。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。基本概念1.C...

weixin_30470643的博客 471

告别理论!手把手教你用Patran/Nastran搞定悬臂翼的颤振分析(附完整模型文件)

本文提供了一份详细的Patran/Nastran悬臂翼颤振分析实战指南,涵盖从几何建模到结果解读的全过程。通过手把手教学和完整模型文件,帮助工程师和学生快速掌握气动弹性分析技术,特别适合需要实际操作的初学者。文章重点介绍了模态分析、气动建模和颤振求解等关键步骤,并提供了常见问题排查和优化建议。

weixin_30879169的博客 492

开源协议的优劣势比较

如今比较流行的开源软件协议包括:GPL,LGPL,Apache License(2.0)和BSD。一般来讲,如果使用了GPL许可证的软件,就意味着你的软件必须“自由”,相比之下,其他协议大多只要求使用者尊重原作就可以了,更适用于商业软件之中,只有区分了这些开源软件协议的含义,才能更好的利用和回馈开源软件。 GPL(GNU General Public License Versions) GPL协议一般还可以分为GPL2.0和GPL3.0两种,而GPL3.0是更新一代的开源标准,在对用...

AndyandYQAQ的博客 1953

华为海思:大小海思的双轮驱动战略分析

大海思的定位清晰明确,即专注于为华为内部提供高性能、高集成度的芯片解决方案,以支持华为终端、服务器等业务的快速发展。小海思的产品线广泛,涵盖了广域物联、短距物联、手机穿戴、显示交互、智慧视觉、智慧媒体、MCU、模拟以及光模块等多个领域。通过提供多样化的芯片解决方案,小海思旨在满足外部客户的不同需求,拓展华为海思在芯片市场的份额和影响力。大海思的产品布局主要围绕华为的内部需求展开。在智能手机应用处理器方面,大海思的麒麟系列芯片已经成为华为手机的标志性产品,以其出色的性能和能效比赢得了市场的广泛认可。

dream it possible 2922

UltraScale系列底层结构(3)——URAM概述

在UltraScale+™ 器件中,除了我们在常规熟悉的BRAM资源以外,还额外提供了URAM(UltraRAM)资源。 UltraRAM 是一种单时钟同步操作的高密度存储器,每个 UltraRAM 块可存储 288 Kb 数据,配置为 4K x 72 位的存储单元,其容量是 Block RAM 的八倍。虽然 UltraRAM 内部使用单端口存储单元,但通过在一个时钟周期内顺序执行端口 A 和端口 B 的操作,实现了双端口功能。

apple_53311083的博客 2831

软件开源协议-BSD、GPL、LPL、MPL、MIT、CDDL、EPL

开源许可协议,也称“许可证”。它是一些开源支持组织为了激励和保护开源软件开发者的权益而制定,被开源促进组织(Open Source Initiative)认可并推广的国际性协议。开源软件不懈地追求“自由”,同时也要努力保护开发者权益,否则将会影响程序员的创造激情。开源许可协议规定了你使用开源软件时的权利和责任,也就是规定了你可以做什么,不可以做什么。开源许可协议虽然不一定具备法律效力,但是当涉及相关法律纠纷时,也是非常重要的证据之一。

qq_43324506的博客 2686

芒果YOLO11改进44:主干Backbone篇之MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

包括YOLOv5、YOLOv7、YOLOv8等模型改进 369

跳变的前奏(二)

OpenGL中的几个概念,1. glu,基于opengl封装的更高层的图形库。2. glut。glut最早是Mark Kilgard用于redbook第二版中的样例写作时而搞出的一套接口,简化各平台上opengl与native window system对接的工作,由于这套接口的确比较简单好用,glut被广泛流行,成为了跨平台的事实标准。但自1998年之后,M. Kilgard就没有再更新过glu

209

[QMT量化交易小白入门]-三十四、让deepseek分析北京炒家的首板策略后,在打板前增加了选股范围(量化python代码解析)

print(f'开始盘前选股')这行代码定义了一个名为的函数,当调用这个函数时,会首先打印出“开始盘前选股”的信息,表明选股流程正式启动。1、可根据情况增删部分条件,目前盘前选股目前可以选出140多支,比之前全市场监听带宽压力小了很多。2、还可以自行添加其他选股条件,比如换手率计算,炸板可能性检测。3、xtdata的数据是有可能缺失的,自己写策略时,有可能需要剔除,或者从第三方库校正,比如部分股票的流通股数。

木头大左的博客 2695

YOLOv8改进-利用图像去雾网络UnfogNet提升检测精度的探索【附核心模块代码】

YOLOv8-UnfogNet联合模型的提出为目标检测和图像去雾领域提供了一个新的思路。通过将图像去雾网络和目标检测网络结合,不仅可以提升在恶劣天气下的目标检测精度,还能够为实际应用中的自动驾驶、监控安防等领域带来更强的鲁棒性和适应性。随着去雾技术和目标检测算法的不断发展,我们相信,这种联合方法将在多个领域中获得更加广泛的应用,并为进一步提升图像质量和检测精度做出重要贡献。

一键难忘的博客 3202

9个主流的开源许可协议[整理]

转载来源 概要 Apache License 2.0 要点:Apache Licence是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。 BSD开源协议(Berkerley Software Distribution) 要点:商业软件可以使用,也可以修改使用BSD协议的代码。 GPL ( GNU General Public License ) 要点:商业软件不能使用GPL协议的代码。 LGPL ( GNU Library or “Lesser” Gener

The New World 1645

ATECC508A芯片开发笔记(三):获取508A串号、随机数源码及I2C抓包分析

ATECC508A芯片开发笔记(三):读取508A串号、获取随机数源码及I2C抓包分析 APP层函数编写及源码分析 At508_GetSernum() GetSernum抓包记录 At508_GetRandom( ) GetRandom抓包记录 经过前两章节,CryptoAuthlib库已经成功适配在代码中了,下面简单测试一下API函数,并分析下I2C通讯流程: APP层函数编写及源码分析利用li

HowieXue 薛永浩的博客 2万+

Solaris CDDL开源协议详细说明

什么是CDDL? CDDL全称Common Development and Distribution License.它是一个开源许可证书,采用著名的Mozilla公共许可证(MPL),使其在未做任何改动的情况下可重用。我们希望得到一个能为开源提供保护和自主的非盈利版权许可证,这个许可证也可以用于创建更大的作为商业用途的工程。CDDL是否已获得OSI认可? 是...

weixin_34138255的博客 803

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Common Public License

Common Public License - v 1.0THE ACCOMPANYING PROGRAM ISPROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITU

I SEE STARS 1530

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

常见的License介绍

什么是License 许多混乱就始于你不知道License到底是什么,到底有什么含义。当你对你的产品使用License时,并不意味着你放弃了任何权利,你依然对其拥有原著作权。License只是授予他们于特定权利来使用你的产品。 License只是把你的作品释放到公有领域,或者给各个拷贝赋予权限。也意味着你放弃了版权收入,别人也没有义务把你列为原作者或贡献者。 开放源代码许可协议更容易为他人作出贡献,而不必寻求特别的许可。它也可以保护你作为原创者的权利,至少确认了你的贡献。它还可以保证你的工作不为别人所剽窃。

aqbhc的专栏 2588

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

常见许可协议

常见许可协议

六月的雨 1066

开源协议的对比和商业上的安全使用

开源组件是:“任何人都可以自由使用、更改和共享(以修改或未修改的形式)的软件”。当今企业依靠开源来加速开发、降低成本和推动创新。对开放源码的糟糕管理可能会使组织面临安全、法律和操作风险。

常备不懈 4520

开源代码协议及其特点

开源协议种类繁多,每种协议都有其独特的条款和使用场景。选择合适的开源协议是确保项目成功和发展的关键因素。开发者应该根据项目的需求、商业化考虑以及对开源精神的遵循程度,选择最适合的开源许可证。

u011186532的专栏 2896

开源license总结(转贴)

(1)Contributors  和  RecipientsContributors    指的是对某个开源软件或项目提供了代码(包括最初的或者修改过的)发布的人或者实体(团队、公司、组织等),Contributors  按照参与某个软件开源的时间先后,可以分为an  initial  Contributor  和  subsequent  Contributors  。Recipients指的是

treewater的技术 5676

现有开源框架软件分类

Complete Application Frameworks1. Name AvalonSupplier: Apache Software FoundationLicense: Apache LicenseFocus: Server Components2. Name CocoonSupplier: Apache Software FoundationLicense: A

Greenbow Town 1295

转载:开源license总结

几种开源license的简单介绍 GPL(Gun General Public License) GPL是目前世界上运用最广泛的开源协议,它规定了任何从GPL协议授权的源码衍生的软件或者任何采用了GPL授权的源码的软件,都必须遵循GPL 的协议,即软件的所有源代码必须开源。它就像病毒一样,哪怕只是采用了GPL授权的一个图标,那么整个软件就被GPL感染了,必须遵循GPL的协议。最典型的G

MichaelHUO的专栏 1257

七种开源许可证

七种开源许可证

qq_43631129的博客 3275
上一篇: 阿里巴巴集团总部印象
下一篇: 如何选择开源许可协议
系统信息
系统信息 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄23年 2404粉丝 565原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值