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

有小朋友问(此处不应该是李永乐老师的小朋友),公司在大量使用Qt作为基础开发框架,公司也比较懵,使用Qt开发商业软件,到底是否需要付费?

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

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

所以Qt正是因为LGPL,获得了巨大的成功。我们要定义软件基础框架的成功,需要从几个纬度,1 开发者人数,社群, 2 软件代码的质量,稳定性。 3 成功的商业软件的案例。

从这几个纬度,Qt无疑是非常成功的,目前拥有百万级的开发者, 经过不断的迭代,软件质量稳定性都非常优秀,重量级的行业基础软件,比如Maya, SubstancePainter, 视频剪辑软件达芬奇等,

都基于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人。

但这一顿操作,各种协议的升级,搞得晕头转向。GPL GPLv2 GPLv3 LGPL2.1 LGPL3 commercial license.

昨天晚上研究到很晚,搞清楚了他们的这些操作。

公司使用Qt到底要不要付费?_第1张图片

 

公司使用Qt到底要不要付费?_第2张图片

 

直接给您结论:

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

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

 

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

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

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

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

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

公司使用Qt到底要不要付费?_第3张图片

 

如果你用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开发,比如手机端。

 

 

顺便打个小广告:本人在CSDN学院音视频开发课程大集合。

《FFmpeg音视频开发实战202X》

链接地址: https://edu.csdn.net/combo/detail/1932

你可能感兴趣的:(Qt,音视频开发,c++)