搜索
bottom↓
回复: 29
打印 上一主题 下一主题

嵌入式Linux应用开发不用Qt应该怎么搞?

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2023-10-12 19:07:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
听说Qt开始收费了,Windows的是按开发的电脑数量收费,嵌入式Linux是按产品的数量收费,还很贵,暂时承受不起。
请问大家有没有不用Qt的开发方案?
目前知道的嵌入式GUI库有LVGL和GTK,其他方面还在找。
难道是要用VS Code等IDE建工程,添加文件,设置交叉编译这种吗?像串口,网络等用什么库呢?

出0入84汤圆

2
发表于 2023-10-12 19:34:11 | 只看该作者
哪里说qt要收费了?
按照qt的说明做就不用付费啊。

出0入25汤圆

3
发表于 2023-10-12 20:12:51 来自手机 | 只看该作者
最新的 qt 6  ide 是收费了。

然后我用5.x 还是免费的。

另外qt编译出来的exe 哪里听说收费了?lz说清楚一下啊

出0入0汤圆

4
发表于 2023-10-12 21:06:17 | 只看该作者
node red  怎样?   可能业余用用?  

出0入0汤圆

5
发表于 2023-10-12 21:33:58 | 只看该作者
哪里看到收费?

出105入79汤圆

6
发表于 2023-10-12 21:43:46 | 只看该作者
性能够的话上Electron,开发快,界面好看

出0入0汤圆

7
发表于 2023-10-12 22:06:09 | 只看该作者
楼主哪里听来的消息
就算新的Qt6也只是没有离线安装包而已,在线安装一样后一样用的

出235入235汤圆

8
发表于 2023-10-12 22:12:55 | 只看该作者
是否收费取决于你是否足够大,

现在Qt确实在广撒网,大公司用qt在嵌入式上,被要求收费的可能性很高。

现在的结论是:
1、上位机,采用动态链接的方式使用QT没有问题。
2、嵌入式设备,有问题。


一、Qt License 分析
1.1 LGPL V2 与 LGPL V3
GPLv3 协议中讨论最为广泛的新要求,即要求在"用户产品"中提供 GPLv3 代码的"安装信息”。

提供"安装信息"要求旨在保护用户权利,让用户可以修改其所购买和使用的产品中嵌入的 GPLv3 代码,并运行修改后的版本。
如果没有此条款,则"锁定"设备以阻止法定持有人修改软件便会损害 GPL 许可证作者希望用户拥有的自由权利。如果所有嵌入式设备都执行此类锁定,则如美国最高法院曾经说过的一样,GPL 所保证的自由权就会变成"空头支票”。

"用户产品"指"消费品",即通常用于个人、家庭或日常使用的有形个人财产,任何为了安装到住所而设计或销售的产品。

“用户产品"在通过永久转让所有权或控制权,或者基于固定期限出借或出租时,产品中 GPL 程序的非源码形式副本便已向用户发布。向用户提供对应源码时应随附足够的技术信息,方法、过程、授权密匙,或安装和执行用户产品中的修改版 GPL 软件所需的其他信息。这些信息必须足以保证修改后的目标码不会仅因遭到修改而无法继续执行,除非设备中采用了技术措施来阻止修改版本的安装和执行,否则此要求无关紧要。

因此从 2007 年以来的经验可以看出,如果生产厂商想要锁定其产品,则应避免使用 GPLv3软件。(注:锁定产品的意思,就是禁止用户可以修改软件)


1.2 LGPL 开发闭源程序
LGPL 协议是一个商业友好的协议,使用 LGPL 开发闭源程序,有以下两种情况:

使用动态链接的形式,那么可以以任何形式发布你的应用程序,商业的、非商业的、开源的、非开源的。
因某种原因必须静态链接一个基于 LGPL 协议发布的库,那么,你有义务进行下面的工作
你必须在你的文档中说明,你的程序中使用了 LGPL 库,并且说明这个库是基于 LGPL 发布的
你必须在你的应用程序发布中包含一份 LGPL 协议,通常就是那个文本文件
你必须开放使用了 LGPL 库代码的所有代码,例如某些封装器。但是,其他使用这些封装器的代码就不需要开放了
你必须包含你的应用程序的余下部分的目标文件(通常就是我们所说的 .o 等等),或者是其他等价的文件。源代码并不是必须的
但是对于嵌入式来说,如果生产厂商想要锁定其产品,不允许用户修改,则应避免使用 LGPLv3 协议发布的软件。


1.3 Qt 的 License 变化历程
Qt 2 后源码授权许可证开始使用GPL,Qt 4.0 发布时它拥抱了 GPLv2,2009年收购 Trolltech 诺基亚为 Qt 加入了 LGPLv2.1,LGPLv2.1 存在漏洞,没有澄清使用修改库的问题,这个漏洞被企业广泛利用开发锁定的设备,开发者认为,使用 LGPLv2.1 授权的修改版 Qt 去创建锁定设备伤害了 Qt 的生态系统。

因为设备不对第三方公开,对生态系统没有任何贡献。LGPLv2.1 没有保护用户的自由,自由软件基金会的 LGPLv3 解决了这个问题。LGPLv3 开源许可证将能在用户使用开源版的 Qt 时确保用户自由,LGPLv3 明确禁止封闭嵌入式设备分发 LGPLv3 授权的软件。

从 5.4 开始 Qt 将采用 LGPL v2.1、LGPL v3 和商业许可证授权,而新的附加模组将只在 LGPL v3 和商业许可证发布。在 Qt 4.0 到 Qt 5.3 的版本使用 LGPLv2.1,并且随着版本的更新越来越多的模块不再使用 LGPLv2.1。

Qt License 更改的官方新闻:https://www.qt.io/blog/2014/08/20/adding-lgpl-v3-to-qt

出0入0汤圆

9
 楼主| 发表于 2023-10-13 00:44:57 来自手机 | 只看该作者
听以前公司同事说的,具体不是很清楚,他们在找不收费的GUI库了。
我没有仔细看Qt的license,记得5是能下载安装包,但装完启动要注册,个人使用是可以的,商用不记得了。6就不能直接下载了,还没有装过6。

出0入115汤圆

10
发表于 2023-10-13 08:50:34 | 只看该作者
嵌入式里面我有经常用qt,不过gui基本不用,qt的库太强了,比手撸c要方便的多,当然qt如果帅流氓强行收费,那只好换方案了。

出0入0汤圆

11
发表于 2023-10-13 08:58:51 | 只看该作者
前两天看网友说CPU性能够的话直接用C#了

出0入148汤圆

12
发表于 2023-10-13 09:11:00 来自手机 | 只看该作者
boycn 发表于 2023-10-13 08:58
前两天看网友说CPU性能够的话直接用C#了
(引用自11楼)

现阶段CPU性能够的话上安卓+flutter的方案可能好点,现在应该不少soc安卓上的UI性能是比Linux上好

出0入0汤圆

13
发表于 2023-10-13 09:19:16 | 只看该作者
一直搞不懂QT的收費問題(但我還沒用過QT,有打算用)
如果電腦開發完的軟件商用,是不是要收費?
但是聽説QT有個什麽開源版可以隨意商用?

出0入0汤圆

14
发表于 2023-10-13 11:56:36 | 只看该作者
sbusr 发表于 2023-10-13 00:44
听以前公司同事说的,具体不是很清楚,他们在找不收费的GUI库了。
我没有仔细看Qt的license,记得5是能下载 ...
(引用自9楼)

按照协议来不用收费。 我们刚和Qt中国开了两次会。 不过公司也准备买Qt商业版了。不过是为了开发鸿蒙程序,qt鸿蒙版不直接开源。第三方公司维护的开源版本我估计后面问题更多。

出0入0汤圆

15
 楼主| 发表于 2023-10-13 16:50:07 | 只看该作者
搜索了一些资料。下面是链接,我的理解是在某些条件下是不收费的,除非违反了license中的某些项目。
还不清楚前面那家公司是怎么用的Qt导致被Qt公司折腾,好像还有诉讼之类的。
https://blog.csdn.net/aisq2008/article/details/72867134
https://blog.csdn.net/ken2232/article/details/132328239

出0入224汤圆

16
发表于 2023-10-13 17:12:33 来自手机 | 只看该作者
如果没有gui,I我就是用c#,需要界面的话正在尝试lvgl,这个在esp32上面用的挺爽的

出100入312汤圆

17
发表于 2023-10-13 17:17:58 | 只看该作者
yyts 发表于 2023-10-13 17:12
如果没有gui,I我就是用c#,需要界面的话正在尝试lvgl,这个在esp32上面用的挺爽的 ...
(引用自16楼)

请教下,c#在linux下不能生成窗体界面么

出90入372汤圆

18
发表于 2023-10-13 17:25:46 | 只看该作者
我个人喜欢用 B4J 这种小众免费的软件
https://www.b4x.com/b4j.html
跨平台,挺方便,公司开发就要评估了

出0入224汤圆

19
发表于 2023-10-13 18:38:31 来自手机 | 只看该作者
akey3000 发表于 2023-10-13 17:17
请教下,c#在linux下不能生成窗体界面么
(引用自17楼)

winfrom的不能直接用,但是有其他框架可以用,没有去研究过。

出0入115汤圆

20
发表于 2023-10-13 19:49:59 来自手机 | 只看该作者
akey3000 发表于 2023-10-13 17:17
请教下,c#在linux下不能生成窗体界面么
(引用自17楼)

能生成,目前gui技术还不成熟

出0入0汤圆

21
发表于 2023-10-13 20:05:15 | 只看该作者
业务规模小谁也不会找麻烦,业务规模大了,花点费用也不是啥事吧?放心用好了

出0入0汤圆

22
发表于 2023-10-13 20:46:26 来自手机 | 只看该作者
用lvgl吧,占用资源更少。

出0入115汤圆

23
发表于 2023-10-14 08:35:38 来自手机 | 只看该作者
McuY 发表于 2023-10-13 20:46
用lvgl吧,占用资源更少。
(引用自22楼)

lvgl是纯gui,qt强大的地方不仅仅是gui

出0入84汤圆

24
发表于 2023-10-14 09:08:21 | 只看该作者
QT封装的API和槽才是最好用的,界面一般般都是靠美化。

出0入0汤圆

25
 楼主| 发表于 2023-10-18 11:35:23 | 只看该作者
更新
问了以前的同事,说是使用开源版Qt开发闭源商用软件,也是不行的,不管是动态库还是静态链接。公司年营业额在一亿以下可以不管,规模不够法务看不上。
在CSDN看到一个文章,最后提到LGPLv3是这样的。https://blog.csdn.net/chenchao_shenzhen/article/details/112059961
文章最后红字“补充,我们这一代程序员,对GPL/LGPL理解过太历史,简单粗暴理解为动态库可以商用,静态库不允许。但最新的LGPLV3, 意思是嵌入式设备,包括手机开发,使用LGPLV3 Qt5.4以后的版本,无论动态库,静态库都是不允许的。”

出0入115汤圆

26
发表于 2023-10-18 12:17:21 来自手机 | 只看该作者
嵌入式里面使用了qt,你不说没人知道,除非你的出货量已经大到一定地步了,别人反编译你二进制rom了

出0入0汤圆

27
 楼主| 发表于 2023-10-18 12:20:03 | 只看该作者
三年模拟 发表于 2023-10-18 12:17
嵌入式里面使用了qt,你不说没人知道,除非你的出货量已经大到一定地步了,别人反编译你二进制rom了 ...
(引用自26楼)

设备不联网没事,联网会有泄漏信息

出105入79汤圆

28
发表于 2023-10-18 13:51:49 | 只看该作者
sbusr 发表于 2023-10-18 11:35
更新
问了以前的同事,说是使用开源版Qt开发闭源商用软件,也是不行的,不管是动态库还是静态链接。公司年 ...
(引用自25楼)

就喜欢你说的: 公司年营业额在一亿以下可以不管

出0入0汤圆

29
发表于 2023-10-22 23:14:22 | 只看该作者
标记,学习一下。

出0入0汤圆

30
发表于 2023-10-23 12:27:06 | 只看该作者
qwe2231695 发表于 2023-10-18 13:51
就喜欢你说的: 公司年营业额在一亿以下可以不管
(引用自28楼)

一般的公司难以上这个数呀
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 20:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表