首页| 论坛| 消息

标题:关于Qt的LGPL的问题
作者:junzikai
日期:2010-12-21 17:05
内容:

哪位高手帮我解释一下下面的话
如果你打算开发闭源(不开放源代码)的商业软件,那么LGPL则更适合,但必须满足下面两个条件:
1. 你的应用程序应该动态链接Qt函数库,并使你的应用程序与未做修改的LGPL库分开发布。同时必须确保使用者(接受者)知道应用程序使用了LGPL版本的Qt;
2. 如果你对LGPL版本的Qt进行了任何修改,并发布,则必须遵循LGPL 条款发布。任何使用者有权利得到这些修改(通常情况下是源代码),并且确保使用者可以通过这些修改自己生成相应你修改过的Qt版本。
什么事动态链接啊?
是不是说在自己开发的软件里面不能包含Qt的库啊?是不是不能包含Qt的.dll文件啊  ?
你的应用程序与未做修改的LGPL库分开发布是不是说让你的应用程序客户需要自己去下载Qt的库,你不能在你的应用程序中包含啊?
还有一种情况是“静态链接”,如果是静态链接的话可不可以免费使用开发商业软件啊,那要遵循什么规则呢?
麻烦各位大侠帮忙解答一下,谢谢!!


#1 [transformer 01-08 11:06]
看样子可以包含DLL,动态链接就是程序在运行时载入,如果修改了DLL的源代码,也要把修改的源代码公布
virtualbox就是包含QT DLL库发行的。
#2 [hasitate 02-11 15:41]
使用动态链接库方式,你的程序中不包含qt提供的源代码,qt提供的dll是在你程序运行时才加载进来的.所以你的程序包中包含你自己的程序和相应的qt的dll.你不需要提供任何你自己的东西给别人.当然别人可以根据情况修改qt的dll,譬如fix bug之类的,然后你的程序可以运行在别人的新的qt的dll上.
如果使用静态链接库方式,你的程序会把qt提供的dll编译进去,这样你发布的程序包中就不需要qt的dll.但是根据LGPL,你如果不想公开你的代码, 你必须开放你的程序编译好的.o文件,这样别人如果发现qt的bug,修改qt源文件,可以根据你提供的.o文件和新的qt的dll,重新链接你的程序.
不知道有没有讲清除这个差别.
#3 [XChinux 02-11 20:33]
楼上讲解的仔细,受教了。
#4 [cofei 02-14 12:30]
学习

回复 发表
主题 版块