B. 开源管控 – QT
QT项目 | |
获取 | 16/19 |
开发 | 8/18 |
衍生物 | 6/6 |
社区 | 2/2 |
开源管控指数 | 58% |
QT是跨平台的应用框架,用于开发桌面,嵌入式和移动终端应用。QT(读cute)在1991年由Trolltech ASA创建,在2008年6月被Nokia收购。根据Nokia的数据,已有1亿台Qt设备出货。经过2年时间的集成,Nokia在2010年16月释放了QT SDK 1.0,并宣布将QT作为MeeGo和Symbian的主要开发环境。
2011年2月,微软-Nokia战略宣告Nokia智能手机路线放弃MeeGo和Symbian,也包括Qt。此外,Nokia将Qt的商业许可卖给Digia,是非移动领域许可,授权支持非移动的Qt消费者。2011年6月,Nokia保证“Qt应用可以连接互联网上的十亿用户”,暗示Qt将用Nokia大众手机。
接下来研究Nokia Qt应用环境的管控模式。
访问
这些年,QT平台采用过不同的开源和自由许可。最初,QT被广泛应用在KDE(第一个完善的Linux桌面)。然而,QT的私有许可被许多自由软件公司所担忧,作为应对,成立了GNOME项目。GNOME选择了尚未成熟的GTK(GIMP toolkit),GTK作为Motif的替代品创建,是被Netsacpe和早期商用Unix采用的私有GUI工具包。最终,Trolltech在QT中增加了GPL许可,避免在某种程度上去控制KDE。然而,这个举动来得太晚,现在GNOME流行大大超过了KDE。
后来,QT进入嵌入式设备,Trolltech为平台提供双许可,私有许可用于商用版本,开源许可采用GPL v2许可。商用许可目的是给企业明确许可的义务和限制,并提供明确的专利赔偿和担保。
随着Nokia对Trolltech的收购,Nokia延续原由许可策略,并于2009年3月,在LGPL v2许可下释放QT,这是弱的copyleft许可,允许第三方将他们的软件链接至QT平台而无需根据GPL v3的copyleft要求公开所有的源代码。LGPL使其他公司的移动软件部门更容易使用QT。而移动手机OEM中采用copyleft许可是比较少有的。
这种策略对企业有它的好处。然而使用这样的双许可(现在的三许可)策略受到一些开源社区的批评,认为这和FSF规定的“自由”相违背 。也在某种程度说明无论QT有多么“自由”,仍然无法脱离它私有软件的根。
可以通过Gitorious获得源代码,Gitorious是面向社区的软件代码库。我们知道Gitorious是不断更新的,承诺在60-75分钟从提交到向外界发布。所有QT版本,包括开源版本和商业版本,都可通过Gitorious库获得。
在2010年6月,Nokia宣布采用更透明的管控方式,公开技术和产品讨论,并提供社区访问QA和集成进度,目的是提供更透明路线图决策过程(并参与其中),帮助其他组织建立自己路线图。
QT提供完善的开发者论坛,邮件列表,和开发者工具,均免费。
开发
贡献者需签署授予Nokia版权和专利的协议。与以前严厉的贡献者许相比有很大进步,之前要求版权所有者需要授予Nokia全部版权。(之前的所有的都是Nokia,后者的是Nokia有权用)。然而审查,验证和提交仍由Nokia员工处理。根据QT网站,贡献处理时间,也就是验证贡献时间,与贡献的大小,复杂度,技术审核的可能性相关,实际上,贡献到提交的过程大致2周。
衍生物
创建衍生物的权利和开发者使用哪个许可有关,GPL v3,LGPL2还是QT商业许可,有不同的权利,若采用GPL和LGPL,任何的代码修改都必须公开。
和Android以及Java ME不同,Nokia并没有将QT商标作为兼容性的工具。我们认为Nokia对QT作为一个授权平台并不关心,而是是Nokia设备应用生态环境。
社区结构
QT社区是松散结构,没有正式成员协议也没有层级关系。尽管所有的决策制定都由Nokia员工来处理,我们注意到Nokia打算在2011年改变这种现象。
好的方面 |
在GPL和LGPL下容易获取源代码 |
容易访问Mail list,开发者工具和论坛 |
简单代码贡献过程 |
需要避免的方面 |
有Nokia单方面的决策制定 |
提交者权限仅限于QT/Nokia的工作人员 |
封闭的贡献处理方式 |
没有项目指标数据 |
如何制定决策缺乏透明,没有相关的公开信息 |
相关链接