开放源代码的商业软件之常见的开源协议

本文详细介绍了Apache License 2.0、GPLv3、LGPL、MIT、BSD和Mozilla 2.0等常见开源协议的特点,帮助开发者理解商业软件如何利用和修改这些协议的代码。记住,MIT、BSD和Apache允许商业使用,而GPL有严格的开源要求,LGPL允许库引用但不允许修改源代码。
摘要由CSDN通过智能技术生成

目前普遍的大厂都会有商用软件交付的阶段,那么这个时候就衍生出来了开放源代码的商业软件(osc),这里跟大家讲一下常见的几种开源协议。

一.Apache License 2.0

这是一个著名的非盈利开源组织Apache采用的协议,它励代码共享和尊重原作者的著作权,同时也允许代码修改,再发布(作为开源或商业软件)。

  • 要求
    在代码中保留作者提供的协议和版权信息
    如果修改了代码,则必须在被修改的文件中进行说明。
  • 允许商用
    商用、分发、修改、专利授权、私用、附加协议
  • 禁止项
    1.禁止因使用等造成影响责任承担、也就是说免责申明
    2.不能使用相应的商标。

提示:商业软件可以使用,也可以修改使用Apache协议的代码。

二、GPLv3

此协议是应用最为广泛的开源协议,拥有较强的版权自由要求,也赋予和保证了开源项目开发者广泛的权利。基本上,它允许用户合法复制,分发和修改软件,但衍生代码的分发需开源并且也要遵守此协议。此协议有许多变种,不同变种的要求略有不同。

  • 要求
    修改后的源码也需要公开
    版权及协议也要于此协议一致
    修改后,需要在相应的文件做说明,
  • 允许
    商用,分发,修改,专利授权,私用
  • 禁止
    禁止因使用等造成影响责任承担、也就是说免责申明
    静止在软件分发传播过程中附加上原来没有的协议条款等

提示:商业软件不能使用GPL协议的代码。

三、LGPL

其主要用于一些代码库,LGPL比起GPL它授予的权限较少,LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。因此使用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。注意是以类库的形式使用,也就是说如果修改了源代码的话则也必须使用LGPL协议贡献源码出来。

  • 要求
    公开使用了LGPL部分的代码,其余部分不需要公开。
    可以库引用的方式用于商业软件。
    在代码中保留作者提供的协议和版权信息
  • 允许
    商用、分发、修改、专利授权、私用、附加协议
  • 禁止
    禁止承担责任,(免责申明)、

提示:
1.商业软件可以使用,但不能修改LGPL协议的代码。
2.GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品

四、MIT

宽松简单且精要的一个协议。在适当标明来源及免责的情况下,它允许你对代码进行任何形式的使用,也就是原作者只想保留版权,而无任何其他了限制,而你必须在发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。

  • 要求
    在代码中保留作者提供的协议和版权信息
  • 允许
    商用、分发、修改、私用、附加协议
  • 禁止
    禁止承担责任,(免责申明)

提示:商业软件可以使用,也可以修改MIT协议的代码,甚至可以出售MIT协议的代码。

五、BSD

BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。与MIT协议只存在细微差异。差别为MIT可以使用原名称进行宣传,而BSD不可以。

  • 要求
    在代码中保留作者提供的协议和版权信息
  • 允许
    商用、分发、修改、私用、附加协议
  • 禁止
    禁止承担责任,(免责申明)

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

六、Mozilla 2.0

是由Mozilla基金创建维护的。此协议旨在较为宽松的BSD协议和更加互惠的GPL协议中寻找一个折衷点,允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。这种授权维护了商业软件的利益,它要求基于这种软件得修改无偿贡献版权给该软件。

  • 要求
    公开源代码
    在代码中保留作者提供的协议和版权信息
    允许商用、分发、修改、专利授权、私用、附加协议
  • 禁止
    禁止承担责任,(免责申明)
    禁止使用商标

提示:商业软件可以使用,也可以修改MPL协议的代码,但修改后的代码版权归软件的发起者。

总结

以上就是我们常见的开源协议的一些区别,后面三种协议的区别较小,需要特别注意。如果觉得上面不好记,那么久收藏本文吧,在需要的时候进行查看复习,最后大家别忘了三连哦!!!

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、付费专栏及课程。

余额充值