引子 今天在学习wke的时候,发现了作者在wke.h文件头的位置,写上了licence LGPL 的字样,这里我就疑惑了,好像只听说过GPL,并没有听说过LGPL,那么这两者究竟有什么区别呢?
开源授权协议 这里引用网上查询到的资料:
【代码|开源授权协议GPL和LGPL的区别】GPL 是 GNU General Public License(GNU 通用公共许可证)的缩写形式;LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式。它们是自由软件(Free Software)的通用版权认证协议。参考网址:关于开源授权协议 GPL 和 LGPL
基于 GPL 的软件允许商业化销售,但不允许封闭源代码。如果您对遵循GPL的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承 GPL 协议,不允许封闭源代码。
基于 LGPL 的软件也允许商业化销售,但不允许封闭源代码。如果您对遵循 LGPL 的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承LGPL协议,不允许封闭源代码。但是如果您的程序对遵循 LGPL 的软件进行任何连接、调用而不是包含,则允许封闭源代码。
总结 也就是说基于 GPL 开源授权协议的库开发的软件,也必须要开源;而基于 LGPL 开源协议的库开发的软件,视是否只是调用来看,如果只是连接、调用,则可以封闭源代码,否则也必须要开源。
推荐阅读
- 开源|违反GPL协议赔偿50万,国内首例!
- 知识产权|调用GPL/GPL v2协议的代码并不是都需要开源
- 代码审计VauditDemo程序到exp编写_巡安似海
- 实现深拷贝最少得用几行代码()
- 中国唯一女性Apache Member 潘娟(开源项目如何从“Baby”到“顶级”())
- 图像处理原理|OpenCV的视频背景/前景分割(背景建模/前景提取)类cv::bgsegm::BackgroundSubtractorGSOC的使用示例代码及运行效果
- 如何为 .NET 项目自定义强制代码样式规则#yyds干货盘点#
- 调整VIM,实时格式化你的代码
- 从简单代码入手,分析线程池原理