常见开源协议简介

现今,开源软件遍地开花,那么你真正了解开源软件的协议吗?

开源协议多达上百种,但是常用的不多。如果你违反了相关协议,比如仅仅使用了几行代码,也可能会使你的公司损失惨重!

 

为什么要有开源协议呢?

其一,保护原作者的知识成果,防止被恶意利用。开源协议中一般都包含有免责声明,可以防止原作者承担相应风险和后果。比如你开源了一个破解Windows秘钥的软件,而使用者却用来进行商业资料窃取,那么你是不需要为此承担责任的。

其二,保护使用者的权利。使用者可以知晓经授权和未经授权的操作。防止你使用未添加协议(可能未授权)的代码,而使原作者起诉你。

 

GPL:使用者必须遵循相同协议开源使用。商业软件公司一般禁用GPL代码。其含义:你可以使用我的代码并加以修改,但是你必须把修改后的代码公开。不允许将代码用于闭源的商业软件和项目进行发布和出售,否则需要追究法律责任。因此,GPL协议具有“传染性”。比如:Bash等。

MIT:又称麻省理工学院许可证,是一种宽松的协议。使用者想怎么用就怎么用,可以使用作者名字进行商业广告,但是必须包含许可协议声明。比如:jQuery等。

Apache:和MIT协议类似,使用者必须附加版权说明信息,并对所有的修改部分进行声明。禁止使用作者名字和商标进行商业广告。比如:Apache家族,Android和Swift等。

 

再次强调,这三种协议都可以修改和商业使用,但是原作者不承担代码使用后的任何风险和后果。

1. GPL(GNU通用公共许可证) GPL是一种最具代表性的开源软件协议,其核心是“强制共享”。即:如果使用GPL授权的开源软件,那么在修改和分发时,必须遵守GPL的规定,将其修改后的代码同样以GPL协议发布,使得代码的开放性和共享性得以保持。 2. Apache许可证 Apache许可证是一种面向商业应用的开源软件协议,其核心是“宽松授权”。即:使用Apache许可证授权的开源软件,可以自由修改、分发、销售,无需公开源代码,只要在软件产品中包含了Apache许可证就可以。 3. BSD许可证 BSD许可证是一种面向自由软件的开源软件协议,其核心是“自由授权”。即:使用BSD许可证授权的开源软件,可以自由修改、分发、销售,甚至可以将其代码作为商业软件的一部分,只要在软件产品中包含了BSD许可证就可以。 4. MIT许可证 MIT许可证是一种最为宽松的开源软件协议,其核心是“无限制授权”。即:使用MIT许可证授权的开源软件,可以自由修改、分发、销售,甚至可以将其代码作为商业软件的一部分,无需公开源代码,只需在软件产品中包含了MIT许可证就可以。 5. LGPL(GNU Lesser General Public License) LGPL是一种针对开放源码库的开源软件协议,其核心是“保持开放性”。即:使用LGPL授权的开源软件,如果仅仅是使用该开源软件,不需要遵守LGPL的规定;但如果对其进行修改和发布,则必须开放源代码,以保持开放性,但是可以将其代码作为商业软件的一部分。 总结:不同的开源软件协议适用于不同的场景和需求,需要根据具体情况进行选择和判断。如果您希望使用开源软件,可以根据您的实际需求选择适合您的开源软件协议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值