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