在移动互联市场,iOS先走了一步,Android也较早地跟上市场,MeeGo比前两者都来得晚。那为什么还有这么多人/厂商要选择MeeGo?陪伴Linux/Moblin/MeeGo近十年一路走来的英特尔软件与服务事业部陈绪博士说,答案很简单:就是MeeGo真正的开放性。何谓真正的开放性?
从开源角度来讲,MeeGo可以被称为真正的开源系统,来自于其对开源四项基本原则的认识和遵守,即包容性、透明性、精英管理、上游优先。
原则1:包容性,鼓励协作、创新
包容而非独占,这是开源的一项关键原则,也是交付产品优于专有产品的关键途径。这项准则背后的理论极为简单:无论企业聘用了多少精英,世界上总是还有其他更多精英能够帮助您进一步改进产品。MeeGo的包容性使之来者不拒,充分利用社区集体的力量。
成功的开源项目能够认识到贡献无处不在,并能设法利用这种普遍存在的创新。Linux 基金会最近一次题为“谁编写了Linux*?”的调研就发现了这方面的一个例子,在这次调研中,调研人员发现共有来自200 多家公司的1,000多名开发人员为Linux 操作系统的开发做出了自己的贡献,其中包括许多独立开发人员。没有任何一家公司能够独自获得这种由Linux 社区协力达成的成就。
最能扼杀创新的方法莫过于给潜在贡献者设立阻碍,如要求贡献者付费加入项目。MeeGo 项目对所有乐于贡献的人开放。正如MeeGo网站上所说,MeeGo向所有贡献者开放。MeeGo项目无准入流程、无需签订协议,无需缴纳成员费用,只需要您自愿加入项目并做出贡献。除此之外,MeeGo 项目采用了与Linux 内核项目相似的补丁审查策略,为如何使贡献获得认可给出了明确的指导原则。
原则2:透明性,创造高效、公平
透明就不能藏着掖着,谁都不能有不正当竞争优势,大家永远在同一起跑线,软件更新在第一时间开放给合作伙伴。代码发放的原则性有两个:尽早发布,频繁更新。
为了使项目贡献者了解开源项目的当前状况,透明度至关重要。开源项目提高透明度的部分方法如下:提供申请新功能的机制;通过项目邮件列表公开讨论技术问题,清晰阐明具体决策的制定过程;拥有开放的问题跟踪数据库,使项目成员能够确定已知缺陷的状态,并根据待解决缺陷的优先次序提供意见;使关键项目开发人员和负责人能够积极参与邮件列表和互联网中继聊天(IRC);应用IRC 等工具,召开重要项目的开放式会议,允许项目参与者观摩并积极参与。
项目体现透明度的另外一种重要途径就是采用“早发布,常发布”理念。这种方法意味着对于MeeGo项目中孵化的新技术,其源代码将在开发周期的早期发布,远在最终项目发布之前。这种理念还要求随着反馈意见和补丁的接受和集成,应及时在项目中提供该组件的更新。
对于设备制造商和服务提供商,透明度能直接转化为更快的上市时间和更公平的竞争环境。新功能可以在开发周期的早期进行评估,获得及时反馈,从而促成最终功能的发布。相反,若在最终发布之前始终不透露新功能的源代码,则相比早期无法访问新功能的人来说,参与开发的人员将在上市时间上占据明显优势。
原则3:精英管理, 贡献度决定影响力
任人唯贤,谁做的更好、谁的贡献更大,谁就更有话语权,而不论其来自哪里或哪个厂商。
要运作一个成功的开源项目,需要克服的挑战之一就是在创新与稳定之间取得平衡。这项任务通常由项目维护者承担,他们在日常工作中决定哪些贡献应被采纳。而贡献者凭借其贡献的质量和数量证明自身的能力,也会增加其在项目中的影响力。这就称之为精英管理,个人在项目中的影响力与他/ 她所做出的贡献成正比。
MeeGo中有多种角色,包括项目管理、开发、验证、文档编制和社区关系。尽管许多此类位置最初都由MeeGo项目的创立者英特尔和诺基亚以及Linux 基金会的员工承担,但现在根据贡献者表现出的增值能力,正选拔他们承担此类角色。无论其所属公司如何,MeeGo对任何人都一视同仁。
原则4:上游优先,保证良性互动
上游优先,有一个回流概念,就是对上游进行了修改后会第一时间放回去。这样,一方面减少开发者工作量,另一方面保证项目完全的生态系统支持,生态系统良性互动,越来越健壮。
进行基于开源软件开发非常容易,与专有软件相比,使用开源软件可以以更快的速度或更低的成本将产品推向市场。而更好的模式则是为曾经帮助过您的社区做贡献,从而帮助他人同样从中受益。这就是MeeGo采用“上游优先”开发理念的原因之一。
在这种模式中,开发人员若修改了MeeGo从其他“上游”项目整合的组件,这些修改将回馈至上游项目,而不是仅仅整合到MeeGo本身。这种方法可带来两方面的好处。首先,MeeGo和其他“下游”项目都可以得益于这些增强功能。其次,MeeGo项目不会因维护上游项目的“分支”版本而承担相关的维护开销。
采用“上游优先”理念将可以充分利用现有开源软件项目,而不是坚持“非我原创”的观点,重复他人已经完成的工作。出于这方面的考虑,MeeGo广泛利用现有开源软件作为基础技术,如Linux 内核、X*Window 系统、Fennec* 和Chrome* 浏览器以及Qt* UI 工具包。这使MeeGo项目能够关注创新,集中精力打造新技术推动平台发展。
对于一个操作系统是否真正开源,用这四个基本原则验证一下,即可得出结论。如果将一个公有项目认为是自己的,那就是一个公司的事情,就不算开源。Linux基金会有Email、IRC、互联网论坛等公开沟通方式,这也是MeeGo社区所享有的,让所有的讨论、决策都有据可查,这种决策机制是最开放的。
开源项目绝不仅仅意味着在项目完成后公开发布源代码。MeeGo项目遵循了其他成功开源项目的最佳实践,在激烈竞争中为设备制造商和服务提供商交付具备战略优势的软件平台。