开发者声称:“不会再有来自外部/无偿贡献者所做的工作。”
Qt 公司最近关闭了版本 5.15 的源代码,以进一步的行动落实了其计划:长期支持版(LTS)走纯商业化道路,此举遭到了开源代码贡献者的抗议,他们表示仍然开放的 6.0 版本还不能使用。
Qt 是一种跨平台的应用程序框架,既采用开源许可证,又采用商业许可证。大概一年前,Qt 公司宣布了计划使 LTS 版本走纯商业化道路,同时宣布计划做另外一些变更,旨在鼓励开源用户为该项目贡献代码或购买商业许可证。
12 月 8 日,首席技术官兼首席维护者 Lars Knoll 郑重宣布 Qt 6.0 问世,这是“一款主要新版本的首次发布。”
Qt 6.0 拥有一种新的图形架构,该架构充分利用了运行 Qt 6.0 的每一个平台的原生 3D 图形 API,以及用于定义用户界面的下一代 QML(Qt 建模语言)。不过,Knoll 承认 6.0 仍存在局限性。
他说,6.0“尚不支持 Qt 5.15 中的许多附加模块。”他还提到了仍然需要“清理工作和代码重构”,另外即将致力于提升“新版本的稳定性”。
Knoll 补充说:“我们计划等到发布 Qt 6.2 时将大多数重要的附加模块移植过去。”
高级副总裁 Tuukka Turunen 发帖表示:“鉴于 Qt 6.0.0 已发布,第一个补丁版本(Qt 6.0.1)即将发布,现在是 Qt 5.15 LTS 进入纯商业化 LTS 阶段的时候了。所有现有的 5.15 分支对公众而言仍然可见,但是对于新提交的代码(和 cherry-picks)而言已关闭......明天即 2021 年 1 月 5 日起关闭。”
“在此之后,cherry-picks 进入到仅供商业许可证持有者可用的另一个代码存储库……计划在 2 月份发布第一个走纯商业化道路的 Qt 5.15.3 LTS 补丁版本。”
据去年的 QT 帖子显示,其想法是非商业用户转而使用 6.0,以便他们仍可以免费使用最新版本。针对 Turunen 帖子的回复表明,对于许多用户而言,这不切实际。一位开发者说:“考虑到眼下还没有实际的 qt 6 版本,这个时机再好不过了(是的,考虑到您打算破坏 6.1 中的二进制兼容性,6.0 简直是个笑话)。”
另一位开发者说:“我的项目所需要的模块中还有一半是 Qt6 所没有的,因此升级不可能。另一方面,已向开放用户关闭了 5.15 LTS——这对我来说是一个严重的限制,因为我的项目是个非营利性开源项目。购买商业许可证不是一个法子。”
Turunen 这样回答:“对于开源用户而言,Qt 5.15 类似 Qt 5.13 和 Qt 5.14(非 LTS 版本)。”
事关安全
问题是这些版本实际上不再由人维护。如果出现了安全问题,或者需要修补程序以支持某一个目标操作系统中的某处变更,开源用户将无法获得该修补程序,除非是在未准备就绪的版本 6.0 中。
开源代码贡献者、英特尔软件架构师 Thiago Macieira 提到 Qt 公司的这一决定时说:“这意味着我将不会参与那些修补程序的开发,不会评论什么合适什么不合适,不会审查向后移植(backport)或代码错误报告。”
另一位开发者 Konstantin Ritt 说。“基本赞同;如果 Qt 公司决定关闭 5.15 源代码,不会再有来自外部/无偿贡献者所做的工作。”
Turunen 回答:“这完全可以理解,完全在意料之中。Qt 公司准备处理 Qt 5.15 LTS 阶段的工作。”
但是这并未全面地回答这个更广泛的问题:Qt 在开源用户眼里的存活能力。
一个可能的解决方法是 Qt 5.15 的社区驱动分支,代码错误修补程序可以向后移植到该分支。这个话题在此处(https://bugreports.qt.io/browse/QTQAINFRA-4121)正在热议中。
基于 Qt 的 KDE Linux 桌面的维护者 David Edmundson 特别指出:“尽管这是一条切实可行的路子,却不是理想的结果。”
去年 Knoll 说:“这些变化没有一个会影响开发 Qt 的方式。开放治理(Open Governance)或开放开发模式不会有任何变化。”
然而这些新的抱怨表明,受商业利益驱动的变化确实会影响开发模式。
许多开源项目都在竭力兼顾代码的免费可用性与商业可持续性,但是 Qt 似乎不是其中之一。其在 2020 年 7 月至 9 月的上一份临时声明显示“利润增长势头非常强劲”,净销售额同比猛增 30.6%,营业毛利增长 26.5%。
相关推荐
© 2020 asciim码
人生就是一场修行