gpl协议怎么使用(开源协议专题六)
gpl协议怎么使用(开源协议专题六)
2024-10-01 03:21:17  作者:坯娚侅峰  网址:https://m.xinb2b.cn/tech/bkk157400.html

背景说明:对于软件开发者来说,无论是个人还是商业组织,为了分享自己的优秀作品、为了扩大自身影响力,多多少少都有想把自己的软件作品以开源的形式公之于众的想法。但无论是开源自己的软件,还是使用已开源的软件,出于商业和法律因素的考虑,我们都应该搞清楚:当我们使用开源软件或者将自己的作品开源时,我们保留了啥权力?我们又放弃了啥权力?

主流的开源许可协议有以下几种:GPL、MPL、LGPL、BSD、MIT、Apache License。从 Link 依赖、修改源码、版权说明、源码软件是否可用于产品广告,这几个维度,可以将以上几个主流开源协议的宽松程度,做如下图所示的梳理:


开源协议的权限解析(一)

本文主要介绍 GPL、MPL、LGPL ,下篇文章介绍 BSD、MIT、Apache。

一、GPL:

1、概念:

GPL,即GNU通用公共许可协议,是 GNU General Public License 的简写。它是由自由软件基金会(FSF)公布的自由软件许可证。

2、版本演进历史:

GPLv1:1989年2月25日发布。GPLv2:1991年6月发布。GPLv3:2007年6月29日发布。

3、协议特点:

GPL协议最大的一个特征是具有传染性,即GPL对于许可证有强制继承的要求,这也是GPL与其他许可证在哲学思想上最大的差异。

4、权利和义务:

GPL 规定了使用遵循了GPL协议软件时,使用者的权力和义务如下:

权力:

获取源码的权力;修改源码的权利;自由处理衍生作品的权利。

义务:

使用了遵循GPL协议发布的软件,自身也必须遵守GPL协议。这也是GPL被人称为有传染性的原因。必须开放源代码;允许使用者自由获取(复制)、修改、发布的产品,即拥有获取源码、修改源码、分发软件的自由。

5、GPL 自由权利的描述:

GPL的条款和条件必须提供给任何接受GPL应用的作品的副本(“被许可人”)的人员。任何遵守条款和条件的被授证人员都有权修改作品,以及复制和重新分发作品或任何派生版本。GPL下的软件可以用于所有目的,包括商业目的,甚至作为创建专有软件的工具,例如使用GPL许可的编译器时,分发GPL许可作品(如软件)的用户或公司可能会收取副本费用或无偿提供费用。

6、分析说明:

这里被授权人,可以理解为,是使用了遵循GPL协议软件的作品的作者或者组织。第三点将GPL与禁止商业再分发的软件许可区分开来,也与共享软件许可证区分开来。FSF认为自由软件不应该限制商业使用和发布(包括再发布)。GPL明确规定,GPL作品可能以任何价格出售。许可只依赖于使用的库和软件组件,而不是依赖于底层平台。例如,作为GPL许可操作系统(如Linux)下的应用程序运行的软件不需要根据GPL进行许可或者以源代码可用性分发。

7、官方网址

https://www.gnu.org/licenses/gpl-3.0.html二、LGPL:

1、概念:

LGPL,即GNU宽通用公共许可证,是 GNU Lesser General Public License 的简称。它是由自由软件基金会(FSF)公布的自由软件许可证。

2、版本演进历史:

第一版(2.0):1991年发布,第一个字母 L 定义为 Library,为与 GPLv2 保持一致而采用 2.0 版的编号。

第二版(2.1):1999年发布,第一个字母 L 定义为 Lesser,以显示 FSF 认为并不是所有程序库都应当采用该许可证的态度。

第三版(3.0):2007年发布,它以在 GPL 第3版之上附加应用一系列许可的方式表现。

3、协议特点:

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

4、LGPL的发展和分析:

从第一版的 L 表示 Library 的含义以及其版本号直接和GPL保持一致(第一版就是2.0)可知,该协议是GPL的补充协议,是一个主要为开源类库使用设计的开源协议,因为FSF逐渐意识到,GPL协议的强制传染性在某些场景下太过苛刻,会阻碍开源产品被更广泛地传播和使用,实际上很多软件开发过程中使用开源软件的场景,仅仅是把某个开源软件当做底层的库来引用,针对此种场景,FSF在1991年发布GPL第二版时,发布了LGPL第一版。

LGPL的含义可以理解为:它允许企业与软件开发者将LGPL授权的软件以依赖库链接的形式集成至他们自己的软件内(即使该软件是私有软件也被允许),同时不会受到类似于GPL传染特性的许可证强制对软件开源的限制。但如果修改LGPL协议的代码而产生的衍生代码,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。

采用LGPL的项目本身虽然仍有“Copyleft”的限制条件,但这些限制不会感染到仅仅只链接到本项目的软件。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。LGPL为了在GPL与其他许可式许可证之间获取折衷,常被用于一些GNU程序库,亦可使用于独立存在的应用程序中,比较有名的例子为 Mozilla 跟 http://OpenOffice.Org。

三、MPL:

1、概念:

MPL,即 Mozilla公共许可证,是 Mozilla Public License 的简称,由Mozilla基金会开发并维护。

2、版本演进历史:

第一版,1.0版本,1998年发布。

第二版,1.1版本,其主要变更是理清了关于专利部分的条款,以及允许多个许可证之间共存。

第三版,2.0版本,2012年1月3日发布。该版本使许可协议更加清晰,更加方便应用,同时也兼容于GPL及Apache许可证。

从1.1版本开始,允许遵循MPL许可证的项目里多个许可证的共存,这一特性旨在鼓励与偏好使用GPL许可的开发者合作。1.1版本的结构,法律契合度,以及其对专利权的明确态度都深深地影响了后来流行的许可协议,有点像是第三版的GPL。很多项目都以此派生出他们自己的许可协议,如Sun Microsystems的通用开发与散布许可证。

3、协议特点:

MPL允许在其授权下的源代码与其他授权的文件进行混合,包括私有许可证,但在MPL授权下的代码文件必须保持MPL授权,并且保持开源。

可以理解为:遵循MPL的项目允许使用者对于MPL作品进行二次开发和发布,但MPL的部分、以及修改的部分,需要遵循MPL协议,并对修改部分作出说明,但允许衍生项目中有私有模块的存在。

这样的条款让MPL既不像MIT和BSD那样允许派生作品完全转化为私有,也不像GPL那样要求所有的派生作品包括新的组件在内的作品全部必须保持GPL。

一句话,MPL协议通过允许在派生项目中存在私有模块,同时保证核心文件的开源,同时激励了商业及开源社区来参与帮助开发核心软件。

4、发展与应用:

MPL既是得到自由软件基金会(FSF)承认的自由软件许可证,也是得到开放源代码促进会(OSF)承认的开源软件许可证。

该协议融合了BSD许可证和GNU通用公共许可协议的特性,追求平衡专有软件和开源软件开发者之间的顾虑。

MPL用于 Mozilla Firefox、Mozilla Thunderbird 及其他 Mozilla软件的许可,也被其他产品所用,如Adobe以此为Flex产品线许可,还有LibreOffice 4.0(同时使用LGPLv3)。

首发公众号【战神波波】,欢迎来交流~

  • 80年代最厉害黑恶势力大案(哪来这么大能耐)
  • 2024-10-01哪来这么大能耐在山西,任爱军这个名字或许知道的人不多,但“小四毛”三个字,可谓家喻户晓“人家是山西黑老大,咋能不怕嘛?”“小四毛是抢劫爆炸的惯犯,我们能有几条命?”“有小四毛撑腰,谁不怕!”……距离山西太原警方再次。
  • 高秀敏逝世葬礼全程(15年后圣水湖畔演员今昔照)
  • 2024-10-0115年后圣水湖畔演员今昔照我至今仍然记得,当我听说《圣水湖畔》在电视台播出的消息后,我很着急因为当时电视台播出的时间,正好与我节目直播的时间相冲突,所以我无法及时收看于是我就四处寻找《圣水湖畔》的DVD碟片最终在苏州观前街的一。
  • 汽车工业的三次变革(百年巨变砥砺奋进创新前行)
  • 2024-10-01百年巨变砥砺奋进创新前行文:懂车帝原创李德喆[懂车帝原创行业]百年征程波澜壮阔,百年初心历久弥坚过去的一百年,是中国汽车产业从无到有,从弱到强的一百年,也是中国汽车工业从白手起家到敢于同世界先进比肩,甚至实现超越的一百年红旗。
  • 端午节传说(端午节有什么规定)
  • 2024-10-01端午节有什么规定相传,在农历五月初五这天,屈原因为看到自己的国家被敌国所攻破,内心饱含不甘和屈辱,于是他就在汨罗江投江自尽了,后来人们也将端午节作为纪念屈原的节日,一直沿袭至今端午节在传承发展中杂揉了多地多种民俗为一。
  • 怎样正确使用生姜增毛(使用生姜增毛的方法)
  • 2024-10-01使用生姜增毛的方法生姜从中间横切,然后用切面来擦拭下巴或头皮,刺激毛囊,一天2-3次,坚持一段时间,可看到效果,但是生姜有点辣,忍忍就好生姜剁碎,用纱布包好,挤出汁水,或者用搅拌机捣碎后过滤取汁,用来擦拭毛发少的皮囊,。
  • 红木家具有什么纹(红木家具身上常见的吉祥图案科普)
  • 2024-10-01红木家具身上常见的吉祥图案科普红木家具外在的优点很多,稀有高贵的木材,传统古典的器型都为大家所津津乐道,但红木家具的外在优点可不仅限于此,众所周知,雕纹是中国传统的装饰性手法,最早青铜器时代就给青铜器上做出了各式各样的吉祥纹饰,雕。
  • 西安南五台山自驾最佳路线(自驾游记畅游西安)
  • 2024-10-01自驾游记畅游西安最初的行程计划是从五台山开始,但一切敲定之后,五台山因暴雨暂停开放对于旅行来说,一旦做了决定,心早就提前放飞了,没有什么能让我们收住脚步了所以,直接把行程计划倒过来,先去西安先离开日出而作日落而息的家。
  • 安卓微信分身怎么弄(安卓微信分身如何弄)
  • 2024-10-01安卓微信分身如何弄以小米手机为例,进入手机桌面,找到【设置】并打开在【设置】中找到【应用设置】并点击进入在【应用设置】中点击进入【应用双开】在【应用双开】中找到【微信】点击进入将【应用双开】按钮打开,此时我们的桌面就会。
  • 风景画简笔画简单一点(风景简笔画教程)
  • 2024-10-01风景简笔画教程山是绘画中最常见的元素,这次教大家画一些简单的山形态各异的山用简笔画也能很好看适合零基础和手残党学习,手账素材也用得上哟,拿起来笔画起来,希望在评论区看到的各位宝宝的作品哟!山简笔画大全山简笔画怎么画。
  • 银耳汤和什么主食在一起(这水果之皇和银耳一起煮)
  • 2024-10-01这水果之皇和银耳一起煮随着4月临近月底,最近很多地方的气温也逐渐攀升,好多南方地区已经达到30度,不知不觉夏天就要悄悄的来了这天气一热,避免不了大量出汗,要及时的补充水分可是很多人不喜欢喝白开水,于是就买很多饮料喝,超市的。
  • 小学健康教育教案内容(小学健康教育教案怎么设计)
  • 2024-10-01小学健康教育教案怎么设计教学目的:帮助学生进一步了解吃的科学明确不能常吃熏烤,油炸和腌制食品,养成良好的`饮食习惯导入新课,你们知道为什么人类从一生下来就要吃东西吗?最初人类吃东西是为了什么?思考问题:我们小学生为什么也要关。