有小朋友問(此處不應該是李永樂老師的小朋友),公司在大量使用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開發閉源商業桌面軟體,在windows/mac/linux上,可以使用動態庫鏈接方式,遵循LGPL協議,是不用付費的,也不用開源你的代碼,
只需在你的商業軟體的about什么小角落,說明你使用了Qt,遵循LGPLV3協議即可.你公司就可以開發閉源的商業軟體,
那商業付費什么意思呢? 就是指的你使用靜態庫鏈接的方式,是要付費的,
首先,嵌入式linux開發,如果你自己手動編譯Qt 動態庫,鏈接動態庫,并說明你遵循LGPL, 也是可以開發閉源商業軟體的,
移動端,iOS/Android開發,雖然iOS/Android,目前都支持動態鏈接方式, 但很明顯,Qt公司就是想讓你付費,
最明顯的就是iOS的庫,Qt公司只提供了靜態鏈接方式,如果你要開發iOS,你得自己去編譯元件,Qt公司也沒告訴你如何編譯動態庫.
付費價格是 一年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開發,比如手機端,
順便打個小廣告:本人在CSDN學院音視頻開發課程大集合,
《FFmpeg音視頻開發實戰202X》
鏈接地址: https://edu.csdn.net/combo/detail/1932
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/243665.html
標籤:其他
上一篇:排序演算法第一談:希爾排序
