Qt之LGPL授权下的阴谋?

老邓 2010-12-14 09:32:30
今天突然看到一篇文章,写了两点,其中第二点肯定是没有任何理由的。
但第一点我突然发现:应该是很有道理的!

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

第一点:
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,不要自视过高。
看了上面这些,估计很多人不想再看后面的内容了。还好问题也不多了。
...全文
7261 56 打赏 收藏 转发到动态 举报
写回复
用AI写文章
56 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjlsmail 2013-07-04
  • 打赏
  • 举报
回复
这个帖子意义重大。
老邓 2013-04-07
  • 打赏
  • 举报
回复
引用 54 楼 GoodQt 的回复:
引用 18 楼 Loaden 的回复:引用 16 楼 xunxun1982 的回复:还有,Linux下各大发行商发布的Qt都是自行编译的动态连接库,嵌入式也用了好多,Nokia也没见要求版权…… 他们可以发布,是因为他们是开源的! 即使他们静态链接Qt,也可以。 只要开源,你想怎么玩都行。 但问题是:如果不闭源的商业(私有)程序,按LGPL协议,基本上只能使用……
开源的当然可以。
GoodQt 2013-03-02
  • 打赏
  • 举报
回复
引用 18 楼 Loaden 的回复:
引用 16 楼 xunxun1982 的回复:还有,Linux下各大发行商发布的Qt都是自行编译的动态连接库,嵌入式也用了好多,Nokia也没见要求版权…… 他们可以发布,是因为他们是开源的! 即使他们静态链接Qt,也可以。 只要开源,你想怎么玩都行。 但问题是:如果不闭源的商业(私有)程序,按LGPL协议,基本上只能使用动态链接的。 那就涉及到一个打包Qt……
你的意思是说 如果我的软件完全开源 就可以修改Qt的源代码(修改的部分同源代码一同放出)并且静态链接?
老码客 2012-01-17
  • 打赏
  • 举报
回复
[Quote=引用 52 楼 wjlsmail 的回复:]

引用 42 楼 zhu_xz 的回复:
只要不修改源代码并且动态链接,你是完全可以发布编译好的库的,也可以和你的闭源软件一同发布,这是没有问题的。

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


Support! strongly!
[/Quote]

三大必要条件?
wjlsmail 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 42 楼 zhu_xz 的回复:]
只要不修改源代码并且动态链接,你是完全可以发布编译好的库的,也可以和你的闭源软件一同发布,这是没有问题的。

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

Support! strongly!
哈哈gogo 2011-02-06
  • 打赏
  • 举报
回复
一年三万?是不是这样
lovetow 2011-01-14
  • 打赏
  • 举报
回复
[Quote=引用 49 楼 emptyness 的回复:]

讨论结束了吗? 觉得这个问题的确很重要,毕竟QT是非常流行的一个界面库.

完整的看完了 那个国外帖子, 看来是没问题的.可以一起发布. 太好了. Qt可以当做一个自由的库来使用了 : )

另外想问下 有谁买过QT的授权吗? 大概费用有多少?
[/Quote]


1年3万
emptyness 2011-01-06
  • 打赏
  • 举报
回复
讨论结束了吗? 觉得这个问题的确很重要,毕竟QT是非常流行的一个界面库.

完整的看完了 那个国外帖子, 看来是没问题的.可以一起发布. 太好了. Qt可以当做一个自由的库来使用了 : )

另外想问下 有谁买过QT的授权吗? 大概费用有多少?
xunxun 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 47 楼 ollydbg23 的回复:]

引用 43 楼 loaden 的回复:

引用 42 楼 zhu_xz 的回复:
只要不修改源代码并且动态链接,你是完全可以发布编译好的库的,也可以和你的闭源软件一同发布,这是没有问题的。

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

能得到Nokia开发人员回帖,荣幸!
在Nokia开发论坛发了个……
[/Quote]
其实使用vc这个dll使用自己的或是nokia的都无所谓,gcc的就惨了些,我们编译的一般都是按照dw2编译的,Qt官方发布的是sjlj,不能互换着用。
ollydbg23 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 loaden 的回复:]

引用 42 楼 zhu_xz 的回复:
只要不修改源代码并且动态链接,你是完全可以发布编译好的库的,也可以和你的闭源软件一同发布,这是没有问题的。

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

能得到Nokia开发人员回帖,荣幸!
在Nokia开发论坛发了个帖子:http://developer.qt.……
[/Quote]

居然有这么多人回复你,呵呵。

我没有研究过这么多的协议,看起来loaden的需求是。

loaden设计了一个基于QT的软件的商业软件A。该软件A动态链接到QT的DLL。 这个QT的DLL是Loaden自己编译的,Loaden并没有修改QT的源代码。

这样,Loaden在发布这个商业软件A的时候,一并夹带着他自己编译的QT 的DLL。

呵呵,就这么简单吧。

dieyingao 2010-12-15
  • 打赏
  • 举报
回复
一向拿来主义。目前还没工夫去研究什么开源协议,离它太遥远了。
客户也不关心你用的什么平台了,只关心你能不能做,多少钱可以做了它。
等客户关心你用的是QT还是FFMPEG的时候,再和客户解释一下目前软件行业的现状,什么盗版横行啊之类,你懂的。
如果客户愿意付这笔钱,那我们也洗白白,客户不愿意,那继续无视吧-_-
xunxun 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 hemiya 的回复:]

LGPL涉及到版权是指源代码的版权,至于基于Nokia给出的开源的qt所编译出来的二进制文件dll到底是谁编译的无所谓,Nokia要的只是需要编译此dll文件的源代码的版权。

要不然lgpl大部分都是允许dll动态连接的(也有的允许静态连接,即不包含dll,具体看开源协议),要的只是说明你的软件在二进制上使用了。例如qt4.dll,你带上这个文件发布的软件明白人都知道你使用了qt库,Nok……
[/Quote]
除了dll,还应该带Qt的LGPL分发协议
hemiya 2010-12-15
  • 打赏
  • 举报
回复
LGPL涉及到版权是指源代码的版权,至于基于Nokia给出的开源的qt所编译出来的二进制文件dll到底是谁编译的无所谓,Nokia要的只是需要编译此dll文件的源代码的版权。

要不然lgpl大部分都是允许dll动态连接的(也有的允许静态连接,即不包含dll,具体看开源协议),要的只是说明你的软件在二进制上使用了。例如qt4.dll,你带上这个文件发布的软件明白人都知道你使用了qt库,Nokia自己也一看就明白
jebe7282 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 doox8086 的回复:]
1,发布时带上 QT 的 lgpl Licence
2,在自己的Licence 中说明 使用了 QT 库,和为什么收费等
3,发布时分两安装包,其中一个是所需QT库的安装包(有点掩耳盗铃 :p),QT库的安装向导中说明QT库可到那获取,
提供用户到 诺鸡鸭 下载安装和安装此安装包的选择...
[/Quote]
纯支持下
xunxun 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 doox8086 的回复:]

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

//记忆中..见过好多java程序是这样做的,
[/Quote]
1和2是必须的,3还是有些疑问,这个可以提示用户到Nokia官方下载是对的,我觉得也可以同时发布自己编译的Qt的dll,不过在安装包里单独pack也是可以的。
dooX8086 2010-12-15
  • 打赏
  • 举报
回复
1,发布时带上 QT 的 lgpl Licence
2,在自己的Licence 中说明 使用了 QT 库,和为什么收费等
3,发布时分两安装包,其中一个是所需QT库的安装包(有点掩耳盗铃 :p),QT库的安装向导中说明QT库可到那获取,
提供用户到 诺鸡鸭 下载安装和安装此安装包的选择...

//记忆中..见过好多java程序是这样做的,
xunxun 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 kltwjt 的回复:]

还是挺喜欢BSD协议的
[/Quote]
只是使用者喜欢,对开发者不利,看看现在openssl的困境就知道了
  • 打赏
  • 举报
回复
LGPL采用dll动态连接的话跟发布没啥关系吧

只是说源码是否要发布,跟你编译出来的程序怎么发布没啥关系。
chenzhixin 2010-12-15
  • 打赏
  • 举报
回复
LGPL只要不是修改了内部代码就不需要发布修改的部分。
另外好像是不允许静态链接,要动态发布,
其他的啥也没有要求
昵称很不好取 2010-12-15
  • 打赏
  • 举报
回复
支持下,不知道Nokia之下的QT未来如何
加载更多回复(33)

16,215

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧