OSS改變了軟件生態(tài)系統(tǒng)制造方法。OSS使互相敵對的企業(yè),吳越同舟共同開發(fā)生態(tài)系統(tǒng)。不僅是同行業(yè)的對手企業(yè),而且是跨業(yè)界的各種各樣企業(yè)打破產(chǎn)業(yè)界限攜起手,創(chuàng)造生態(tài)系統(tǒng)的時代已經(jīng)到來。
競爭企業(yè)協(xié)力制作生態(tài)系統(tǒng)的典型例子是,OSS的分散式檔案系統(tǒng)“Hadoop”。Linux基金會在2012年4月公開的針對手機和其它設(shè)備的操作系統(tǒng)“Tizen”,就是跨越產(chǎn)業(yè)界限產(chǎn)生的生態(tài)系統(tǒng)。“Tizen”是由汽車廠商、通信商以及移動手機生產(chǎn)商共同開發(fā)。
吳越同舟擴(kuò)大生態(tài)系統(tǒng)
軟件生態(tài)系統(tǒng)是指,提供應(yīng)用軟件和周邊的工具的第三方(third party)和利用軟件的用戶。軟件的普及和推廣,需要充實的生態(tài)系統(tǒng)。
競爭企業(yè)和跨產(chǎn)業(yè)企業(yè)共同開發(fā)生態(tài)系統(tǒng)是為了對抗實力更強的競爭對手。蘋果公司的iOS和谷歌公司的Android各自形成強大的生態(tài)系統(tǒng),稱霸市場。為了對抗上述兩大勢力,很多企業(yè)相互合作共同開發(fā)生態(tài)系統(tǒng)是行之有效的戰(zhàn)略方針,上述Tizen就是在這樣的背景下產(chǎn)生的。
毫無疑問OSS是企業(yè)共同開發(fā)的最佳選擇。重要的是需要公開其開發(fā)過程,以便能夠讓各種各樣的企業(yè)參與開發(fā)OSS 。這是為了將利益不同企業(yè)的要求加入軟件開發(fā)中。OSS中有很多只是公開程序的源編碼(source code),而其開發(fā)過程并不公開。比如,雖然谷歌的Android公開了源編碼,但是,除了谷歌其他企業(yè)是無法參與開發(fā)決策的。
相反,在Hadoop和Tizen的開發(fā)過程中,就有各種企業(yè)參與其中。下面,我們就看一看這兩個項目的開發(fā)過程。
開發(fā)Hadoop已經(jīng)組織化
分布式文件系統(tǒng)Hadoop就是以雅虎、facebook、twitter、ebay等大網(wǎng)絡(luò)企業(yè)為中心,開發(fā)出來的OSS。最初主要由雅虎開發(fā)Hadoop,后來,在周邊工具中也有其他企業(yè)開發(fā)的產(chǎn)品。基于Hadoop架構(gòu)數(shù)據(jù)倉庫(DWH)的工具Hive是由美國開發(fā)搜索引擎的POWER QUEST公司(2010年被微軟收購)開發(fā)。POWER QUEST開發(fā)了facebook基于Hadoop的圓柱形數(shù)據(jù)庫HBase。
目前,大供應(yīng)商也開始參與開發(fā)。甲骨文公司(oracle)、IBM和微軟這三個公司是關(guān)系數(shù)據(jù)庫(RDB)市場的競爭對手。但是,由于分析大數(shù)據(jù)分散式檔案系統(tǒng)軟件是不可或缺的軟件,因此這三家公司都采用了Hadoop,并參與Hadoop的開發(fā)。
由于開發(fā)體制已經(jīng)高度組織化,因此,雖然有各種各樣的利益不同的企業(yè)參與開發(fā),但Hadoop項目開發(fā)進(jìn)行的很順利。
目前,Hadoop已成為Apache軟件基金會(ASF,Apache Software Foundation)的開發(fā)中心。ASF是OSS的開發(fā)管理組織,它的資金由IBM、微軟和谷歌以及facebook等大企業(yè)提供。最初,是為了開發(fā)互聯(lián)網(wǎng)服務(wù)器Apache HTTP Server而成立的組織。而現(xiàn)在,比如應(yīng)用軟件服務(wù)器Tomcat也是其管理對象。
開發(fā)體制“如同一個企業(yè)”
在開發(fā)Hadoop的項目中,屬于不同組織的程序工程師,使用單一的系統(tǒng)同期進(jìn)行開發(fā)工作。ASF負(fù)責(zé)管理程序的源代碼(Source Code)和項目管理系統(tǒng)。
提供Hadoop服務(wù)的美國Cloudera公司的工程師嶋內(nèi)翔說:“當(dāng)需要修改Hadoop源代碼時,要事先登錄項目管理系統(tǒng)做說明。”并且,由持有源代碼管理權(quán)限的委員會(committer)的工程師決定是否修改源代碼。
而過去,開發(fā)和修改補?。╬atch)等工作是由工程師自行判斷隨意進(jìn)行的,只要發(fā)送郵件清單( mailing list ML)即可。
目前,微軟公司正在開發(fā)適用于Windows Server與Windows Azure的Apache Hadoop框架。這個項目也是在ASF源代碼管理系統(tǒng)上進(jìn)行。Cloudera工程師嶋內(nèi)翔說:“Hadoop的開發(fā)項目的運作方式宛如一個公司秩序井然有條不紊。”參加Hadoop項目的每個企業(yè)的立場是對等的。決定項目的是項目管理委員會(Project Management Committees,PMC)?,F(xiàn)在PMC的成員有30人,其中,15人是雅虎和從雅虎獨立出來的美國Hortonworks的員工。其余是Cloudera和facebook以及twitter等公司的員工。也就是說,上述體制致使雅虎已無法單獨決定項目的方向。
照片 Hadoop原創(chuàng)及ASF會長的Doug Cutting。手中握著的是他的兒子的布制玩偶Hadoop,這就是Hadoop名字的由來。
Hadoop原創(chuàng)及ASF會長的Doug Cutting說:“ASF的結(jié)構(gòu)決定了任何一家公司無法控制項目,ASF保證用戶和開發(fā)者無需擔(dān)心被特定的企業(yè)所任意控制。”。
此外,Hadoop的源代碼管理系統(tǒng)和項目管理工具也向一般用戶開放。用戶可以登錄項目管理工具,提出漏洞報告和要求增加功能。并且,Cloudera嶋內(nèi)翔說:“根據(jù)用戶要求,Cloudera和Hortonworks企業(yè)競相開發(fā)。”。Hadoop每天做采納用戶意見的功能開發(fā)工作。
汽車業(yè)和通信業(yè)聯(lián)手
泰澤(Tizen)就是由汽車生產(chǎn)商、通信供應(yīng)商和移動手機制造商等共同參與開發(fā)的項目。這是與Android最大的不同之處。
泰澤該系統(tǒng)整合了基于Linux的LiMo和基于Linux的MeeGo兩個操作系統(tǒng),前者為通信供應(yīng)商和移動手機廠商提供開放的手機平臺,而后者則主要汽車生產(chǎn)商提供車載信息娛樂設(shè)備 。
眾多企業(yè)對于Tizen系統(tǒng)寄予厚望,豐田汽車就是其中一個。豐田汽車在2011年11月成為Tizen的開發(fā)組織Linux基金會的金級會員。豐田汽車第一電子開發(fā)部的村天賢一說:“豐田加入基金會的動機,是因為我們公司考慮到參與開發(fā)使用在移動電話,以及其他手持式裝置的Linux企業(yè),不應(yīng)只限于一家公司或是汽車產(chǎn)業(yè)、通信產(chǎn)業(yè)各自單獨開發(fā),而是應(yīng)該跨越企業(yè)和行業(yè)的界限,共同攜手開發(fā)最為行之有效。”
即使是豐田這樣的大型廠商,如果自家單獨開發(fā)車載設(shè)備用OSS系統(tǒng),也需要投入巨額資金,對企業(yè)而言是巨大的負(fù)擔(dān)。村天賢一進(jìn)一步解釋說:“從今以后,即使是車載設(shè)備也需要第三方制造的應(yīng)用軟件。為了構(gòu)建生態(tài)系統(tǒng),和其它公司共同開發(fā)OS是最為理想的策略。而且,考慮到今后生態(tài)系統(tǒng)的普及推廣,就不能在汽車行業(yè)內(nèi)閉門造車。因此,我們就選擇了Linux基金會。”
對于金級會員,Linux基金會給予設(shè)立工作組(working group)的權(quán)限。因此,豐田汽車成立了工作組開發(fā)汽車行業(yè)功能軟件。
Linux基金會原來是由Linus Torvalds等人為了支持Linux的個人開發(fā)者而創(chuàng)立的組織,近幾年,開發(fā)Linux的項目日益增多。比如,目前Linux基金會的家電工作組積極努力開發(fā)Linux內(nèi)核( Kernel)。
以往對Linux的長期技術(shù)支持是由經(jīng)銷商(distributor)獨自進(jìn)行,如果Linux基金會參與其中,將為Linux內(nèi)核提供長期的技術(shù)支援。這一變化,會使大量的用戶企業(yè)從中受惠。
OSS的價值發(fā)生變化
從上述Hadoop和Tizen的例子中可以看到,OSS的存在價值從公開源代碼轉(zhuǎn)變?yōu)楣_開發(fā)程序。由于源代碼和項目管理系統(tǒng)是由第三方開發(fā)者來進(jìn)行運作,因此,任何人都能夠參與開發(fā)項目。具有源代碼管理權(quán)限的委員會(committer)和評論員(reviewer)的程序工程師參與的篩選也公開化,就是說第三方具有決策權(quán)。由于公開了開發(fā)程序,很多企業(yè)和用戶的要求得到充分反映,這被看做是OSS新的價值。
其他的OSS開發(fā)項目中,也開始重視公開開發(fā)程序。比如,蘋果公司在開發(fā)基于OSS的互聯(lián)網(wǎng)瀏覽器引擎Webkit時,最初只是公開了一部分源代碼。后來,由于委員會提出異議,最后,蘋果公開了全部源代碼和源代碼管理系統(tǒng)。透露這一消息的是谷歌公司的工程師森田創(chuàng),他曾是Webkit項目評論員。
目前,Webkit的開發(fā)以蘋果和谷歌以及諾基亞為中心進(jìn)行。眾所周知,目前這三家公司不僅在智能手機市場上進(jìn)行著激烈的競爭,而且,相互之間為知識產(chǎn)權(quán)而提出訴訟。即便如此,開發(fā)Webkit的工作卻開展的很順利。
日本出現(xiàn)公開開放程序的新動向
日本也開始出現(xiàn)將OSS的開發(fā)中心轉(zhuǎn)移到第三方機構(gòu)的動向。比如,日立解決方案( hitachi-solutions)等公司以日本的OSS促進(jìn)組織OSS 協(xié)會(Consortium)為中心,開發(fā)開源的COBOL編譯器即OpenCOBOL項目。
OpenCOBOL是1990年代末期,日本醫(yī)生協(xié)會的數(shù)據(jù)庫表編輯器(Orca)項目為開發(fā)“日本醫(yī)生標(biāo)準(zhǔn)處方軟件”而開始制作的基于OSS的軟件。后來由于日本開發(fā)者離開此項目,現(xiàn)在由德國企業(yè)負(fù)責(zé)開發(fā)OpenCOBOL。
但是,自從OpenCOBOL由德國公司負(fù)責(zé)開發(fā)后,從日本發(fā)送的修改補丁總是得不到采納。因此,日立解決方案( hitachi-solutions)為了開發(fā)適合日本市場的OpenCOBOL,改由OSS學(xué)會開發(fā)這個項目。目前的OpenCOBOL是日本獨自開發(fā)的OSS版本。
目前,OpenCOBOL的源代碼管理等系統(tǒng)由OSS協(xié)會運營,由此,日立解決方案( hitachi-solutions)以外的的企業(yè)也能夠參與開發(fā)這個項目。比如,通過OpenCOBOL為長崎縣縣廳進(jìn)行主機轉(zhuǎn)移的lancard.com公司就將參加開發(fā)OpenCOBOL項目。lancard.com 公司正進(jìn)行將NEC的主機“ACOS”用COBOL程序向OpenCOBOL轉(zhuǎn)移的項目。IBM、富士通和日立的主機用功能和NEC主機用功能,將由OSS協(xié)會負(fù)責(zé)開發(fā)。
OSS的價值轉(zhuǎn)移為公開開發(fā)程序的今天,用戶企業(yè)更需要密切關(guān)注OSS的開發(fā)體制。如果體制出現(xiàn)問題,會引發(fā)程序師的背離,最終導(dǎo)致開發(fā)項目被終止。
實際上,以往曾經(jīng)發(fā)生過OSS因程序師離開導(dǎo)致項目停止的事件,它就是曾最具人氣OSS辦公軟件OpenOffice。2010年9月, OpenOffice的主要開發(fā)成員脫離項目組后,開始開發(fā)新的OSS即LibreOffice。
OpenOffice本來是Sun Microsystems公司開發(fā)的項目。Sun Microsystems公司被甲骨文公司收購后,主要項目開發(fā)成員成立文檔基金會(The Document Foundation,TDF)并要求甲骨文公司移交OpenOffice管理權(quán)限給基金會。但甲骨文公司拒絕了這一要求,最終導(dǎo)致LibreOffice分離出去。
OpenOffice失去主要開發(fā)成員后,項目已經(jīng)處于停止?fàn)顟B(tài)。日本福島縣會津若松市政廳曾使用OpenOffice作為職員標(biāo)準(zhǔn)辦公軟件,2012年3月開始使用LibreOffice。
評價社區(qū)
用戶企業(yè)在使用開源軟件時,對于OSS社區(qū)的動向必須倍加關(guān)注。2012年5月,東北亞開源軟件推進(jìn)論壇研發(fā)的開源軟件評估信息庫“RepOSS”在網(wǎng)上公開。
RepOSS信息庫目前包含約250 個開源項目的信息,RepOSS信息庫為每個開源軟件建立了超過100個開源項目與應(yīng)用的評估屬性。用戶可根據(jù)需要搜索開源軟件的信息,查詢同一評估項不同開源項目的數(shù)據(jù)統(tǒng)計信息。
RepOSS信息庫作為開源軟件評估的開放平臺,利用其信息倉庫中的相關(guān)信息,可為用戶提供客觀、定量的統(tǒng)計信息。同時用戶也可以利用 RepOSS信息庫提供的相關(guān)開源軟件信息和評估模型對自己所使用的軟件進(jìn)行評估。