自由软件的开源许可介绍(GPL、BSD、LGPL、Apache License 2.0)

开源许可可能是使用开源代码最重要的一环,他不仅赋予程序员使用代码的权利,也给程序员使用开源代码加了一定的权限。如果我们不遵守其开源规定,我们可能遭受法律的制裁。

一、GPL(GUN通用公共许可证)

GPL的英文名是General Public License。此协议规定:当一个开源软件被声明为GPL时,作为使用者的我们有权对该源代码进行修改以及重新发布,也就是此软件完全开放,但是与此同时,我们所修改的源代码也要允许被其他的使用者修改和重新发布。

GPL的撰写者是斯托曼,第一版在1989年1月发布,斯托曼是一个热衷于将软件自由化的人物,他的理想就是构建一种四海之内皆可使用的许可证,这样就能为自由软件的传播带来福音

总结:使用GPL协议二次开发的自由软件也要完全开源

GPL标志

二、BSD许可协议

BSD许可协议可以说是最宽容的一种协议,这个协议基本可以认为你可以对开源软件“为所欲为”,他允许你对使用BSD协议的开源软件进行修改并且应用在自己的软件上进行闭源。但是“为所欲为”的前提你仍然要受以下三点约束:

1、如果二次发布的作品为源代码,必须在文件中标注原有的BSD协议

2、如果二次发布的作品为二进制文件或者软件,必须在技术文档中标注原有的BSD协议

3、不可以使用开源代码的作者或者机构进行宣传

总结:为所欲为

三、LGPL(GUN宽通用公共许可证)

LGPL的英文名是Lesser General Public License,他是GPL的一个衍生。和GPL所规定的二次开发代码也必须完全开源不同,你可以在自己编写的软件中,调用由遵循LGPL协议编译而成的二进制库文件,这样你的软件部分就可以不开源,并且可以自由发售。但是如果修改遵循LGPL协议的开源代码,那么你所修改的代码也必须开源。

如果说GPL最大限度的促进了开源软件的自由传播,那么LGPL则在促进软件行业商用行为的发展方面起了很重要的作用,并且也保证了开源代码的自由传播。

总结:二次开发中如果不涉及修改开源代码,则软件可以闭源。

四、Apache License 2.0

Apache License 2.0可以与BSD类比,在尊重作者和原创的前提下,允许使用开源代码二次开发的软件进行重新发布,包括开源和闭源,但是要注意遵守以下几点:

1、在发售的软件中包含一份Apache License协议

2、修改源代码文件之后,要在被修改文件中添加说明

3、在修改开源代码和对开源代码进行衍生的部分需要带有开源代码原本的协议,以及作者所要求的需要包含的内容

4、如果发行软件时包含一份参考文件,参考文件需要包含Apache License,可以包含自己的许可,但不可以对Apache License更改。

总结:允许二次开发软件进行闭源,但需要尊重原创,并传播Apache License

最后补上一份开源许可图鉴(图源:网络)

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
开源许可协议是指授权软件使用者在软件的源代码可被公开查看、修改和分发的情况下,使用该软件的协议。以下是几种常见的开源许可协议及其区别: 1. GPL(GNU通用公共许可证):GPL是一种“强制性开源”协议,要求任何使用、修改或分发GPL软件的人都必须使用相同的GPL协议发布他们的修改版本。因此,任何使用GPL软件的人都必须将他们的修改公开发布。这个要求使得GPL被认为是最严格的开源许可协议之一。 2. APL(Apache许可证):APL是一种“宽松型开源”协议,允许使用、修改和分发软件的源代码和二进制文件,但要求保留原始版权和许可协议信息。与GPL不同,APL不要求使用相同的许可协议发布修改版本,因此允许商业应用。 3. BSD(Berkeley软件分发许可证):BSD是一种“宽松型开源”协议,允许使用、修改和分发软件的源代码和二进制文件,但没有像APL一样要求保留原始版权和许可协议信息。BSD许可证允许商业使用和闭源版本的发布,因此在商业环境中非常流行。 4. LGPL(GNU库通用公共许可证):LGPLGPL的一个变种,在LGPL下发布的软件可以作为库被其他程序使用,而其他程序可以使用不同的许可协议。这意味着LGPL软件可以被商业程序使用,但如果修改了LGPL库,修改版本必须以LGPL发布。 5. MIT许可证:MIT是一种非常宽松的开源许可协议,允许使用、修改和分发软件的源代码和二进制文件,而且没有任何要求。MIT许可协议是最古老的开源许可协议之一,也是最受欢迎的开源许可协议之一。因此,它被广泛用于许多开源项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值