Qt Project

作者:Debao Zhang | Sep 14, 2011 1:10:48 PM

原文链接: Lars Knoll Qt Project

在过去的一年中,我们一直在与你们中的许多人研究如何使Qt的开发更加包容和开放。在探索了各种方案后,我们现在已经基本确定采用这个新的解决方案。

尽管花费的时间比预期稍长,但我们已经非常接近将Qt迁移到新域名:qt-project.org。该域名将由一个非营利的基金会所拥有,基金会的唯一目的是托管Qt项目的基础设施(Infrastructure)。我们花费了很多时间收集来自Qt开发利益相关者(包括公司和开源项目)的反馈。我们想确保这些团体都会对最终结果感到满意,并且愿意参与。尽管我们不能给予大家想要的所有东西,但我们坚信我们能够提供一个很好的解决方案。

基础设施

在起步阶段,我们将有一个网站、一个wiki、一个邮件服务器;软件仓库以及对Qt的修改进行审查和合并的基础设施也将准备完毕。合并(merge)设施基于gerrit,一个在git之上的开源的代码审查系统。我们已经投入了一些时间和资源来将gerrit集成到我们在Nokia为Qt运行的持续集成系统(continuous integration system)。该CI系统为我们主要平台上的代码修改提供了自动回归测试。随着项目推进,目标是使得任何新的Qt的移植都可以将自己挂靠进来。

我们将继续使用当前的Jira作为缺陷追踪工具。该Jira服务器将移交到非营利的基金会,但这很可能会在该项目正式启动以后实现。事实上,这意味着bugreports.qt.nokia.com将转移到bugreports.qt-project.org。我们也将在qt-project.org上为Qt开发相关的主题建立一些邮件列表。

决策制定与基金会角色

我想澄清一点:基金会不会以任何方式来操纵该项目。基金会的存在只是为了支付托管的费用并运行这些基础设施。所有的技术决策以及项目方向的决策,将有贡献者(Contributor)、审批者(Approver)和维护者(Maintainer)组成的社区来决定。例如,这意味着在Nokia从事工作Qt的人员将开始将Qt作为一个上游项目(upstream project)进行工作。所有人都将使用同样的基础设施,包括邮件列表和IRC。

Thiago已经在稍早的一篇博客中对我们在Qt项目中将采用的管理模型进行了详细的介绍。基于各方的反馈我们已经对该模型做了细微调整,但它仍与先前的描述大同小异。我们正在基于当前该项目的实际情况来完成审批者和维护者的列表。自然,这意味着他们中的大多数来自Nokia,但有一点可能会让你吃惊:大约15%的初始维护者并不为Nokia工作。我们也有一些来自公司和社区的审批者。虽然我知道,为给下一个10亿用户提供应用程序Nokia将会继续投入巨资到Qt,但我仍衷心希望越来越多的人加入该项目以拓宽审批者和维护者的群众基础。

我想谈论的最后一点是,对该项目来说有件事情已经确定并且不会消失。要为Qt做贡献,你必须与Nokia签署贡献许可协议(Contribution License Agreement)。我们做了很多努力来使Qt代码库保持法律上的明确和清洁,而且对这部分细节的关注在Qt项目下仍将继续。在过去的几个月里,我们已经与很多利益相关者详细审核了CLA协议,而且我们相信我们已经有了一个对每个愿意为Qt做贡献的公司和个人都尽可能包容的解决方案。该CLA协议也使得Qt周边的商业生态茁壮成长并继续对该项目做出贡献。此外,一些来自Nokia和Trolltech的法律事务也必须考虑在内。

开放进行中…

我很高兴,我们此刻在多年前已开始的旅途中又迈出了新的一步。当我2000年加入Trolltech时,X11下的Qt采用的是QPL协议。同一年我们将Qt/X11的协议改成了GPL v2。在2003年,Mac移植版也在GPL下发布了。接着在2005年,伴随着Qt 4.0的发布,我们开始将GPL用于所有版本(译者注:是指同一版本的各个平台下的移植,并不是指不同版本号的Qt,下同)。稍后,GPL v3又作为一个可选协议被加入。然后在2009年,我们在Nokia使得Qt的所有版本在LGPL 2.1下可用。

正如我们在2010年7月所宣布的,使开发更加开放是自然而然的行动,而且现在这已经成为定论。作为一个来自开源社区并从Qt商业社区汲取了宝贵经验的个体,在Trolltech和Nokia工作的这些年中,这也是我非常乐于看到并一直努力追求的东西。

所以,我真的期待开放管理(open governance)尽快生效,并与你们所有人一起工作于Qt的未来版本。尽管到现在已经进行一段时间,但我个人相信这只是一个开始。

我们相信Qt项目将成为市场上最开放和任人唯才的开放管理模型之一。我们期待着项目的启动能够赶上Qt Developer Days,但不会晚于10月17日。

你可以在Daniel的博客中获取更多补充信息。