五种常见软件开源协议介绍-GPL、LGPL、BSD、Apache、MIT

合集下载

几种常见的开源软件许可协议(GPL,LGPL,ApacheLicense,BSD)

几种常见的开源软件许可协议(GPL,LGPL,ApacheLicense,BSD)

⼏种常见的开源软件许可协议(GPL,LGPL,ApacheLicense,BSD)GPLGPL授予程序接受⼈以下权利,或称“⾃由”:* 以任何⽬的运⾏此程序的⾃由* 以学习程序⼯作机理为⽬的,对程序进⾏修改的⾃由(能得到源代码是前提)* 再发⾏复制件的⾃由* 改进此程序,并公开发布改进的⾃由(能得到源代码是前提)相反地,随版权所有软件的最终⽤户许可证⼏乎从不授予⽤户任何权利(除了使⽤的权利),甚⾄可能限制法律允许的⾏为,⽐如逆向⼯程。

GPL与其他⼀些更“许可的”⾃由软件许可证(⽐如BSD许可证)相⽐,主要区别就在于GPL寻求确保上述⾃由能在复制件及演绎作品中得到保障。

它通过⼀种由Stallman发明的叫copyleft的法律机制实现,即要求GPL程序的演绎作品也要在GPL之下。

相反,BSD式的许可证并不禁⽌演绎作品变成版权所有软件。

GPL不会授予许可证接受⼈⽆限的权利。

再发⾏权的授予需要许可证接受⼈开放软件的源代码,及所有修改。

且复制件、修改版本,都必须以GPL为许可证。

这些要求就是copyleft,它的基础就是作品在法律上版权所有。

由于它版权所有,许可证接受⼈就⽆权进⾏修改和再发⾏(除合理使⽤),除⾮它有⼀个copyleft条款。

如果某⼈想⾏使通常被法律所禁⽌的权利,只需同意GPL的条款。

相反地,如果某⼈发⾏软件违反了GPL(⽐如不开放源代码),他就有可能被原作者起诉。

copyleft利⽤版权法来达到与其相反的⽬的:copyleft给⼈不可剥夺的权利,⽽不是版权法所规定的诸多限制。

这也是GPL被称作“被⿊的版权法”的原因。

许多GPL软件发⾏者都把源代码与可执⾏程序捆绑起来。

另⼀⽅式就是以物理介质(⽐如CD)为载体提供源代码。

在实践中,许多GPL软件都是在互联⽹上发⾏的,源代码也有许多可以FTP⽅式得到。

copyleft只在程序再发⾏时发⽣效⼒。

对软件的修改可以不公开或开放源代码,只要不发⾏。

注意copyleft只对软件有效⼒,⽽对软件的输出并⽆效⼒(除⾮输出的是软件本⾝)。

常见开源许可证要求和禁止事项

常见开源许可证要求和禁止事项

常见开源许可证要求和禁止事项开源软件许可证是指授予用户一定的权利和限制的法律文件。

它们定义了开源软件的使用、复制、修改和分发等方面的要求和禁止事项。

本文将介绍几种常见的开源许可证,并分析它们的要求和禁止事项。

1. GNU通用公共许可证(GNU General Public License,GPL)GPL是一种最为广泛使用的开源许可证。

它要求任何以GPL许可证发布的软件,无论是原版还是修改版,都必须以GPL许可证发布。

这意味着使用GPL许可证的软件必须开放源代码,并允许用户自由地使用、复制、修改和分发软件。

禁止事项:不允许将GPL许可证的软件与不兼容的许可证进行组合和分发。

2. MIT许可证MIT许可证是一种宽松的开源许可证,允许用户自由地使用、复制、修改和分发软件。

与GPL许可证不同的是,MIT许可证不要求使用它的软件必须开放源代码。

禁止事项:无。

3. Apache许可证Apache许可证是一种灵活的开源许可证,它要求用户使用Apache许可证的软件必须包含原始许可证和版权声明。

此外,Apache许可证还要求用户在修改后的软件中保留原始许可证和版权声明。

禁止事项:不允许使用Apache许可证的软件以商业方式进行分发时,删除原始许可证和版权声明。

4. BSD许可证BSD许可证是一种非常宽松的开源许可证,允许用户自由地使用、复制、修改和分发软件。

与MIT许可证类似,BSD许可证不要求使用它的软件必须开放源代码。

禁止事项:无。

5. Mozilla公共许可证(MPL)MPL是一种适用于开源软件的复杂许可证。

它要求用户在修改后的软件中保留原始许可证和版权声明,并且要求以MPL许可证发布的软件必须开放源代码。

禁止事项:不允许使用MPL许可证的软件以商业方式进行分发时,删除原始许可证和版权声明。

6. GNU宽通用公共许可证(GNU Lesser General Public License,LGPL)LGPL是一种针对库和组件的开源许可证。

Linux 开源协议

Linux  开源协议

Linux 开源协议现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(/licenses /alphabetical)。

常见的开源协议如BSD、GPL、LGPL和MIT等都是OSI批准的协议。

如果要开源自己的代码,最好也是选择这些被批准的开源协议。

这里介绍四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的读者参考。

1.BSD开源协议(original BSD license、FreeBSD license、Original BSD license)BSD开源协议是一个给于使用者很大自由的协议。

基本上使用者可以“为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

但“为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD 协议代码为基础做二次开发自己的产品时,需要满足三个条件:●如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。

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

●不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

BSD代码鼓励代码共享,但需要尊重代码作者的著作权。

BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。

而很多的公司企业在选用开源产品的时候都首选BSD 协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

2.Apache Licence 2.0Apache Licence是著名的非盈利开源组织Apache采用的协议。

该协议和BSD 类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。

需要满足的条件也和BSD类似:●需要给代码的用户一份Apache Licence。

软件源代码授权协议

软件源代码授权协议

软件授权协议1. 引言软件授权协议是指当开发者将软件的提供给他人时,规定了其他人可以使用该的条件和限制的协议。

授权协议在保护开发者的权益的同时,也为使用者提供了一定的权利和限制。

在选择授权协议时,开发者需要考虑自己的需求以及对开源社区的贡献。

下面将介绍一些常见的软件授权协议。

2. GPL(GNU General Public License)GPL是一种非常流行的开源软件授权协议,通过该协议授权的软件可以在自由和开放的条件下被复制、修改、发布和分发。

该协议要求任何使用、修改或分发该软件的人都必须将其作品以相同的授权协议继续发布。

GPL协议注重保护用户的自由,确保使用者可以自由地获取和修改软件的。

然而,使用GPL协议发布软件的开发者需要注意,任何使用和分发该软件的人都需要遵守该协议,并且将其作品以相同的开源方式继续发布。

3. MIT许可证(MIT License)MIT许可证是一种非常宽松的开源软件授权协议,允许其他人以任何方式使用、复制、修改、合并、发布、分发、销售该软件的副本。

MIT许可证允许更灵活的使用方式,使用者可以将该软件用于商业用途,而无需公开其修改的代码。

MIT许可证不要求其他人将其修改后的代码以相同方式继续发布,这使得MIT许可证成为了很多开源项目的首选授权协议之一。

4. Apache许可证(Apache License)Apache许可证是一种自由软件许可证,以Apache软件基金会命名,广泛应用于Java开发领域。

该协议允许其他人自由使用、修改和分发软件的,但要求在分发时附上原始协议和版权声明。

Apache许可证着重于确保软件的真实来源和使用者的权益,同时也促进了开发者和用户之间的合作和贡献。

5. BSD许可证(BSD License)BSD许可证是一种常见的开源软件授权协议之一。

该协议允许其他人自由使用、修改和分发软件的,无论是商业用途还是非商业用途。

与其他许可证类似,BSD许可证也要求在分发时附上原始协议和版权声明。

源代码使用许可协议

源代码使用许可协议

源代码使用许可协议第一种是GNU通用公共许可证(GNU General Public License,GPL),它是一种非常流行的开源许可协议。

GPL要求在使用或修改GPL 许可程序的源代码时,需要将修改的源代码同样以GPL许可协议发布。

这意味着任何基于GPL许可的软件都必须以相同的开源方式进行分发,保证了用户可以自由地使用和修改代码,并且鼓励用户将改进的代码贡献给整个开源社区,共同促进软件的发展。

第二种是MIT许可协议,它是一种相对宽松的开源许可协议。

MIT许可允许任何人在符合许可协议的情况下使用、修改和分发源代码,同时也不对基于MIT许可的软件分发做任何限制。

这使得MIT许可成为许多开源项目的首选,因为它对开发者的权利没有过多的限制,同时也确保了软件的开放性和可持续性。

此外,还有像Apache许可证、BSD许可证等一系列开源许可协议,它们都有自己的特点和适用范围。

Apache许可证允许用户使用和修改源代码,并可以将修改后的代码用于商业目的。

BSD许可证则兼顾了软件的自由使用和反向工程,对代码在商业和非商业环境下的使用都没有过多限制。

无论是哪种许可协议,都是为了保护软件的开发者和用户的权益。

开源许可协议可以促进知识共享、技术创新和社区合作,使得开发者能够更加自由地使用和修改源代码,同时也鼓励用户将改进的代码贡献给整个开源社区。

通过遵守源代码使用许可协议,并将开发者和用户的权益平衡起来,可以实现更加公平和可持续的软件开发和使用环境。

总之,源代码使用许可协议是保护软件开发者和用户权益的重要手段,通过明确规定代码的使用和分发方式,促进了开源软件的发展和创新。

选择适合自己项目的开源许可协议,不仅可以保护自己的权益,还能够为开源社区做出贡献,推动开源软件的繁荣。

各种开源协议说明

各种开源协议说明

各种开源协议说明开源协议是一种法律许可证,它规定了开放源代码软件的使用和分发条件。

这些协议确保了源代码的访问权,并且允许开发者修改和重新分发软件。

在详细介绍几种常见的开源协议前,值得注意的是,任何组织或个人使用开源软件时都应仔细阅读和理解相关协议的条款。

下面,我将介绍几种常见的开源协议。

1. GNU通用公共许可证(GNU General Public License,GPL):GPL是最常见的开源许可证之一,它要求任何以GPL许可的代码修改或衍生的代码也必须采用GPL许可证进行分发。

这使得GPL成为一种“传染性”许可证,因为它保护被许可软件的自由,并要求所有修改的代码都保持开源。

因此,如果一个开源项目使用了GPL许可证,该项目的整个代码库都必须遵循GPL许可证。

2.MIT许可证:3. Apache许可证:Apache许可证是一个比较灵活的开源许可证,它鼓励自由使用、修改和重新分发。

与MIT许可证不同的是,Apache许可证要求用户在修改的代码中包含原始许可证和版权声明。

此外,该许可证还规定了与软件相关的使用、专利权和商标权等方面的额外条款。

4.BSD许可证:5. Mozilla公共许可证(MPL):MPL是一种兼容GPL和LGPL的开源许可证,它要求修改MPL软件的代码也必须采用MPL进行分发。

然而,MPL允许将MPL软件与其他许可证的代码进行组合和分发,只要相关组件保持独立。

MPL还规定了软件使用和分发方面的条款。

总的来说,开源协议以不同的形式和方式保障了开放源代码软件的自由和灵活性。

开发者可以根据自己的需求选择适合的开源许可证,以保护其软件的使用和分发权利。

然而,无论使用哪种开源许可证,都需要严格遵守相关协议的条款,以确保合法合规地使用和分发开源软件。

lgpl开源协议

lgpl开源协议

竭诚为您提供优质文档/双击可除lgpl开源协议篇一:几种开源协议介绍开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否定的。

开源运动同样有自己的游戏规则和道德准则。

不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成名誉和市场上的损失,更可能陷入法律纠纷和赔偿。

现今存在的开源协议很多,而经过opensourceinitiative组织通过批准的开源协议目前有58种。

我们在常见的开源协议如bsd,gpl,lgpl,mit等都是osi 批准的协议。

如果要开源自己的代码,最好也是选择这些被批准的开源协议。

几个常见的开源协议:bsd开源协议bsd开源协议是一个给于使用者很大自由的协议。

基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

但”为所欲为”的前提当你发布使用了bsd协议的代码,或则以bsd协议代码为基础做二次开发自己的产品时,需要满足三个条件:1.如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的bsd协议。

2.如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的bsd协议。

3.不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

bsd代码鼓励代码共享,但需要尊重代码作者的著作权。

bsd由于允许使用者修改和重新发布代码,也允许使用或在bsd代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。

而很多的公司企业在选用开源产品的时候都首选bsd协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

apachelicence2.0apachelicence是著名的非盈利开源组织apache采用的协议。

该协议和bsd类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。

需要满足的条件也和bsd类似:1.需要给代码的用户一份apachelicence2.如果你修改了代码,需要再被修改的文件中说明。

python开源协议的种类

python开源协议的种类

python开源协议的种类Python是一种高级编程语言,被广泛应用于软件开发和数据分析。

作为一种开源语言,Python采用了开源协议来规定其使用和分发的条件。

开源协议可以让开发者自由地使用、修改、分发和共享Python的代码。

本文将介绍几种常见的Python开源协议。

首先,我们来介绍最常见的Python开源协议之一——GNU通用公共许可证(GNU General Public License,GPL)。

GPL是由自由软件基金会(Free Software Foundation)创建的一种开源协议,其目的是保护软件的自由性。

根据GPL协议,任何使用或修改了GPL许可的软件的个人或组织,都必须将其源代码公开,并且继续使用GPL许可。

这个特点使得GPL协议在保护开源软件自由的同时,也限制了商业化的可能性。

另一种常见的Python开源协议是MIT许可证(MIT License)。

MIT许可证是一种宽松的开源协议,允许使用者自由地使用、修改和分发软件,只要在源代码和衍生工作中包含原始许可证和版权声明。

与GPL不同,MIT许可证没有对使用软件的其他软件做出限制,因此可以更灵活地与商业软件集成。

还有一种常见的Python开源协议是Apache许可证(Apache License)。

Apache许可证是一种类似于MIT许可证的开源协议,同样允许使用者自由地使用、修改和分发软件,只要在源代码和衍生工作中包含原始许可证和版权声明。

与MIT许可证不同的是,Apache许可证还对专利授权和商标使用做出了一些规定,以保护软件的知识产权。

此外,还有一些其他的开源协议,如BSD许可证、Mozilla公共许可证等。

这些协议各有特点,有些相对较为严格,有些相对较为灵活。

开发者可以根据自己的需求和偏好选择适合自己的开源协议。

总之,Python作为一种开源语言,采用了多种开源协议来保护和规定其使用和分发的条件。

开发者可以根据自己的需求和偏好选择适合自己的开源协议,既保护了软件的自由性,又兼顾了商业化的可能性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2、LGPL
LGPL是GPL的一个为主要为类库使用设计的开源协议。

LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。

因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。

3、BSD
BSD开源协议是一个给于使用者很大自由的协议。

基本上使用者可以自由的使
用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

当使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD
协议。

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

不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

因此,很多公司企业在选择开源软件的时候都首选BSD协议,因为可以完全控制这些第三方的代码,而且在必要的时候可以进行修改或者二次开发。

4、Apache License
Apache Licence 2.0(Apache License, Version 2.0、Apache License, V
ersion 1.1、Apache License, Version 1.0)
Apache Licence是著名的非盈利开源组织Apache采用的协议。

该协议和BS
D类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布
(作为开源或商业软件)。

需要满足的条件也和BSD类似:
需要给代码的用户一份Apache Licence
如果你修改了代码,需要再被修改的文件中说明。

在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。

如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有A
pache Licence。

你可以在Notice中增加自己的许可,但不可以表现为对Apach
e Licence构成更改。

Apache Licence也是对商业应用友好的许可。

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

5、MIT(MIT)
MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。

主要的协议的权利和义务。

如果看完还是一头雾水的话,乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择,下图为国内大牛阮一峰汉化了版本。

相关文档
最新文档