读书人

Qt之LGPL授权上的阴谋

发布时间: 2013-03-04 17:22:12 作者: rapoo

Qt之LGPL授权下的阴谋?
今天突然看到一篇文章,写了两点,其中第二点肯定是没有任何理由的。
但第一点我突然发现:应该是很有道理的!

请懂开源授权的朋友点评下。

第一点:
1)LGPL规定,修改的代码必须开源,只使用的话可以不开源。
(注:很多Linux的库也是用LGPL)Okay,我不改你Qt的代码,只用你的Qt库,行吧?
(注:Qt库表现在windows平台就是.dll文件,在Mac和Linux平台就是.so文件) 也就是说你只能动态链接dll或是so文件。但是这些dll,so文件是Nokia的版权所有,你没有权力发布它们,也就是说你的最终产品不能自己带上这些dll或so文件。My God! 你得让客户自己去诺鸡鸭网站去下载Qt库,而且Qt 4.5, 4.6, X.X的版本的dll又不一样! (注:Nokia曾说,开发者打好安装用的程序包后,当客户安装时,会自动从网站下载。这会带来新的问题:1)这个功能还没实现,诺鸡鸭的步子比较慢,不知何时?
2)不能做成Zip安装包,这对个人开发者很重要。
3)客户机必须联上互联网,有时候这是一个不可能的任务,尤其对于Firewall之内的服务器或内部服务器来说。4)也是最重要的一点,严重影响客户体验。Hi Nokia,记住,你不是Microsoft,不要自视过高。
看了上面这些,估计很多人不想再看后面的内容了。还好问题也不多了。
[解决办法]
只用Qt开发
[解决办法]
哦,原来我一直在用盗版的QT啊
[解决办法]
1、关于LGPL,Loaden你可能理解有所偏差,不是只能动态链接的,动态链接的结果是你开发的软件可以是任意授权(你自己定),静态链接的结果是至少是LGPL授权(根据LGPL修改部分代码要公布的原则,静态链接相当于修改本体,是LGPL的附属品),Qt、wx等LGPL授权的都以此为准。
2、Qt既然是LGPL授权,那么也不是非得需要使用它的dll库的,你自己可以自行编译,但是你如果修改了Qt库的某一部分,那么必须附带或公开你修改后的源码和补丁。
3、“不能做成Zip安装包”,这个提法我没见到过,我认为只要遵守1和2,那么你以什么形式发布都是可行的。
[解决办法]
兄弟别慌,ffmpeg是开源的东西吧,也加入了LGPL吧,KMPLAYER,QQ影音照样用它,照样不发布自己的源码,能怎么样?ffmpeg只能在自己网站上搞个耻辱柱来YY一下
[解决办法]

引用:
大家讨论一下Qt的LGPL授权吧。
别程序到了发布阶段时,
才发现,
必须得买Qt商业版授权,
才能有个像样的发布,
才能赚Money!

Loaden看我3l的说法
[解决办法]
引用:
引用:
2、Qt既然是LGPL授权,那么也不是非得需要使用它的dll库的,你自己可以自行编译,但是你如果修改了Qt库的某一部分,那么必须附带或公开你修改后的源码和补丁。

问题就在这里!!我们能否使用自己编译的Qt的动态库?即使在没有修改Qt的任何源码的情况下。
如果这些DLL(包括自己编译的)的版权属于Nokia,那么,我们是否有在安装包中附带这些……

自行编译不算修改,要不然LGPL就没存在的意义了,wx不也是LGPL授权么,而且他官方连prebuilt都没提供。
[解决办法]
引用:
引用:

兄弟别慌,ffmpeg是开源的东西吧,也加入了LGPL吧,KMPLAYER,QQ影音照样用它,照样不发布自己的源码,能怎么样?ffmpeg只能在自己网站上搞个耻辱柱来YY一下

是ffmpeg怀疑KMPLAYER,QQ影音使用了他们的源码(静态编译了),但KMPLAYER,QQ影音他们不承认。
所以才没办法。
因为他们不给你看源码,除非……


Loaden你理解错了
ffmpeg是gpl+lgpl双重授权,他一般使用是lgpl的,但是如果你要使用它的x264等库时就自动变成gpl授权,而gpl具有传染性,采用的软件必须使用gpl发布,所以说QQ影音是打破了gpl规则,但没违反lgpl规则。
[解决办法]
引用:
引用:
自行编译不算修改,要不然LGPL就没存在的意义了,wx不也是LGPL授权么,而且他官方连prebuilt都没提供。

wx虽然也是LGPL授权,但是它还有另外一条补丁:就是商业程序基于wx开发,也可以静态链接。
http://www.wxwidgets.org/about/newlicen.htm

哦,那这是额外说明,一般情形下LGPL不静态链接,因为静态链接后只能采用等更严格的协议发布。
[解决办法]
我就看了一点关于这Qt的LGPL的东西,
记得是说,用qt开发的东西,只要你的软件开源free,那么qt就没有版权费;
如果你利用qt开发的东西,当成商品出卖,就得给qt交钱。
(我觉得还算公平合理啊)
[解决办法]
一直以来,我都以为 LGPL 比 GPL 宽松.
没记错,GPL: 可自由复制, 分发, 盈利,修改.
发布时连同 Licence 一同发布,在自己的 Licence 中说明.我用了xxxx,可以到那里下载xxxx 这样...xxxxxx

//唉~~后来基本上不管了.也不是什么牛X产品,都中国了...呵呵...
[解决办法]
引用:
我就看了一点关于这Qt的LGPL的东西,
记得是说,用qt开发的东西,只要你的软件开源free,那么qt就没有版权费;


如果你利用qt开发的东西,当成商品出卖,就得给qt交钱。
(我觉得还算公平合理啊)


不应该啊,Qt有这个额外说明么,你有相关的链接吗?
如果LGPL是这样的,那么TinyMCE不就发达了,很多Web应用都用它……
[解决办法]

[解决办法]
正常吧。开源不等于免费。
[解决办法]
开源的是源码,收费的是服务
[解决办法]
还是挺喜欢BSD协议的
Qt之LGPL授权上的阴谋
[解决办法]
支持下,不知道Nokia之下的QT未来如何
[解决办法]
LGPL只要不是修改了内部代码就不需要发布修改的部分。
另外好像是不允许静态链接,要动态发布,
其他的啥也没有要求
[解决办法]
LGPL采用dll动态连接的话跟发布没啥关系吧

只是说源码是否要发布,跟你编译出来的程序怎么发布没啥关系。

[解决办法]
引用:
还是挺喜欢BSD协议的

只是使用者喜欢,对开发者不利,看看现在openssl的困境就知道了
[解决办法]
1,发布时带上 QT 的 lgpl Licence
2,在自己的Licence 中说明 使用了 QT 库,和为什么收费等
3,发布时分两安装包,其中一个是所需QT库的安装包(有点掩耳盗铃 :p),QT库的安装向导中说明QT库可到那获取,
提供用户到 诺鸡鸭 下载安装和安装此安装包的选择...



//记忆中..见过好多java程序是这样做的,
[解决办法]

引用:
1,发布时带上 QT 的 lgpl Licence
2,在自己的Licence 中说明 使用了 QT 库,和为什么收费等
3,发布时分两安装包,其中一个是所需QT库的安装包(有点掩耳盗铃 :p),QT库的安装向导中说明QT库可到那获取,
提供用户到 诺鸡鸭 下载安装和安装此安装包的选择...

//记忆中..见过好多java程序是这样做的,

1和2是必须的,3还是有些疑问,这个可以提示用户到Nokia官方下载是对的,我觉得也可以同时发布自己编译的Qt的dll,不过在安装包里单独pack也是可以的。
[解决办法]
引用:
1,发布时带上 QT 的 lgpl Licence
2,在自己的Licence 中说明 使用了 QT 库,和为什么收费等
3,发布时分两安装包,其中一个是所需QT库的安装包(有点掩耳盗铃 :p),QT库的安装向导中说明QT库可到那获取,
提供用户到 诺鸡鸭 下载安装和安装此安装包的选择...

纯支持下
[解决办法]
QT是什么东东?
[解决办法]
感觉Nokia在上演最后的疯狂,有点垂死挣扎的意思……
[解决办法]
引用:
支持下,不知道Nokia之下的QT未来如何

[解决办法]
1、2两条无所谓。
最关键的就是第3条:如果要分两安装包的话,按照国内共享软件环境,则只能选择放弃Qt。
因为需要下载两个安装包才能完成安装,从用户体验、提供下载各方面,都是要命的!
[解决办法]
只要不修改源代码并且动态链接,你是完全可以发布编译好的库的,也可以和你的闭源软件一同发布,这是没有问题的。

在这个用例之下,LGPL的重点在于:
1、不修改源码
2、动态链接
3、不修改Qt库的分发版权,并提供原有的版权声明

读书人网 >QT开发

热点推荐