如果使用Qt来开发商业软件,是否需要付费?
来源:互联网 发布:音响软件 编辑:程序博客网 时间:2024/06/05 16:09
Qt有三种授权方式:GPL协议、LGPL协议以及商业授权。其中GPL协议、LGPL协议是开源社区中广泛使用的两种协议。作为法律条文,最精确的阐述是该条文本身,任何读者都可能是不全面、不准确,下面仅从Qt用户的角度介绍这两种协议。最后,将讨论如何在这3种协议中进行选择。关于GPL、LGPL协议的官方文本以及详细的解读,请参http://www.gnu.org/licenses/。
1.GPL(General Public License)协议并不是为了保护软件作者的利益,而是为了鼓励软件开发者相互共享各自的成果。该协议允许软件的用户享有以下权利:能够得到软件的源代码;修改软件,或者将软件的一部分用在用户自己开发的软件中;能够发行软件的复本,用户和原作者均可收费,即使一个软件的用户通常并不是该软件的作者。同时,该协议要求用户履行以下义务:一旦该用户所开发的一个软件用到了其他GPL软件,新开发的软件也必须遵循GPL协议,也就是说,新软件的用户也享有上述权利,这要求新软件的开发者在发布该软件时也必须发布源代码。对于GPL协议下的软件,由于软件的用户也有权以收费或者免费的方式发布该软件,该软件的原作者实际上不能指望通过出售该软件本身赢利。然而,由于原作者对该软件最熟悉,能够提供强有力的技术支持,他们可以通过技术支持的方式获利,比如Redhat公司。
2.LGPL(Lesser GPL)协议一般适用于类库。该协议允许类库的用户享有以下权利:如果用户没有修改类库,而且是以动态链接的方式使用类库,用户在发布自己开发的软件时,可以不发布源码。但是,如果用户修改了受LGPL协议保护的类库,或者在自己开发的软件中使用了类库中的源代码,则新开发的软件也必须遵循LGPL协议,也就是说,在发布新软件时,必须发布类库中被修改的源代码、新软件中相关部分的源代码。
3.Qt的商业授权方式允许Qt用户享有以下权利:能够对Qt进行任意的修改,以满足特定的需求,比如使Qt能够运行在某种智能手机平台上。用户可以不公布这些修改;能够在至多两个工作日内,答复用户任何类型的技术问题,不限制问题的总数量。关于这种授权方式的细节,可参见http://www.digia.com/。
GPL或者LGPL授权的Qt是免费的,而商业授权的Qt则要求用户支付一定的费用。对于Qt用户,如果他希望对开源社区做贡献,可以选择GPL授权方式,但他在发布自己的软件时必须附上源代码。如果他在开发中不需要修改Qt库,也不需要任何技术支持,可以选择LGPL授权方式。如果他需要修改Qt库或者需要良好的技术支持,应该选择商业授权方式。
以下是一些常用的开源项目网站,推荐下:
1.Sourceforge(http://sourceforge.net/),这是最著名、历史最悠久、规模最大的开源项目管理网站。
2.Google code(http://code.google.com/),它的访问速度快,是开源项目管理网站的后起之秀。
3.C++创始人Bjarne Stroustrup的个人网站http://www.stroustrup.com/,其中罗列了一些优秀的开源C++项目。
4.开源中国社区(http://www.oschina.net/project/lang/21/c)
世界上使用C++编写的开源项目很多,比如截至2011年12月仅Sourceforge上就有6450个C++项目,其中Qt就是其中经典之一。
- 如果使用Qt来开发商业软件,是否需要付费?
- Qt的LGPL协议是否意味着可以自由用QT开发商业软件?
- Qt的LGPL协议是否意味着可以自由用QT开发商业软件?
- qt的LGPL协议开发商业软件
- 如果判断是否需要创建索引
- 我眼中的商业软件开发
- 我眼中的商业软件开发
- 在使用java框架开发时如果不确定方法是否被调用怎么办?
- qt判断文件是否存在,如果存在则删除
- 通过session来设置登录主界面时,通过过滤器filter判断是否已经登录过,如果已经登陆过可以直接访问主界面,如果没有,需要重新登陆
- 用VS2010来开发qt
- 使用QT来绘制MAT
- 是否还需要自己做DSP开发
- [转]php开发是否需要框架
- 你的企业是否需要开发APP?
- iOS开发是否需要缓存UIColor
- 开发团队里是否需要测试人员?
- Angular2开发前端是否需要结合webpack?
- QQ登录使用的g_tk获取的python代码
- leetcode:Word Break
- FPGA在线调试和下载的一个有意思的区别
- FreeBSD与Windows下 配置Dummynet
- 桥接模式(Bridge)
- 如果使用Qt来开发商业软件,是否需要付费?
- 平日感想
- 【翻译】生动详细解释javascript的冒泡和捕获
- adb server is out of date. killing...
- java Date 转换 mysql datetime
- python学习笔记
- 隐式类类型转换
- Collections类常用方法总结Collections类常用方法总结
- 第五周作业