博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GPL协议,LGPL协议,MPL协议
阅读量:3965 次
发布时间:2019-05-24

本文共 2439 字,大约阅读时间需要 8 分钟。

版权声明:本文为博主原创文章,遵循版权协议,转载请附上原文出处链接和本声明。
本文链接:

GPL协议,LGPL协议,MPL协议

GPL协议

强开源约束授权

GPL(GNU General Public License)

我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。

GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售

这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。

GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费

这就是所谓的”传染性”。

GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。

由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。

其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。

LGPL

LGPL(GNU Lesser General Public License)

LGPL是GPL的一个为主要为类库使用设计的开源协议。

和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同

LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。

这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。

但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议

因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。

GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。

MPL

弱开源约束授权

MPL License(Mozilla Public License)

允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。

这种授权维护了商业软件的利益,,它要求基于这种软件的修改无偿贡献版权给该软件。

这样,围绕该软件的所有代码得版权都集中在发起开发人得手中。

但MPL是允许修改,无偿使用的。

MPL软件对链接没有要求。(要求假如你修改了一个基于MPL协议的源代码,则必须列入或公开你所做的修改,假如其他源代码不是基于MPL则不需要公开其源代码)

在这里插入图片描述

参考链接

各种开源协议:

如果使用Qt来开发商业软件,是否需要付费?:

GPL 与 LGPL 扫盲:

下载各种开源协议:

如何选择协议:

协议疑问

关于这个问题,先要对开源协议有个基本了解

QT开源版有GPL与LGPL协议
如果使用QT的开源版,就要遵守开源协议
关于LGPL与GPL想了解更多的话,看下面的连接。下面我会将其中重点写出来。

其中,GPL协议是严格的

简单说,GPL软件的使用者有权力得到软件的代码,只要使用了GPL,在发布(redistribution)的时候,整个项目也必须是GPL的,即主程 序和静态链接的库(Linux的.a和Windows的.lib)必须是GPL的,动态链接库(,Windows的.dll)必须是比 GPL兼容的。所谓GPL兼容,也就是GPL软件中可以使用的库,这些许可证必须比GPL弱(如LGPL,BSD),而不能是某个商业许可证。这里有一个 兼容列表 List of FSF approved software licenses。正因如此,GPL是带有很强的传染性,只要你的软件使用了GPL的代码,那么就请以GPL开放源代码吧,并且你的项目中也不能有任何和GPL不兼容的库。

只要你的软件使用了GPL的代码,那么就请以GPL开放源代码吧。

梳理一下:
如果你遵守QT的GPL开源协议,使用了开源的QT库,那么你的软件也应该开源。没法商用。

如果你想用QT的开源版库,还想让使用了QT开源版库的软件闭源,商用。

那么你需要了解一下QT的LGPL。
想了解更多的话,下面这个博客。

简要的说

LGPL 是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL 允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并 发布和销售。

使用 LGPL 协议开发闭源程序,如果你使用动态链接的形式,那么,你可以以任何形式发布你的应用程序,商业的、非商业的、开源的、非开源的,随你。

也就是说

闭源商业软件可以免费使用LGPL的开源版Qt。

关于发布:

←看这个帖子的42L-45L

大概就是这样了,根据我查的各种资料来看,应该就是以上结论

            
你可能感兴趣的文章
实用的欢迎页开源库 AppIntro
查看>>
Windows使用VNC viewer访问Ubuntu 14.04远程桌面的简单方法
查看>>
Android编译大全(六)
查看>>
TVS测试波形比较,让您更懂TVS
查看>>
yum安装对于下载总是失败的rpm包如何处理
查看>>
快速由PCI迁移到PCIe
查看>>
CCD和CMOS图像传感器的快门
查看>>
视频跟踪算法
查看>>
图像处理技术在视频监视中的应用
查看>>
DM8168 HDVPSS中的显示输出
查看>>
光电系统中的视频处理技术
查看>>
NRZ NRZI及扰码等串行编码技术的基本概念
查看>>
ADV7604介绍(一)
查看>>
无人机光电系统图像处理模块
查看>>
VP6802高清视频处理模块
查看>>
VP6802S01高清视频输入模块
查看>>
VP6803高清视频处理模块
查看>>
CAN总线基础知识(一)
查看>>
CAN总线基础知识(二)
查看>>
DM8148的电源和地(二)
查看>>