20年過去了,為什么開源還是未能如愿改變世界?
譯文【51CTO.com快譯】盡管開源現在主宰了企業平臺,但大多數代碼仍然是封閉、專有的。怎么會這樣?
開源正式出道至今已有20年了。有人注意到嗎?
沒人注意。對于像開源這樣的革命性技術而言,你以為它會改變開發、銷售和分發所有軟件的方式。可惜對于準備開派對、慶祝開源20周年的那些人來說,開源并沒有改變軟件。對于大多數開發人員來說,大多數時候軟件仍然是專有的,一成不變。
20年來真正變化的是關于軟件的敘述。現在我們對此習以為常:軟件可以是開源的,也許應該是開源的,世界不會因此迎來末日。然而,今后20年要處理的是真正開放源代碼。
開源贏得了基礎設施,但未贏得軟件
早在1999年開源運動的***人物Eric Raymond就認為,95%的軟件是為使用、不是為銷售而編寫的,因此可以、而且應該是開源的。但實則不然,幾乎所有的代碼如今仍然是封閉的。
正如Red Hat***執行官Jim Whitehurst在2008年Red Hat峰會上特別指出的,開源項目組織(Open Source Initiative)正式提出“開源”這個術語十年后,并沒有發生太多的變化,他公開譴責了浪費企業軟件這個現象:
今天編寫的絕大多數軟件是在企業編寫的,并非用于轉售。絕大多數軟件從來沒有實際使用。IT軟件開發方面的浪費非常驚人…….最終,開源要向我們在全球的所有客戶提供價值,我們不僅要讓客戶使用開源產品,還要真正參與開源、加入開發社區。
一些觀察機構看到了更大的進展。據歐洲委員會Flossmetrics在2009年的調查顯示,所有代碼(不管是否用于銷售)中35%是開源代碼,這個數字可謂不低。
正如Cloudera的聯合創始人Mike Olson在2013年認為,開源已逐漸主宰企業基礎設施:
企業基礎設施領域出現了一個令人震驚、不可逆轉的趨勢。如果你在運行數據中心,幾乎肯定在使用開源版的操作系統、數據庫、中間件和其他基礎性系統。過去十年沒有出現過一種主導性的、采用閉源專有形式的平臺級軟件基礎設施。
當然,Olson是對的:企業基礎設施領域的大部分創新越來越受制于開源許可證。雖然我們離市場飽和還相距甚遠,但容器革命的基石是Docker和Kubernetes,兩者都是開源技術。大數據呢?底層有Hadoop、Kafka和更多的開源技術。新的機器學習和人工智能呢?它們有賴于開源的TensorFlow、MXNet及更多框架。
所以,即使我們的應用程序仍然一貫是封閉、專有的,我們的平臺也日益開源。明明我們的未來基本上依賴開源代碼,為何絕大多數的代碼還繼續被專有許可所束縛呢?
既然比例越來越多的代碼是開放的,為什么更多的代碼不會更迅速地走開放道路?正如ARM的John Mark Walker告訴我的,“眼下出現的各大創新都在開源平臺方面,可還是有很多人在……重新發明輪子。”
為什么?
企業在開源方面沒有說到做到
Geir Magnusson是Apache軟件基金會的早期董事,也是Sourcepoint的***技術官。他是這么回答的:
開源對于非差異化的東西即基礎設施帶來的影響特別大。而在Eric Raymond所說的那95%的軟件中,許多是乏味無趣的代碼,它們是針對專有/特定的需求特意開發的。
換句話說,有許多代碼仍是封閉的,我們應該慶幸沒必要看到它們,因為這些代碼在編寫它們的企業之外沒多大用途。它們可以開源嗎?是的。應該開源嗎?算了吧。
正如Red Hat戰略師Dave Neary強調,確實存在與開源代碼有關的成本。他認為,“作為該代碼的唯一用戶,好處很少。”Apache軟件基金會的董事(***資本公司的前高級主管)Jim Jagielski表示:“許多公司說想要擁抱開源,可又不太愿意投入擁抱開源所需要的資源和資金,因此以失敗告終。這反過來引發了連鎖反應,導致它們責怪開源,而不是責怪自己。”
簡而言之,大多數軟件仍鎖在企業防火墻后面的原因是,成本太高了,而投資回報太低,因而沒必要開源。至少,這是普遍的看法。要是不走開源道路,不可能破除這種看法;要是沒有前期的證據,企業不愿意走開源道路。看到問題所在了嗎?
未來20年有望看到更多的開源
由于谷歌、Facebook、亞馬遜及證明開源代碼價值的其他互聯網巨頭做出了高瞻遠矚的工作,這個先有雞還是先有蛋的難題開始迎刃而解。雖然State Farm保險公司或雪佛龍不太可能像微軟那樣大力參與,但我們開始看到像彭博社和***資本這些公司正以早在1997年“開源”這個詞問世時根本想象不到的方式參與到開源運動中。這是個開始。
我們也別忘了這點,雖然我們在過去20年看到許多公司使用更多的開源代碼,但是開源自問世以來***的勝利在于,它改變了關于軟件領域如何出現創新的敘述。我們開始相信,最創新的軟件是開源軟件,這有充足的理由。
當然并非所有軟件都是如此。Apache軟件基金會董事兼Adobe***科學家Bertrand Delacretaz堅稱:“開源最適合基礎設施軟件。”他特別指出,開源之所以不太可能主宰應用軟件,是由于“你往軟件架構的上層走,要達成一致比較難。”另外,往架構上面走,對某一款特定的軟件有興趣又有能力的開發人員的數量會隨之減少。
不過對于基礎軟件來說,現在可以說開源在推動創新。用Walker的話來說,企業在“重新發明基礎設施軟件輪子”,在今后20年,我們幾乎肯定會看到這個現象不復存在,而參與開源社區的力度會越來越高。
這就是開源20年來帶給我們的啟示,它為今后的20年開了個好頭。
原文標題:20 years on, open source hasn’t changed the world as promised,作者:Matt Asay
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】