【51CTO独家特稿】之前一篇文章说到Linux社区一般以对Linux内核贡献的代码数量来评估贡献度,而Ubuntu背后的Canonical则总是因为此类贡献很少而备受指责。Linux基金会的2010年度报告显示,Canonical从2.6.30内核以来,总共提交了109个补丁,占总量的0.2%,排在所有贡献企业的第62位。很多Linux粉丝都拿这个数据挤兑Canonical,认为他光搞忽悠,不干实事。
但是,Ubuntu让Linux走入了众多平民的PC终端,这是一个不争的事实。贡献与功劳应如何评定?站在内核开发者的角度、桌面开发者的角度和用户的角度,答案都不一样。在为数不多的几个商业Linux发行版里,Ubuntu走的是一条另类的道路——
Mark Shuttleworth
要说Ubuntu就不可能不从这位仁兄说起。Mark Richard Shuttleworth,1973年出生于南非的一个淘金小镇Welkon,父母分别是外科医生和幼儿园教师。
1995年在开普敦大学就读财务和信息系统专业期间,Shuttleworth创建了专注于数字认证与网络安全领域的Thawte公司,并因为在1999年将该企业卖给VeriSign而一跃成为了南非最年轻有为的本土富翁和企业家。
2002年,29岁的Shuttleworth搭乘俄罗斯联盟号飞船,成为世界上第二位自费的太空游客。
Shuttleworth在上世纪90年代开始参与Debian的开发,是个如假包换的Debian Developer。早期负责Apache软件包的维护,从成立Thawte公司开始到去太空旅游期间开始潜水,到2004年复出,并成立Canonical基金会开始资助Ubuntu的开发。
传说Shuttleworth在2004年初的一次北极旅游之前将之前六个月的Debian邮件列表都下载了下来,在旅行途中一篇一篇翻阅,由此确定了Ubuntu项目的第一批开发者并一一进行招揽。
Shuttleworth、Ubuntu和Debian的渊源,很难用一两句话解释清楚。在Shuttleworth的Debian Wiki页面中他写道,“对于Debian的多元化,我十分认同。每一个Debian的衍生版都有其特殊的地方,这是Debian超越其他很多(非模块化)项目之处。然而,正因为Debian是个通用型系统,使得它在任何一个领域都无法精通。Ubuntu之所以诞生,是因为我希望有一个专注于桌面的Debian版本。”
这就是Ubuntu诞生的故事:一个南非的年轻富翁企业家,跨上名为Debian的战车,驶向Linux桌面的阵地。
2004年10月,第一个Ubuntu版本,代号Warty Warthog(长疣的疣猪)的Ubuntu 4.10诞生。大家知道Ubuntu的代号基本上都是动物的名字,而最初的这个名字,根据Shuttleworth其Ubuntu Wiki上的叙述,是这么来的:
当时Shuttleworth正在悉尼的某条游轮上观光,一边和当时的另一位Debian开发者Robert Collins聊天。以下就是Ubuntu项目第一位参与者和第二位参与者之间的对话:
(注:以下对话中,lifeless是Robert Collins的网名,sabdfl则是Shuttleworth的网名。sabdfl是Self-Appointed Benevolent Dictator for Life的缩写,意思是“自封的终身好独裁者”。BDFL一词常用于开源社区当中,Linux之父Linus Torvalds、Python之父Guido van Rossum、PHP之父Rasmus Lerdorf等人都被人这样称呼过)
lifeless:第一个发行啥时候出? sabdfl:一定要迅猛。最多六个月。 lifeless:六个月!那可没多少打磨的时间。 sabdfl:所以第一个版本的代号就叫长疣的疣猪吧。
于是,warthog也成为了最初Ubuntu开发团队的代号。
2004年1月,Canonical启动了开发协作平台Launchpad。
2004年8月20日,Shuttleworth在Launchpad上提交了Ubuntu项目的第一个bug,bug#1的内容正是:微软占有了太多市场份额。
2004年10月20日,Ubuntu 4.10发布。
2005年,Shuttleworth成立Ubuntu基金会,投入1亿美元启动资金。Ubuntu的另类之路,就此开启……
#p#
另类之处1:让开发者有钱赚
开源软件的开发模式导致开发者不能像传统开发者一样盈利。开发社区往往比较忌讳社区成员通过开源项目盈利的事情,因为这会导致社区内部的不平衡,打击义务开发者参与的热情,继而毁掉一个开源项目。
但凡企业运作开源项目,都是因为该项目对企业本身的运营有所助益。无论是项目本身有商业潜力也好,还是因为企业的其他业务跟这个开源项目有关联也好,总之不是无缘无故或纯粹出于喜好跑来做慈善。传统上,企业要开发软件,代码无非那么几个来源:要么从其他厂商或开发者手中购买软件专利,要么雇佣开发者为自己写代码,再将这些代码注册为自己的专利。在互联网时代的开源领域,开源软件的开发者不太可能通过第一种方式获取稳定的利益,这与商业的基础理念不符(当然现在也有一些Donation的模式,有些运转的还不错,只是类似的模式仍然不太稳固);那么,开发者如果要通过开源软件赚钱,比较可行的道路只有:让企业雇佣自己。
雇佣开发者写开源代码,这在传统软件业中匪夷所思的事情,却是当下软件业中司空见惯的情景。红帽目前全球有3000多员工;Novell在被收购前也有3000多员工;Canonical比较小,不过现在也有450多位员工。这些数字当然包含了行政、销售、市场等非技术人员,但在这三家公司,参与开源项目开发的员工比重不会太低。还有更多开源软件开发者散布于IBM、Google、Sun/Oracle、Intel、Broadcom、Citrix等大企业,甚至现在微软内部也有参与开源项目的开发者。
同样是雇佣开源软件开发者,相比工程师气息浓重的红帽、IBM、Google等企业,Canonical的团队更有些独特的地方。加入Canonical的开发者都是怎样的一群人?前不久,Ubuntu上流行的优化软件Ubuntu Tweak的作者周鼎刚刚来到了北京,成为了一位Canonical员工。下面让我们听听他的说法。(完整访谈实录请参考《对话Ubuntu Tweak作者:站在用户的角度玩Linux》一文)
“我第一个用的发行版其实是Fedora 6,不过接触了一周就放弃了。”在说到自己使用的第一个发行版的时候,周鼎这样说到。“06年那时候Ubuntu社区已经相当成熟了,在国内各大高校,还有一些电信机房,都有源。cn99你知道吧,实际上就是现在的163源。那时候Ubuntu的源非常多,中国南北都有,很容易找到一个离你比较近、速度比较快的。当时使用Fedora时,更新这些太麻烦了,后来用到Ubuntu就轻松多了,装个软件非常方便。”
本身身为喜欢折腾的发烧友用户,周鼎对于用户真正需要什么有自己的理解:“为什么Ubuntu会开发Unity?就是为了在用户体验上、用户界面上自己进行更改。你知道Gnome 3、KDE 4,这些都是社区控制的,有些地方并不是很合理。比如Gnome 3,有很简单的两个例子:它的窗口没有最小化按钮,甚至连Power Off关机键都没有,你觉得这个是对用户负责的表现吗?”周鼎还举例说:“Compiz你知道吗?Compiz的开发者smspillaz之前也是一个独立开发者,现在也是Canonical的员工。Compiz之前是通用的,在所有发行版上都可以用。通用,就会牺牲其他方面的一些东西。而现在在Unity上,就可以根据发展的需要做相应的调整。”
“一想起Ubuntu不好就说它对内核贡献少,我觉得这完全是工程师的角度,而没有从用户或其他方面的角度去想。实际上市场是非常重要的,你觉得呢?”周鼎对于以代码量评定对Linux的贡献程度的这个说法感到很不以为然。“据我所知,我们很多玩Linux的朋友,都会有一个共识。用一句比较流行的话来说就是,Ubuntu是我们的初恋。……我周围玩Linux的这些朋友,基本都是一开始因为Ubuntu而喜欢上Linux,从而最终把它当作自己的职业的。所以说你觉得这是不是贡献?”
对于Ubuntu桌面应用的前景,周鼎是十分看好的。“我不知道你最近有没有注意到一个趋势,就是软件中心里面收费的应用,主要是游戏,越来越多了。……不光是游戏,软件中心里面也有一些商业软件,比如Windows上的UltraEdit,也有其他平台上一些知名度比较高的软件,也已经在Ubuntu软件中心。这个在我06年开始玩的时候,还是不能想象的,Windows上的商业软件,居然会登陆Linux平台。但是现在我们也都看到这个趋势了嘛。”周鼎还介绍了一些现在已经跟Ubuntu深度集成开发的应用:“Chrome最新版,Chrome 13,就直接用了Unity的API。比如你Chrome在下载东西,Unity的Launch上面会显示一个“1”,代表当前有一个文件在下载,还有一个进度条。其他第三方的整合就更多了,开发者开始在自己的软件里整合Unity的一些高级特性。Unity现在发布不到半年,有这样的发展,我觉得是非常快的。这些都是用户能够享受到,能够直接看到的一些进展。我觉得未来一年应该也会像Windows 7一样,出现越来越多的第三方软件。”
另类之处2:重视开发以外的贡献
正如同周鼎在上面说到的工程师文化,在大部分Linux社区,相互交流的都是开发者,对项目的贡献程度也完全视提交了多少patch,维护了哪些软件包,总共贡献了多少代码所决定,从而决定了开发者在社区中的地位。
然而,Ubuntu社区为不同领域的参与者提供了更加丰富的贡献、激励机制。提交bug,文档,翻译,美工,在Launchpad系统上都进行了记录,累积到用户的Karma积分上。对于活跃的贡献者,Ubuntu委员会会授予一些官方的贡献者身份,如UM(Ubuntu成员)、PPU/UD(Ubuntu单包上传者/开发者)、MOTU(宇宙大师)、UCD(Ubuntu核心开发者)等,并且提供ubuntu.com后缀的邮箱、将博客文章推送到Ubuntu Planet等好处。
值得注意的是,这里的Ubuntu委员会可不是什么Canonical的机构,而是社区自己的机构。最顶层的社区委员会共有8人,Mark Shuttleworth也在其中。2011届的社区委员会中有3人来自Canonical(包括Shuttleworth),其他5人都是非Canonical员工。在Ubuntu社区机制当中,Canonical员工是没有任何特权的,贡献判定都由委员会评定。
社区委员会以下有Ubuntu区域委员会,分布在美洲、亚洲/大洋洲和EMEA(欧洲、中东和非洲),其功能是一样的,就是授予活跃的贡献者相应的身份。
另外还有LoCo委员会,即本地社区委员会,一开始由各个地方的Ubuntu社区成员自行发起成立,后来得到了社区委员会的官方认可。LoCo委员会在各地组织很多线下交流活动,这些贡献也都被记录下来。
在Ubuntu社区的体系中,开发者的贡献反而被淡化了,以至于开发者社区不得不成立了“开发者成员委员会”,从而为Ubuntu开发者申请更多的权利。
另类之处3:对专有、非开源软件的接受
由于Linux内核从属于GPL v2的缘故,在Linux平台上存在的专有、非开源软件往往被自由软件推崇者视为是邪恶的。Ubuntu源自Debian,而Debian是个不折不扣的自由软件发行版,其软件源对“自由”的要求可以用苛刻来形容。
然而,Ubuntu却完全反其道而行之,成为了对专有软件接纳度最高的发行版之一。
根据Canonical目前的布局,Ubuntu Software Center(应用软件商店)、Ubuntu One(云同步)、Ubuntu Music Store(音乐商店)将成为Ubuntu桌面盈利的关键点。这三款软件本身,正如同一开始的Launchpad一样,也并非是开源的。
在这三项当中,Ubuntu Software Center的布局尤其重要。用过Ubuntu的朋友们应该知道,传统上,Ubuntu上安装软件和Debian一样,可以从源代码编译,或用apt从网络/本地软件源获取源代码并直接安装,也可以从二进制包(.deb)手动安装。apt安装方式在传统上通过命令行执行,后来出现了新立得软件管理器等图形化操作方式。
在此基础之上,Ubuntu还发展了一种独特的ppa机制。这个机制上面周鼎的访谈中也介绍过:Linux软件在整合入发行版的软件源之前都会经过发行版打包者的重重测试,所以软件源的软件一般不全,版本也会比较老;而基于Launchpad搭建的ppa机制,则可以让开发者简单的在Ubuntu中实现自动更新的机制。下次Ubuntu Software Center的更新,据说将会与Launchpad ppa机制进行全面的整合。至于软件中心的推荐、排名等机制,以及开发者支付渠道的开拓,相信Canonical早就有了相应的计划,只待时机成熟。
另类之处4:Ubuntu的云计算之路
另外值得一提的是Ubuntu Server近年来的发展势头。在W3Techs等网站的数据统计中,Ubuntu在服务器领域已经成为CentOS、Debian之外的第三大流行的Web服务器发行版,已经排在了红帽的前面。
Linux做服务器是有家传基因的,基本上企业Linux发行版都是针对服务器。不过,Ubuntu的情况和红帽、SUSE等扎根于企业IT基础架构的发行版的情况不同:Ubuntu的崛起和VPS、Amazon EC2服务的关系密不可分。深知在企业级IT基础架构方面,无论从技术还是服务支持方面都不太可能是这些老字号的对手,Ubuntu的服务器之路从一开始就瞄准了公有云,牢牢地与Eucalyptus、OpenStack等项目抱在一起。对于众多个人站长和年轻的互联网创业者而言,如果他们接触过Ubuntu桌面,那么在云端建立虚拟服务器的时候选择一台Ubuntu的服务器,也是十分自然的选择。
总结
2010年,Mark Shuttleworth按照之前的计划退下了Canonical公司CEO一职,而接任这个担子的,则是曾经负责Ubuntu One项目和Ubuntu企业服务事业部的Jane Silber女士。根据Silber女士的介绍,Canonical目前已经在英国伦敦、加拿大蒙特利尔、美国波士顿、台湾台北、以及中国上海等全球5个主要城市设立办公室,而且接下来将会在北京设立全球第六个办公室。六个办公室有三个都在中国,可见中国在Canonical计划中的重要性。
Canonical在中国市场主要有两个方面的计划:1、语言、时区、输入法等本土化,以及QQ等本土应用的集成;2、与中国本土最大的电脑制造商进行合作和定制化。Canonical目前与戴尔、联想和宏基已经有相当程度的合作,接下来也将在终端销售层面的卖场展开进一步的推广活动。
在Linux世界里,Ubuntu无疑是特殊的一个分支。无论开源社区界对Ubuntu有再多的不满,但这条与众不同的商业化道路,会给很多人带来启发。虽然目前Canonical尚未表示实现了收支平衡,但却透露出收入一直在增长的消息,相信接下来几年的云计算崛起时代,Canonical将会大有作为。让Linux开发者有钱赚,除了将开发者招揽为员工之外,Ubuntu能否开辟出另一条更为多样化的道路?Ubuntu能否在移动设备井喷,PC和上网本衰弱的当口,为Linux桌面开辟出一片稳固的领地?让我们拭目以待!
【广告时间】为了了解Linux桌面发行版当前的用户群,51CTO现在在进行一项“Linux桌面发行版生存状况大调查”。如果您正在使用或使用过Linux桌面,希望您能抽出几分钟填写一下我们的调查问卷:
http://www.51cto.com/survey/index.php?sid=37381&lang=zh-Hans
十分感谢您的参与!
【编辑推荐】