Nod32许可证(您应该知道的四种常见的开源许可证)
开源长期以来一直是很多科技公司关注的焦点,我们经常会发现一些开源技术被标上了某种协议,这意味着这些开源代码被某种框架所约束 , 或者说这些代码将不得不遵循这些规则 , 否则就有可能触及法律 。
一般来说,流行的开源软件协议包括GPL、LGPL、Apache License(2.0)和BSD 。一般来说,如果你使用GPL授权的软件,就意味着你的软件必须是“免费”的 。相比之下,其他协议大多只要求用户尊重原著,更适合商业软件 。只有分清这些开源软件协议的含义,才能更好地利用和回馈开源软件 。
关于开源许可你需要知道什么
GPL(GNU通用公共许可证版本)
一般来说,GPL协议可以分为GPL2.0和GPL3.0 , 而GPL3.0是新一代开源标准,在保护用户专利和限制DRM方面有一些变化 。GPL协议与其他自由软件许可一样,允许公众享有运行和复制软件、分发和传播软件、获取软件源代码、改进软件以及向公众分发和传播改进版本的自由 。GPL协议就像一个开源的“病毒”,任何感染了它的软件都必须保持开源和免费 。
GPL许可证
根据国外论坛Robbin的解释:“GPL指的是软件源代码的版权,而不是软件编译后二进制版本的版权 。你有权免费获得软件的源代码,但无权免费获得软件的二进制分发 。GPL对软件分发的唯一限制是你的分发必须提供完整的源代码 。”
公共许可证
LGPL是GNU宽松通用公共许可证(GNU Wide General Public License)的缩写 。LGPL是一个主要为类库使用而设计的GPL开源协议 。与上面的GPL不同,LGPL允许商业软件通过类库引用(link)使用LGPL类库,而不需要开源商业软件的代码 。使得使用LGPL协议的开源代码可以作为类库被商业软件引用、分发和销售 。
我们也可以简单的理解为可以使用LGPL协议开源代码的商业软件,但是不能修改LGPL协议的代码 。
Apache许可证
Apache Licence是著名的非营利开源组织Apache采用的协议 。与BSD类似,该协议也鼓励代码共享并尊重原作者的版权,也允许代码修改和再分发(作为开源或商业软件) 。他需要满足的条件包括:
○您需要给代码的用户一份Apache许可证的副本 。
○如果修改代码,需要在修改文件中说明 。
○扩展代码(修改后的代码和来源于源代码的代码)中,应包含原作者在原代码中要求的协议、商标、专利声明等说明 。
○如果重新分发的产品中包含通知文件 , 则通知文件中应包含Apache许可证 。您可以在通知中添加自己的许可证,但它不能表示为对Apache许可证的更改 。
BSD开源协议(Berkerley软件发行版)
目前BSD开源协议分为BSD 3-Clause和BSD 2-Clause,分别指两条款和三条款BSD协议 。应该说BSD开源协议是一个给用户很大自由度的协议 。基本上,用户可以自由使用和修改源代码,也可以将修改后的代码作为开源或专有软件进行再分发 。但是不能用开源代码的作者/组织的名字和原创产品的名字进行营销 。
这也就不难理解,很多公司在选择开源产品的时候更倾向于BSD协议,因为可以完全控制这些第三方的代码,必要的时候可以修改或者重新开发 。
除了上述集中式开源协议,还有MIT license(来自MIT,是一个和BSD一样宽泛的许可协议)和Mozilla license等 。详情请参考下图 。
【你该认识的四种常见开源许可证 nod32 许可证】开源许可(图片来自:阮一峰博客)
推荐阅读
- 狗狗吃海藻粉的好处和坏处
- 微信黑名单怎么恢复好友 微信黑名单恢复好友的方法
- 未来十五天猪价预测 辽宁猪肉价格今日价
- 超时代视频加密软件 如何给视频加密
- 蛐螋虫咬人吗有毒吗
- 苹果包装必须用的白色泡沫网袋吗
- 狗狗丢了有什么办法能找回来
- 一上午吃十个黄桃会不会上火
- 电蚊拍能用手摸吗