另类之处1:让开发者有钱赚 开源软件的开发模式导致开发者不能像传统开发者一样盈利。开发社区往往比较忌讳社区成员通过开源项目盈利的事情,因为这会导致社区内部的不平衡,打击义务开发者参与的热情,继而毁掉一个开源项目。 但凡企业运作开源项目,都是因为该项目对企业本身的运营有所助益。无论是项目本身有商业潜力也好,还是因为企业的其他业务跟这个开源项目有关联也好,总之不是无缘无故或纯粹出于喜好跑来做慈善。传统上,企业要开发软件,代码无非那么几个来源:要么从其他厂商或开发者手中购买软件专利,要么雇佣开发者为自己写代码,再将这些代码注册为自己的专利。在互联网时代的开源领域,开源软件的开发者不太可能通过第一种方式获取稳定的利益,这与商业的基础理念不符(当然现在也有一些Donation的模式,有些运转的还不错,只是类似的模式仍然不太稳固);那么,开发者如果要通过开源软件赚钱,比较可行的道路只有:让企业雇佣自己。 雇佣开发者写开源代码,这在传统软件业中匪夷所思的事情,却是当下软件业中司空见惯的情景。红帽目前全球有3000多员工;Novell在被收购前也有3000多员工;Canonical比较小,不过现在也有450多位员工。这些数字当然包含了行政、销售、市场等非技术人员,但在这三家公司,参与开源项目开发的员工比重不会太低。还有更多开源软件开发者散布于IBM、Google、Sun/Oracle、Intel、Broadcom、Citrix等大企业,甚至现在微软内部也有参与开源项目的开发者。 同样是雇佣开源软件开发者,相比工程师气息浓重的红帽、IBM、Google等企业,Canonical的团队更有些独特的地方。加入Canonical的开发者都是怎样的一群人?前不久,Ubuntu上流行的优化软件Ubuntu Tweak的作者周鼎刚刚来到了北京,成为了一位Canonical员工。下面让我们听听他的说法。 “我第一个用的发行版其实是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开发者申请更多的权利。 |