当前位置: 技术问答>linux和unix
关于LGPL授权能否静态链接的几个说法
来源: 互联网 发布时间:2016-11-09
本文导语: 本帖最后由 Loaden 于 2010-02-11 22:46:10 编辑 库:LGPL授权,比如Qt。 商业软件:二进制软件,不是基于LGPL库的基础上再发布一个库,比如用Qt开发一个商业软件。 目的:需要静态链接LGPL的库,比如静态链接到Qt,而不是...
商业软件:二进制软件,不是基于LGPL库的基础上再发布一个库,比如用Qt开发一个商业软件。
目的:需要静态链接LGPL的库,比如静态链接到Qt,而不是动态链接。
以下以Qt为例展开讨论!
通过网上查证及之前帖子讨论,现在有两个说法。
⒈ 如果是商业软件,则不能静态链接到Qt,即必须附带Qt的相关DLL;
⒉ 如果是商业软件,因为不是库,所以可以静态链接到Qt,但必须向该商业软件购买者提供静态链接了Qt的软件的obj文件。
我的理解:
① 网上普遍流行的上述第一种说法是不正确的,第二种是正确的;
② 第二种说法中,只需要提供与Qt相关的obj文件,如果该软件中还有其他代码并没有使用Qt,则这些代码的obj是不需要提供的。
不知道我的理解是否正确,请行家指点一二,多谢!
我从网上看了LGPL的中文翻译版,根据中文版的描述,是支持第二种说法的。但奇怪的是,这个中文翻译版和英文版明显不一致(我英文太差,或许是我英文没看明白?)。
中文版:http://www.thebigfly.com/gnu/lgpl/
英文版:http://www.gnu.org/copyleft/lesser.html
另,这里对“静态链接”还是“动态链接”竟然有新的说法:以程序启动时是否加载LGPL的DLL为准。附上地址:http://whoswho.openfoundry.org/forum.html?func=view&catid=8&id=334
|
对于开发任何一款产品之前,首先的弄清楚这款产品的知识产权和许可证。
国外软件行业都很重视许可证,中国程序员这种意识较为淡薄。
对于一款有潜力的软件或者项目来说,弄清许可证是很明智了,对以后的发展可以规避很多麻烦。
21世纪了,应该只有hello world不需要考虑许可证和知识产权。
我之前做Qt开发的时候,也对GPL和LGPL很困惑,研究了有一段时间,按照我自己的研究和理解,加上和ZLG公司以及多家开发板公司交流,
对于LGPL,我的理解是这样的:
在开发中,商业的,就拿Qt为例,对于一个Qt程序,只要你使用了他的静态库,那么你的这个Qt完整的程序obj就必须在你发布或者出售的时候,全部提供。强调一个完整性。刚刚和LZ时候的有些不一样,就是,作为一个产品,只要此商用软件使用了Qt的静态库,那么此产品的的obj就必须完整的提供。
这个只是个人理解,不代表大众意见。
不过目前,国内对LGPL,GPL,看的很淡薄,为了抢占市场份额,为了公司发展,往往违背了LGPL或者是GPL,因为,在国内,还没有真正的执行机构来管监督GPL或者是LGPL,就拿Qt来说,目前,国内绝大多数中小型公司在竞争过程中,都隐藏了技术。他们违背了GPL或者是LGPL,普通消费者根本就不关心。
国外软件行业都很重视许可证,中国程序员这种意识较为淡薄。
对于一款有潜力的软件或者项目来说,弄清许可证是很明智了,对以后的发展可以规避很多麻烦。
21世纪了,应该只有hello world不需要考虑许可证和知识产权。
我之前做Qt开发的时候,也对GPL和LGPL很困惑,研究了有一段时间,按照我自己的研究和理解,加上和ZLG公司以及多家开发板公司交流,
对于LGPL,我的理解是这样的:
在开发中,商业的,就拿Qt为例,对于一个Qt程序,只要你使用了他的静态库,那么你的这个Qt完整的程序obj就必须在你发布或者出售的时候,全部提供。强调一个完整性。刚刚和LZ时候的有些不一样,就是,作为一个产品,只要此商用软件使用了Qt的静态库,那么此产品的的obj就必须完整的提供。
这个只是个人理解,不代表大众意见。
不过目前,国内对LGPL,GPL,看的很淡薄,为了抢占市场份额,为了公司发展,往往违背了LGPL或者是GPL,因为,在国内,还没有真正的执行机构来管监督GPL或者是LGPL,就拿Qt来说,目前,国内绝大多数中小型公司在竞争过程中,都隐藏了技术。他们违背了GPL或者是LGPL,普通消费者根本就不关心。
|
我上网看了看 都读晕了 对这些授权或者协议的把握还真难呀
看来是语文没学好
我比较支持3楼说的
作为一个产品,只要此商用软件使用了Qt的静态库,那么此产品的的obj就必须完整的提供
看来是语文没学好
我比较支持3楼说的
作为一个产品,只要此商用软件使用了Qt的静态库,那么此产品的的obj就必须完整的提供
|
对这位兄弟无语。。。。八成是没见过世面的学生
计算机本身就是工科,这些东西不了解,代码重用的时候商业化就要吃官司
② 第二种说法中,只需要提供与Qt相关的obj文件,如果该软件中还有其他代码并没有使用Qt,则这些代码的obj是不需要提供的。
--------------------------------
我认为这种说法比较合理,我之前也在其他地方见过这样的说法,但是好像官方LGPL文档里面没有细说这个地方
|
我看过GPL的说明,根据个人理解,比较支持第二种说法!就像linux是开源软件,但是运行非开源软件使用其动态库一样,比如linuxQQ,及部分限制驱动程序!
|
是二B还是码农啊
|
的确如此,术业有专攻,有兴趣~怎么会不行
|
sb
|
大一点的软件,其实链接一个dll没有什么大不了,小规模的开发qt的优势并不明显(qt面向对象的属性较重,不想mfc开发大一点的软件就显得很“乱”)。
所以,老邓也就不用太纠结这个问题了。
所以,老邓也就不用太纠结这个问题了。
|
除了一些个人小作品,很少有静态链接的家伙了,
数数看自己机器上装的软件,有几个不是动态链接的
数数看自己机器上装的软件,有几个不是动态链接的
|
对应的许可证里面说的很清楚
认真读完不就OK了
这有必要抬出来研究么?
劝你别整天将时间浪费在那些google一下或者研究一天半日就知道是怎么回事的东西上
顺便说一下,非C++技术相关的问题尽量别扔在C++版,让人看着很不爽
认真读完不就OK了
这有必要抬出来研究么?
劝你别整天将时间浪费在那些google一下或者研究一天半日就知道是怎么回事的东西上
顺便说一下,非C++技术相关的问题尽量别扔在C++版,让人看着很不爽
|
老邓是老师???????
回复内容太短了!愣是加了那么多耳朵~
回复内容太短了!愣是加了那么多耳朵~
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。