20年過去了,為什麼開源還是未能如願改變世界?
儘管開源現在主宰了企業平台,但大多數代碼仍然是封閉、專有的。怎麼會這樣?
開源正式出道至今已有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


TAG:51CTO |