企業(yè)選擇開源不容忽視的五個方面
如今,企業(yè)的打印機和web服務(wù)器上運行著Linux系統(tǒng)、企業(yè)員工使用著火狐瀏覽器、各種各樣的移動設(shè)備上運行著安卓操作系統(tǒng),在這樣的環(huán)境下,很難想象有哪家企業(yè)沒有使用過開源軟件。
據(jù)開源管理工具提供商Black Duck 軟件公司指出,目前業(yè)界存在著一百多萬個不同的開源項目,且開源項目的數(shù)目還在持續(xù)增長,Black Duck軟件公司擁有全球最大的Ohloh開源軟件目錄。同時,根據(jù)SAP發(fā)布的研究報告顯示,開源項目的數(shù)量平均每14個月會翻一倍。
但是,不同的開源項目,其活躍的程度也是千差萬別的。Ohloh指出,在開源軟件目錄中的100375個可查詢活躍信息的開源項目中,有80%的開源項目處于低活躍度、非常低的活躍度和完全不活躍的狀態(tài)。
這對于那些在個別開源項目上下大賭注的企業(yè)來說無疑是一個壞消息,這些企業(yè)旨在利用這些開源項目作為其重要業(yè)務(wù)系統(tǒng)的一部分。同時,據(jù)Gartner調(diào)查的數(shù)據(jù)顯示,幾乎所有的受訪者都表示,到2016年,全球2000多家企業(yè)中有99%的企業(yè)都將開源軟件應(yīng)用于其關(guān)鍵的系統(tǒng)軟件產(chǎn)品線中。
如果企業(yè)選擇一個毫無前途的開源項目,那就意味著企業(yè)選擇了一個很少更新或完全沒有更新,以及沒有安全補丁的項目,而且這個項目也很少會得到社區(qū)支持。
此外,選擇一個不好的開源項目的影響遠遠不止在開發(fā)層面。比如,開源代碼是通過各種各樣不同的授權(quán)許可證分發(fā)的,而某些許可證可能與某個企業(yè)的一些產(chǎn)品或發(fā)展計劃并不兼容。此外,非托管的開源軟件還會帶來安全風險、稽查和規(guī)范等問題。
采購過程中的漏洞
開發(fā)者和終端用戶往往愿意去升級開源軟件,因為它是免費的,而且升級方法很簡單,并能夠提供開發(fā)者和終端用戶所需的功能,最重要的是沒有任何采購過程帶來的麻煩,而這種做法的最終結(jié)果導(dǎo)致許多企業(yè)根本不清楚其企業(yè)員工使用的開源軟件到底有多少。
一些開源軟件供應(yīng)商甚至利用這一點作為其銷售的策略。巴黎開源業(yè)務(wù)流程管理軟件公司Bonitasoft的首席策略官Jean-Luc Solans說:“因為開源軟件的銷售可以直接對接到個人,因此我們可以通過常規(guī)軟件的決策和銷售流程,一旦開源軟件的銷售數(shù)量達到一定規(guī)模,它就會成為一種約定俗成的標準被企業(yè)采納。通常我們從用戶(通常是企業(yè)的首席技術(shù)官)那里聽到最多的是:我真的沒有想過要和你們達成一種合作關(guān)系,但是你們卻通過另外的途徑打進來了實現(xiàn)了這一點。”
但是,對于終端用戶或個人開發(fā)者來說,他們使用這些開源軟件也并不是完全兼顧企業(yè)需求和長期發(fā)展目標的。
2013年,Sonatype公司針對3500名從事IT工作的人員進行過一項調(diào)查,該調(diào)查顯示有60%的開發(fā)者并沒有把安全視為頭等重要的因素,因為大多數(shù)人并沒有多余的資源去使用那些成本較高的開源軟件,此外還有人認為安全并不屬于他們該負責的問題。
同時,軟件管理提供商White Source的一項研究發(fā)現(xiàn)23%的含有開源組件的軟件項目都存在著安全風險,而且85%的開源軟件項目使用的是已經(jīng)過時的開源庫。
此外,社區(qū)支持也往往會導(dǎo)致開源項目出現(xiàn)各種各樣的問題,因此一些大企業(yè)更愿意選擇專業(yè)的開源軟件提供商提供一些重要功能和支持。但是,Black Duck公司指出,45%的開發(fā)者和IT專家們在選擇軟件更看重技術(shù)的性能和產(chǎn)品特色,而只有12%的人會將商業(yè)化供應(yīng)商的支持作為他們選擇和決策的重要參考標準。
個人用戶和開發(fā)者在選擇開源軟件時,他們可能不會考慮公司的其他部門是否在使用一個不同的或不兼容的工具,也不會考慮這個開源軟件是否有可行的許可證,甚至不會關(guān)心在必要時這個軟件是否能夠擴展。最終,如果這個工具使用一種只有某個開發(fā)者熟悉的代碼寫成的話,那么公司的其他人都不會使用這一工具,這樣如果這個開發(fā)者離開的話,那么公司可能會面臨一些麻煩。
缺乏管理
Sonatype公司指出,目前57%的企業(yè)對于開源軟件的使用沒有明確的規(guī)范或政策。
一個好的開源管理政策需要能夠為開發(fā)者或終端用戶提供指導(dǎo),告訴他們開源軟件使用的時機和場合,需要什么樣的許可證,以及什么時候需要投入管理。
如果軟件足夠重要的話,那么在選擇開源軟件時可以通過正規(guī)的選擇流程,且選擇開源軟件的過程和選擇一個專有軟件的流程有很多共同之處。
Red Hat首席信息官[注]Lee Congdon說:“當我們選擇一個大規(guī)模的平臺時,比如開源電話系統(tǒng),我們的產(chǎn)品選擇流程跟專有軟件的選擇流程是一樣的,包括成本、特性、功能、開發(fā)路線、供應(yīng)商的穩(wěn)定性,以及是否能夠達到既定目標等,這些因素和評估專門的解決方案的要素是一樣的。”
但是開源軟件的選擇流程和專有軟件的選擇也有兩大不同點,其一是開源軟件供應(yīng)商不同于傳統(tǒng)的商業(yè)供應(yīng)商,其二是開源軟件的選擇還需要看這個項目的社區(qū)情況。
Congdon表示:“但這并不意味著每一個開源軟件的選擇過程中,企業(yè)管理層都需要插一手。如果過度控制開源軟件的選擇的話,很可能會扼殺企業(yè)IT的創(chuàng)新,甚至?xí)o企業(yè)IT帶來陰影。就我們公司本身的業(yè)務(wù)來講,我們一般會給個人開發(fā)者一定的自由和靈活性,但對于項目的需求,以及我們的架構(gòu)團隊參與的項目會幫助我們企業(yè)在選擇軟件時形成一個我們自身企業(yè)需要的標準方法。”
社區(qū)
任何開源項目的成功或失敗很大程度上取決于圍繞著它的社區(qū),這一社區(qū)包括貢獻代碼的開發(fā)者、測試人員、文檔撰寫人員、網(wǎng)上論壇上回答問題的人,以及終端用戶。
這里有幾種方法去評估一個開源項目社區(qū)的規(guī)模和活躍等級,這些方法中有Ohloh提供的一個工具。其中一個常見的方法就是去開源項目的主頁或網(wǎng)站上查看代碼提交的歷史,以及其討論區(qū)是否活躍。
GitHub負責業(yè)務(wù)開發(fā)和策略的高管Tim Clem說:“如果項目恰好在GitHub上,你可以到公司的網(wǎng)站上查看這些項目的活躍程度。比如在jQuery中,有一個關(guān)于公開漏洞和特征要求的清單,而且在這里人們通常會圍繞這一變化的優(yōu)點進行討論。如果最后一個話題是在六個月前就開放的,且沒有任何人回應(yīng)的話,那么這個社區(qū)就被認為是非常不活躍的。”
GitHub為私有項目和開源軟件項目提供虛擬主機服務(wù),它內(nèi)部也使用開源軟件。當涉及一個關(guān)乎公司成敗的項目時,如Git版本控制技術(shù),GitHub通常會雇傭一些核心的開發(fā)者來幫助開發(fā)這一軟件。Clem說:“這不僅讓我們對一些特殊的開源項目的理解更加深刻,同時我們也引領(lǐng)了Git技術(shù)的發(fā)展。”
另一個方法是直接聯(lián)系開源軟件開發(fā)者本人。
Web應(yīng)用開發(fā)商Caxy的首席執(zhí)行官兼創(chuàng)始人Michael LaVista說:“我們非常幸運能夠接觸到一些重要的開發(fā)者,并向他們討教一些問題。如果開源項目中遇到什么問題時,你發(fā)電子郵件聯(lián)系開發(fā)者詢問,而這些開發(fā)者能夠在一天之內(nèi)答復(fù)你,那么這對于一個開源項目來說是一個好兆頭。如果他們從不回應(yīng),那么也就證明這個項目的社區(qū)其實并不活躍。”
擁有大量開發(fā)者的支持也很重要,LaVista說:“假如一個德國的開發(fā)者編寫了一個內(nèi)容管理系統(tǒng),他用的語言其他人根本不懂,那么如果這個開發(fā)者走了,也就意味著這個項目的終結(jié)。”
美國醫(yī)療設(shè)備制造商——Olympus醫(yī)療系統(tǒng)集團市場策略和分析經(jīng)理Ross Nunamaker說:“對于開源項目,對于開源項目,我曾經(jīng)就有過一些非常不好的經(jīng)歷,這些項目要么沒有一個強大的社區(qū)支持,要么就是利用這個開源軟件做得產(chǎn)品特別差。”
該集團想要更新其網(wǎng)站,該網(wǎng)站于1999年創(chuàng)建,出現(xiàn)過各種各樣的問題,包括導(dǎo)航不通、多個擁有者,及其他問題。最初,Olympus醫(yī)療系統(tǒng)集團想要選擇一個專門的平臺,但是最終該集團卻選擇了Drupal——一個開源的內(nèi)容管理系統(tǒng),許多大企業(yè)都在使用這一系統(tǒng)。
Nunamaker:“Drupal社區(qū)的成長速度非常迅猛,在這個社區(qū)中有低價格的或者免費的培訓(xùn)課程,同時還有很多使用這一平臺的提供商。而Olympus醫(yī)療系統(tǒng)集團之所以使用Drupal,也是由于Drupal社區(qū)中的另一用戶促成的。”
Nunamaker還表示:“經(jīng)常會有客戶問我,開源項目是免費的,所以你們的產(chǎn)品應(yīng)該更便宜點,或者在這個開源社區(qū)中有那么多人在使用這個Drupal開源平臺,該如何保證安全?。”白宮也在使用這個開源軟件,這對于那些仍然擔心這個項目安全問題的人來說很有說服力。
同時,今年,在Olympus醫(yī)療系統(tǒng)集團開始使用這個平臺之后,美國輝瑞制藥公司(Pfizer)和強生公司(Johnson & Johnson)也都使用了Drupal平臺。這一領(lǐng)域的許多企業(yè)都開始放棄他們原來舊的平臺,開始使用新平臺,而且這兩家大企業(yè)步調(diào)一致,都選擇了這一平臺,這也說明了Drupal對于企業(yè)來說,是一個不錯的選擇。
供應(yīng)商支持
同企業(yè)許多流行的開源項目一樣,Drupal也同樣有一個主要的提供商——Acquia掌舵。
Nunamaker表示,實際上Olympus醫(yī)療系統(tǒng)集團選擇了另一家不同的企業(yè)來創(chuàng)建這一網(wǎng)站,但是他們會讓Acquia公司確認他們選擇的這家提供商有沒有以一種最佳的實踐模式來創(chuàng)建這個網(wǎng)站。而且,在緊急情況下,大的供應(yīng)商可以提供24/7服務(wù)(7天24小時全天候服務(wù))。
據(jù)W3Techs調(diào)查顯示,Drupal開源平臺在內(nèi)容管理系統(tǒng)領(lǐng)域所占的市場份額為5.4%,在這一領(lǐng)域中排名第三,Wordpress排名第一,其市場份額為60%,其次是Joomla,市場份額為8.8%。然而,網(wǎng)站技術(shù)信息查詢和分析工具——BuiltWith.com(BuiltWith.com只專注于一百萬個最大的網(wǎng)站)卻將Drupal排到了第二位,市場份額為14.5%,這意味著Drupal在規(guī)模較大的企業(yè)部署方案中更受歡迎。
非營利組織Open Source Matters的總裁Paul Orwig 表示:“內(nèi)容管理系統(tǒng)Joomla無論其是好是壞,關(guān)鍵是它沒有一個領(lǐng)先的商業(yè)機構(gòu)幫助推動其發(fā)展。Joomla在全球范圍內(nèi)有一個志愿者社區(qū),我們很愛那個社區(qū),但是比起那些得到商業(yè)支持的項目,它的信任度相對較低。” Open Source Matters主要負責對Joomla項目提供組織和法律支持。
另一個主要的開源平臺的例子是同樣由領(lǐng)先的供應(yīng)商支持的Linux,除了Red Hat,SUSE Linux和Ubuntu的Canonical公司都在引領(lǐng)著其各自的分發(fā)版的發(fā)展。
例如,SUSE并不僅僅為其Linux提供支持,SUSE Linux企業(yè)服務(wù)器(SUSE Linux Enterprise Server)中有大約2000個其他的開源軟件包是由SUSE公司支持的。
在選擇工具時,SUSE能夠代表其客戶來決定選擇哪種軟件。
SUSE Linux企業(yè)高級產(chǎn)品經(jīng)理Matthias Eckermann表示,在選擇開源項目時,他主要看中三點因素。Eckerman說:“第一是,我們支持和提供給客戶的開源軟件是否是活躍的,且是否受到良好的維護;第二是,是否是基于安全的理念創(chuàng)建的;第三是,它的適應(yīng)性如何,文檔是否完好,以及這款開源軟件是否能夠被用戶接受,或者獲得好評。”
Eckermann表示,由于SUSE本身就是一個開源企業(yè),并已深入到開源社區(qū)中,所以該公司在選擇項目時會有一定的優(yōu)勢。
和Red Hat一樣,SUSE的員工都熱衷于開發(fā)創(chuàng)建LibreOffice管理軟件套裝,Eckermann表示:“我們的開發(fā)者是某些社區(qū)的重要組成部分。”
授權(quán)許可
選擇一個開源項目最棘手的問題之一是選擇合適的許可證,因為終端用戶和開發(fā)者往往對某個特定的開源項目缺少一定的約束力,而這也是法律和監(jiān)管部門需要介入的領(lǐng)域。
比如,一些軟件僅僅被授權(quán)為非商業(yè)用途,而且許多軟件包是在一個許可證下分發(fā)的,這一授權(quán)要求所有的衍生品都是開源的。有時候,一些開源軟件或項目根本沒有一個明確的授權(quán)許可。
專注Hadoop開發(fā)和支持的Hortonworks公司的企業(yè)策略副總裁Shaun Connolly說:“在Hadoop社區(qū)中有大量的開源項目,但是對于這些開源項目選擇了什么樣的授權(quán)并沒有人會特別關(guān)注這一點。”
授權(quán)對于美國支付解決方案提供商LoopPay來說至關(guān)重要,該公司的軟件工程副總裁David Meyer說:“我們需要確定我們在產(chǎn)品環(huán)境中能夠使用一個開源項目,當我們轉(zhuǎn)售產(chǎn)品或在別的地方重新部署產(chǎn)品的話,我們不想受到來自許可證的限制。”
Meyer表示,最重要的是最終決定購買開源軟件的那個人要有良好的技術(shù)基礎(chǔ),或者有一個技術(shù)專家能夠幫助他做決定,而不是這個決策人僅僅依靠一個開發(fā)者的推薦就購買了某個開源軟件。
Meyer說:“之前我們曾經(jīng)請一些低級別的、經(jīng)驗并不豐富的工程師幫助我們尋找開源項目,他們對這些開源項目非??駸幔瑯O力推薦我們?nèi)ナ褂?,但是后來這些開源項目兩年都沒有活躍起來。如果你因為一時興起而使用類似的這些開源項目,那么最終你會發(fā)現(xiàn)你所有的產(chǎn)品所依賴的這些開源組件并沒有人維護和支持,最終你的項目注定會失敗。”(王旋編譯)