如果使用Qt来开发商业软件,是否需要付费?
2014-04-10 23:56
381 查看
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就是其中经典之一。
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的LGPL协议是否意味着可以自由用QT开发商业软件?
- Qt的LGPL协议是否意味着可以自由用QT开发商业软件?
- Qt的LGPL协议是否意味着可以自由用QT开发商业软件?
- 使用UE4.16开发Oculus需要Oculus软件版本高于1.11
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- qt的LGPL协议开发商业软件
- 在用C#开发WinCE软件时,如果需要获得存储卡路径
- Git 远程仓库(Github) Git 并不像 SVN 那样有个中心服务器。 目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要
- 使用Qt 开发图形界面的软件
- 是否我在市场买到的手机需要经过什末测试,才能用AppLoader将我开发的程序上载到手机上运行?如果是的话,我的手机怎末通过这个测试?
- 开发人员需要使用的工具软件集合
- 笔记4-从毕业生到程序员:使用c#开发商业软件
- Qt软件开发文档2---QT构建dll库,并使用dllmanager管理dll库
- Mouse without Borders是微软的一个软件实验项目,这款软件可让鼠标自由在局域网中的多台电脑间移动,键盘输入实现无缝切换,还可以直接用鼠标相互拖拽文件。 如果经常需要同时使用两台以
- [毕业生的商业软件开发之路]第一次使用VS.NET集成开发环境
- 笔记3-从毕业生到程序员:使用c#开发商业软件
- 京东价格监控软件开发技术探讨九:C#判断京东登录是否需要验证码
- 在使用java框架开发时如果不确定方法是否被调用怎么办?
- 笔记2-从毕业生到程序员:使用C#开发商业软件
- [毕业生的商业软件开发之路]第一次使用VS.NET集成开发环境