主角更换-开源软件(OSS)促使竞争企业“吴越同舟”(二)

OSS改变了软件生态系统制造方法。OSS使互相敌对的企业,吴越同舟共同开发生态系统。不仅是同行业的对手企业,而且是跨业界的各种各样企业打破产业界限携起手,创造生态系统的时代已经到来。

竞争企业协力制作生态系统的典型例子是,OSS的分散式档案系统“Hadoop”。Linux基金会在2012年4月公开的针对手机和其它设备的操作系统“Tizen”,就是跨越产业界限产生的生态系统。“Tizen”是由汽车厂商、通信商以及移动手机生产商共同开发。

吴越同舟扩大生态系统

软件生态系统是指,提供应用软件和周边的工具的第三方(third party)和利用软件的用户。软件的普及和推广,需要充实的生态系统。

竞争企业和跨产业企业共同开发生态系统是为了对抗实力更强的竞争对手。苹果公司的iOS和谷歌公司的Android各自形成强大的生态系统,称霸市场。为了对抗上述两大势力,很多企业相互合作共同开发生态系统是行之有效的战略方针,上述Tizen就是在这样的背景下产生的。

毫无疑问OSS是企业共同开发的最佳选择。重要的是需要公开其开发过程,以便能够让各种各样的企业参与开发OSS 。这是为了将利益不同企业的要求加入软件开发中。OSS中有很多只是公开程序的源编码(source code),而其开发过程并不公开。比如,虽然谷歌的Android公开了源编码,但是,除了谷歌其他企业是无法参与开发决策的。

相反,在Hadoop和Tizen的开发过程中,就有各种企业参与其中。下面,我们就看一看这两个项目的开发过程。

开发Hadoop已经组织化

分布式文件系统Hadoop就是以雅虎、facebook、twitter、ebay等大网络企业为中心,开发出来的OSS。最初主要由雅虎开发Hadoop,后来,在周边工具中也有其他企业开发的产品。基于Hadoop架构数据仓库(DWH)的工具Hive是由美国开发搜索引擎的POWER QUEST公司(2010年被微软收购)开发。POWER QUEST开发了facebook基于Hadoop的圆柱形数据库HBase。

目前,大供应商也开始参与开发。甲骨文公司(oracle)、IBM和微软这三个公司是关系数据库(RDB)市场的竞争对手。但是,由于分析大数据分散式档案系统软件是不可或缺的软件,因此这三家公司都采用了Hadoop,并参与Hadoop的开发。

由于开发体制已经高度组织化,因此,虽然有各种各样的利益不同的企业参与开发,但Hadoop项目开发进行的很顺利。

目前,Hadoop已成为Apache软件基金会(ASF,Apache Software Foundation)的开发中心。ASF是OSS的开发管理组织,它的资金由IBM、微软和谷歌以及facebook等大企业提供。最初,是为了开发互联网服务器Apache HTTP Server而成立的组织。而现在,比如应用软件服务器Tomcat也是其管理对象。

开发体制“如同一个企业”

在开发Hadoop的项目中,属于不同组织的程序工程师,使用单一的系统同期进行开发工作。ASF负责管理程序的源代码(Source Code)和项目管理系统。

提供Hadoop服务的美国Cloudera公司的工程师嶋内翔说:“当需要修改Hadoop源代码时,要事先登录项目管理系统做说明。”并且,由持有源代码管理权限的委员会(committer)的工程师决定是否修改源代码。

而过去,开发和修改补丁(patch)等工作是由工程师自行判断随意进行的,只要发送邮件清单( mailing list ML)即可。

目前,微软公司正在开发适用于Windows Server与Windows Azure的Apache Hadoop框架。这个项目也是在ASF源代码管理系统上进行。Cloudera工程师嶋内翔说:“Hadoop的开发项目的运作方式宛如一个公司秩序井然有条不紊。”参加Hadoop项目的每个企业的立场是对等的。决定项目的是项目管理委员会(Project Management Committees,PMC)。现在PMC的成员有30人,其中,15人是雅虎和从雅虎独立出来的美国Hortonworks的员工。其余是Cloudera和facebook以及twitter等公司的员工。也就是说,上述体制致使雅虎已无法单独决定项目的方向。

 

照片 Hadoop原创及ASF会长的Doug Cutting。手中握着的是他的儿子的布制玩偶Hadoop,这就是Hadoop名字的由来。

Hadoop原创及ASF会长的Doug Cutting说:“ASF的结构决定了任何一家公司无法控制项目,ASF保证用户和开发者无需担心被特定的企业所任意控制。”。

此外,Hadoop的源代码管理系统和项目管理工具也向一般用户开放。用户可以登录项目管理工具,提出漏洞报告和要求增加功能。并且,Cloudera嶋内翔说:“根据用户要求,Cloudera和Hortonworks企业竞相开发。”。Hadoop每天做采纳用户意见的功能开发工作。

汽车业和通信业联手

泰泽(Tizen)就是由汽车生产商、通信供应商和移动手机制造商等共同参与开发的项目。这是与Android最大的不同之处。

泰泽该系统整合了基于LinuxLiMo和基于LinuxMeeGo两个操作系统,前者为通信供应商和移动手机厂商提供开放的手机平台,而后者则主要汽车生产商提供车载信息娱乐设备 。

众多企业对于Tizen系统寄予厚望,丰田汽车就是其中一个。丰田汽车在2011年11月成为Tizen的开发组织Linux基金会的金级会员。丰田汽车第一电子开发部的村天贤一说:“丰田加入基金会的动机,是因为我们公司考虑到参与开发使用在移动电话,以及其他手持式装置的Linux企业,不应只限于一家公司或是汽车产业、通信产业各自单独开发,而是应该跨越企业和行业的界限,共同携手开发最为行之有效。”

即使是丰田这样的大型厂商,如果自家单独开发车载设备用OSS系统,也需要投入巨额资金,对企业而言是巨大的负担。村天贤一进一步解释说:“从今以后,即使是车载设备也需要第三方制造的应用软件。为了构建生态系统,和其它公司共同开发OS是最为理想的策略。而且,考虑到今后生态系统的普及推广,就不能在汽车行业内闭门造车。因此,我们就选择了Linux基金会。”

对于金级会员,Linux基金会给予设立工作组(working group)的权限。因此,丰田汽车成立了工作组开发汽车行业功能软件。

Linux基金会原来是由Linus Torvalds等人为了支持Linux的个人开发者而创立的组织,近几年,开发Linux的项目日益增多。比如,目前Linux基金会的家电工作组积极努力开发Linux内核( Kernel)。

  以往对Linux的长期技术支持是由经销商(distributor)独自进行,如果Linux基金会参与其中,将为Linux内核提供长期的技术支援。这一变化,会使大量的用户企业从中受惠。

OSS的价值发生变化

从上述Hadoop和Tizen的例子中可以看到,OSS的存在价值从公开源代码转变为公开开发程序。由于源代码和项目管理系统是由第三方开发者来进行运作,因此,任何人都能够参与开发项目。具有源代码管理权限的委员会(committer)和评论员(reviewer)的程序工程师参与的筛选也公开化,就是说第三方具有决策权。由于公开了开发程序,很多企业和用户的要求得到充分反映,这被看做是OSS新的价值。

其他的OSS开发项目中,也开始重视公开开发程序。比如,苹果公司在开发基于OSS的互联网浏览器引擎Webkit时,最初只是公开了一部分源代码。后来,由于委员会提出异议,最后,苹果公开了全部源代码和源代码管理系统。透露这一消息的是谷歌公司的工程师森田创,他曾是Webkit项目评论员。

目前,Webkit的开发以苹果和谷歌以及诺基亚为中心进行。众所周知,目前这三家公司不仅在智能手机市场上进行着激烈的竞争,而且,相互之间为知识产权而提出诉讼。即便如此,开发Webkit的工作却开展的很顺利。

日本出现公开开放程序的新动向

日本也开始出现将OSS的开发中心转移到第三方机构的动向。比如,日立解决方案( hitachi-solutions)等公司以日本的OSS促进组织OSS 协会(Consortium)为中心,开发开源的COBOL编译器即OpenCOBOL项目。

OpenCOBOL是1990年代末期,日本医生协会的数据库表编辑器(Orca)项目为开发“日本医生标准处方软件”而开始制作的基于OSS的软件。后来由于日本开发者离开此项目,现在由德国企业负责开发OpenCOBOL。

但是,自从OpenCOBOL由德国公司负责开发后,从日本发送的修改补丁总是得不到采纳。因此,日立解决方案( hitachi-solutions)为了开发适合日本市场的OpenCOBOL,改由OSS学会开发这个项目。目前的OpenCOBOL是日本独自开发的OSS版本。

目前,OpenCOBOL的源代码管理等系统由OSS协会运营,由此,日立解决方案( hitachi-solutions)以外的的企业也能够参与开发这个项目。比如,通过OpenCOBOL为长崎县县厅进行主机转移的lancard.com公司就将参加开发OpenCOBOL项目。lancard.com 公司正进行将NEC的主机“ACOS”用COBOL程序向OpenCOBOL转移的项目。IBM、富士通和日立的主机用功能和NEC主机用功能,将由OSS协会负责开发。

OSS的价值转移为公开开发程序的今天,用户企业更需要密切关注OSS的开发体制。如果体制出现问题,会引发程序师的背离,最终导致开发项目被终止。

实际上,以往曾经发生过OSS因程序师离开导致项目停止的事件,它就是曾最具人气OSS办公软件OpenOffice。2010年9月,  OpenOffice的主要开发成员脱离项目组后,开始开发新的OSS即LibreOffice。

OpenOffice本来是Sun Microsystems公司开发的项目。Sun Microsystems公司被甲骨文公司收购后,主要项目开发成员成立文档基金会(The Document Foundation,TDF)并要求甲骨文公司移交OpenOffice管理权限给基金会。但甲骨文公司拒绝了这一要求,最终导致LibreOffice分离出去。

OpenOffice失去主要开发成员后,项目已经处于停止状态。日本福岛县会津若松市政厅曾使用OpenOffice作为职员标准办公软件,2012年3月开始使用LibreOffice。

评价社区

用户企业在使用开源软件时,对于OSS社区的动向必须倍加关注。2012年5月,东北亚开源软件推进论坛研发的开源软件评估信息库“RepOSS”在网上公开。

RepOSS信息库目前包含约250 个开源项目的信息,RepOSS信息库为每个开源软件建立了超过100个开源项目与应用的评估属性。用户可根据需要搜索开源软件的信息,查询同一评估项不同开源项目的数据统计信息。

RepOSS信息库作为开源软件评估的开放平台,利用其信息仓库中的相关信息,可为用户提供客观、定量的统计信息。同时用户也可以利用 RepOSS信息库提供的相关开源软件信息和评估模型对自己所使用的软件进行评估。