• 6945阅读
  • 4回复

关于Qt的LGPL的问题 [复制链接]

上一主题 下一主题
离线junzikai
 
只看楼主 倒序阅读 楼主  发表于: 2010-12-21
— 本帖被 XChinux 执行加亮操作(2011-02-11) —
哪位高手帮我解释一下下面的话
如果你打算开发闭源(不开放源代码)的商业软件,那么LGPL则更适合,但必须满足下面两个条件:
1. 你的应用程序应该动态链接Qt函数库,并使你的应用程序与未做修改的LGPL库分开发布。同时必须确保使用者(接受者)知道应用程序使用了LGPL版本的Qt;
2. 如果你对LGPL版本的Qt进行了任何修改,并发布,则必须遵循LGPL 条款发布。任何使用者有权利得到这些修改(通常情况下是源代码),并且确保使用者可以通过这些修改自己生成相应你修改过的Qt版本。


什么事动态链接啊?
是不是说在自己开发的软件里面不能包含Qt的库啊?
是不是不能包含Qt的.dll文件啊  ?
你的应用程序与未做修改的LGPL库分开发布是不是说让你的应用程序客户需要自己去下载Qt的库,你不能在你的应用程序中包含啊?

还有一种情况是“静态链接”,如果是静态链接的话可不可以免费使用开发商业软件啊,那要遵循什么规则呢?

麻烦各位大侠帮忙解答一下,谢谢!!



离线transformer

只看该作者 1楼 发表于: 2011-01-08
看样子可以包含DLL,动态链接就是程序在运行时载入,如果修改了DLL的源代码,也要把修改的源代码公布

virtualbox就是包含QT DLL库发行的。
[ 此帖被transformer在2011-01-08 11:07重新编辑 ]
离线hasitate

只看该作者 2楼 发表于: 2011-02-11
使用动态链接库方式,你的程序中不包含qt提供的源代码,qt提供的dll是在你程序运行时才加载进来的.所以你的程序包中包含你自己的程序和相应的qt的dll.你不需要提供任何你自己的东西给别人.当然别人可以根据情况修改qt的dll,譬如fix bug之类的,然后你的程序可以运行在别人的新的qt的dll上.
如果使用静态链接库方式,你的程序会把qt提供的dll编译进去,这样你发布的程序包中就不需要qt的dll.但是根据LGPL,你如果不想公开你的代码, 你必须开放你的程序编译好的.o文件,这样别人如果发现qt的bug,修改qt源文件,可以根据你提供的.o文件和新的qt的dll,重新链接你的程序.
不知道有没有讲清除这个差别.
[ 此帖被hasitate在2011-02-11 15:43重新编辑 ]
离线XChinux

只看该作者 3楼 发表于: 2011-02-11
楼上讲解的仔细,受教了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线cofei
只看该作者 4楼 发表于: 2011-02-14
学习
快速回复
限100 字节
 
上一个 下一个