公司使用 Qt 到底要不要付费?

举报
CodeAllen 发表于 2022/09/25 03:24:21 2022/09/25
【摘要】 公司在大量使用 Qt 作为基础开发框架,公司也比较懵,使用 Qt 开发商业软件,到底是否需要付费? 作为一个十几年 Qt 使用经验的老 C++程序员,今天就来回答这个问题。 基于 LGPL 协议的 Qt Qt 能获得如此的成功,得益于 LGPL 协议,都知道 GPL 是非常严格,不能开发闭源商业软件的。但 LGPL 允许你使用动态...

公司在大量使用 Qt 作为基础开发框架,公司也比较懵,使用 Qt 开发商业软件,到底是否需要付费?

作为一个十几年 Qt 使用经验的老 C++程序员,今天就来回答这个问题。

基于 LGPL 协议的 Qt

Qt 能获得如此的成功,得益于 LGPL 协议,都知道 GPL 是非常严格,不能开发闭源商业软件的。但 LGPL 允许你使用动态链接的方式开发闭源商业软件。

而 Qt 正是因为 LGPL,获得了巨大的成功。我们要定义软件基础框架的成功,需要从几个纬度:

  1. 开发者人数、社群;
  2. 软件代码的质量,稳定性;
  3. 成功的商业软件的案例。

无论从哪个维度,Qt 无疑都是非常成功的。目前 Qt 拥有百万级的开发者,经过不断的迭代,软件质量稳定性都非常优秀,同时也不乏重量级的行业基础软件,比如 Maya, SubstancePainter, 视频剪辑软件达芬奇等,都基于 Qt 开发。这些生产力基础软件,终端用户都是千万级的,从这个角度来看,Qt 的稳定性也经过了大量的终端用户的测试,验证。

Qt 的商业发展之路

从 Nokia 时代的 Meego , QML,Qt 的理念,即使是 09 年的时候,都非常先进,尤其是 QML。但被 Nokia 放弃,也成为了那个时代程序员对 Qt 的心理阴影。

Qt 作为行业基础软件,应该像 Linux 一样,被我们国家当作重要的国家战略来发展,Qt 在俄罗斯,德国等国家,都是大力使用的。

后来 Qt 被 DIGIA 收购,经过十年的发展,不但没有衰落,而且一通商业操作,越来越成功。

截止 2020 年底,Qt 公司是 DIGIA 旗下独立的子公司,而且是赫尔辛基上市公司,名字叫 QTCOM.HE。2019 年收入 5800 万欧元。市值是 12 亿欧元。

最近几年,Qt 公司一顿操作,靠卖付费 license,活得还不错,公司员工数是340人。

使用 Qt 到底需不需要付费?

初期使用 Qt 的开发者,对于各种协议的升级,容易被搞得晕头转向。GPL GPLv2 GPLv3 LGPL2.1 LGPL3 commercial license。昨天晚上研究到很晚,搞清楚了他们的这些操作,直接给您结论:

如果公司用 Qt 开发闭源商业桌面软件,在 Windows/Mac/Linux上,可以使用动态库链接方式,遵循 LGPL 协议,是不用付费的,也不用开源你的代码。

只需在你的商业软件的 about 等一些小角落,说明你使用了 Qt,遵循 LGPLV3 协议即可,你公司就可以开发闭源的商业软件。

那商业付费什么意思呢?就是指的你使用静态库链接的方式,是要付费的。

首先,嵌入式 Linux 开发,如果你自己手动编译 Qt 动态库,链接动态库。并说明你遵循 LGPL, 也是可以开发闭源商业软件的。

移动端,iOS/Android 开发。虽然 iOS/Android。目前都支持动态链接方式。但很明显,Qt 公司就是想让你付费。

最明显的就是 iOS 库,Qt 公司只提供了静态链接方式。如果你要开发 iOS,你得自己去编译动态链接库,Q t公司也没告诉你如何编译动态库.

PS:付费价格是 一年 3950 刀,三年 8400 刀。

如果你用 Qt LGPL 的方式,采用了静态库链接的方式,开发了 iOS/Android 应用。是不是就不允许,或者等着被抓呢?肯定不是的。

Qt 公司每天有很多非常重要的事情要去做。而且他们也不可能有能力扫描整个AppStore GooglePlay 看谁在违规使用他们的 Qt。

你只要不成天跑到各种论坛,社区去举报自己说自己使用了 LGPL 并使用了static lib。就没人管你。

最搞笑的事情是:你跑到开源社区去问 Qt 官方,为啥不直接提供iOS/Android LGPL 协议的动态库?他们表示,永远不会回答你。

你去问苹果,AppStore 接受 LGPLV3 的软件吗?苹果也不知道。

Qt 公司就是想办法让你付费。苹果他们不管你这些,你自己的事。

作为一个公司,团队,你一直使用 Qt 开发软件,如果你自己都没赚钱,怎么能给 Qt 公司付费呢?

所以建议是, 先自己使用,等软件赚钱后,再买三年5万块左右的商业版

如果你拿 Qt 开发商业软件,一年赚几百万,几千万,尤其是使用了手机,嵌入式版的 Qt,还是建议使用付费版,三年五万块人民币左右,支持下 Qt,开源软件的发展,有你的支持,会变得更好,自己公司也用得安心。

如果公司是 Maya, Adobe,达芬奇这种体量,那直接来深度合作定制开发了。

总结

最后,再来总结一下 Qt 的优劣势:

优势 :

  • Qt5 深度结合 OpenGL/ES ,非常适合做数字图像处理,生产力软件,设计软件,工具软件。跨平台图像处理能力非常强悍。
  • Qt6 提供跨平台的(Metal/Vulkan/D3D11)抽象层 QRhi, 对下一个10年从事音视频,数字图像处理的软件,非常大的利好。
  • QML 提供更简单的基于3D渲染引擎高效的写跨平台GUI的方式。但使用QML,不建议使用 JS。

(对于从事音视频,数字图像处理开发的程序员欢迎关注,后面我们会花大量的时间来深度研究 QRhi 的实现, 写一个专栏。Qt 的核心渲染层 QRhi 是他们从头写的,不是基于 MoltenVK)。

劣势:

  • 跨平台不是特别完善,有时候还需要结合native开发,比如手机端。

文章来源: allen5g.blog.csdn.net,作者:CodeAllen嵌入式编程,版权归原作者所有,如需转载,请联系作者。

原文链接:allen5g.blog.csdn.net/article/details/126899306

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。