Qt之LGPL授权下的阴谋?

Loaden 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,不要自视过高。
看了上面这些,估计很多人不想再看后面的内容了。还好问题也不多了。
...全文
7956 56 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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)
在Windows 10或Windows 11操作系统中,用户经常会遇到共享打印机时出现的一系列错误代码,这些错误代码可能会阻碍打印机共享功能的正常使用。常见的错误代码包括0x00000057、0x00000709和0x0000011b,这些代码通常指出了不同的问题,比如权限不足、服务未运行或配置错误等。除此之外,还有一些故障提示如“连接失败”或“内存不足”,这些都可能影响到打印机共享的稳定性。 要解决这些故障,首先要确保打印机已经正确地连接到网络,并且在需要共享的电脑上进行了设置。确保打印机驱动程序是最新的,并且在共享设置中没有错误配置。对于权限问题,需要检查网络上的用户账户是否具有足够的权限来访问共享打印机。同时,也要确保打印机服务正在运行,特别是“Print Spooler”服务,因为这是打印机共享服务的核心组件。 在某些情况下,问题可能与操作系统的更新有关,如升级到最新版的Windows 10或Windows 11后可能出现的兼容性问题。这时,可能需要查看微软的官方支持文档来获取特定的解决方案或更新。 对于错误代码0x00000057,这通常是由于没有足够的权限来访问网络打印机或其共享资源,解决方法是确保网络打印机的权限设置正确,包括在组策略中设置相应的访问权限。而0x00000709错误可能是由于打印机驱动问题或打印机端口配置错误,可以尝试重新安装或更新打印机驱动来解决。至于0x0000011b错误,这往往是因为打印机队列服务的问题,检查并重启“Print Spooler”服务通常是解决这类问题的常见手段。 至于“连接失败”或“内存不足”这类故障,通常与客户端和打印机之间的网络连接以及打印机本地资源的使用情况有关。检查网络连接,确保打印机所在的网络段没有故障或中断。同时,如果打印机的打印队列长时间得不到处理,可能会导致内存不足的情况,这时可能需要清理打印队列或增加打印机的内存配置。 为了帮助用户更快速地解决这些问题,市面上出现了各种打印机共享错误修复工具。这些工具往往通过预设的修复程序来自动检测和修正打印机共享中常见的问题。它们可以快速检查打印机驱动、网络连接以及共享设置,并且能够提供一键修复功能,大幅减少了用户自行排查和解决问题的难度。 然而,在使用这些修复工具之前,用户应确保这些工具的来源是安全可靠的,避免因使用不当的修复工具而引发其他系统安全或隐私问题。用户可以到官方平台或者信誉良好的软件提供商处下载这些工具。通过细心检查打印机的共享设置,及时更新驱动程序和服务,以及合理使用修复工具,大多数共享打印机的问题都可以得到有效的解决。

16,818

社区成员

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

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