開源正在蠶食整個世界?

oschina發表於2016-03-17

“軟體正在吞沒整個世界”的說法最先見於2011年。2015年,開源軟體替代了這個位置。

“如果這個理論推開來,軟體吞沒世界,那麼開源軟體將取代之,對嗎?”2015年初福布斯還不確定地刺探。 但到年底他們就非常自信地發文“開源軟體確實正在吞沒整個世界”。

這不是一個聲音發起的運動。《連線》發表文章如,今年開源軟體如火如荼. 充滿了引用,如:“這不僅僅是一個轉折點,更是一個引爆點,”GitHub帶頭大哥Brandon Keepers說。

開源正在蠶食整個世界?

多謝 Dominic Alves 提供的題圖! CC BY 2.0

這也多次出現在各類事件中,如Defrag2015之類。我參加了一個題為“開放平臺和策略——為什麼你應該開放平臺”的演講。在那裡我聽到很多強大的猜想,例如:在大約五年內大部分產品將在GitHub之類的開放平臺上開放原始碼。

開源軟體會霸佔這個世界嗎?將來所有的許可證都會是GPLs,MIT,Apache之類的嗎?當然不是。Linux,網景和Apache httpd都在開源基金會裡等了很長時間了。

如果是這樣的話,為什麼2015年會有如此湧動的激情?

git commit -m “改變了什麼”

預測未來是徒勞的。這一點,Philip Tetlock通過實驗研究證明那些專家“大約和扔飛鏢的黑猩猩一樣準確”。

因此,預測瞭解自由/開源軟體的未來可能會使我們誤入歧途,讓我們看看現在正在發生些什麼。我的論點是,開源和閉源一直是一種互補的關係。我們現在看到的趨勢在很大程度上是從開放與封閉的聖戰裡走出來的贏者。

混合的組織方式是主流

開源軟體是主流。蘋果可以說是最封閉的公司,開源了Swift。微軟開源了Visual Studio、.Net和最近他們的JavaScript引擎Chakra。谷歌、Facebook、甚至 NSA也將其專案通過GitHub託管並開放原始碼。

然而,許多這樣的組織也從根本上閉源。為什麼會混合起來搭配呢?Joel Spoelsky給了我們一個解釋,他在2002年關於互補市場的論文中說到:

”當一個產品的互補品的價格下降,它的需求就會增加。一般來說,一個公司的戰略利益是讓他們互補產品價格儘可能低。”

比免費更好是什麼?Sun Microsystems放開Java,因為他們的主營業務是
銷售伺服器。你在構建一個很酷的Java應用程式後
需要什麼?當然是要一個在伺服器上執行它。

抽象表達主義

我們的朋友Joel也在最近的一條a16z播客上表達了開源的其他好處:

“我們現在編碼的系統比過去複雜一百萬倍。(……)今天只用一行程式碼,你可能會完成接受和處理信用卡。(……)作為程式設計師,我們的力量更強大了。”

軟體佔領的領域越大,這個世界就會變得更加互相通聯。開發也會變得更加複雜。自由/開源軟體是一個開啟所有的複雜性的方式。

如果我們相信隨著時間的推移熵不斷增加,那麼我們可以做出這樣一個預測,如果開源能有效減緩熵增加,那開源的採用率將隨著熵的增加而增長。

值得注意的是,這個模型中Twilio、STripe、和他們的弟兄是一個明顯的問題。他們關閉了SaaS產品,也做了大量消除複雜性的工作。問題是,很難在多個方面說明開放和封閉的解決方案哪個是“勝者”。

急需急需HIPAA(簡化方案)

Stripe, Twilio和其他類似的公司都推動開源,但是所有上述公司都提供區別於開源的閉源服務。這是為什麼?

閉源服務提供類似與PCI標準的服務,不用呼叫註冊,HIPAA甚至提供易學好記得功能,你只需關注自身業務邏輯。現在越來越多的公司願意支付費用使用閉源服務,從而減少負擔,避免讓人頭痛的整合問題。

我堅信這種情況不會改變。以閉源服務提供的優秀封裝為依託,將會更好的實現自身公司業務。隱藏瑣碎細節,提供實用功能。閉源服務善於化繁為簡。

FOSS支持者被替換為中立者

開源是成熟,這是個謬論. 經常看到如下宣言“再也不會有下一個紅帽(Ret hat)”. a16z的Peter Levine 說的如果開源是一個商業選項,它通常不是市場上最有效的方案。

收入很重要. 任何產品都需要支撐. 它(某開源軟體)是否會繼續開發和維護?Satirical Twitter 擔憂道:

開源正在蠶食整個世界?

“我認為一些JavaScript框架的存活時間還不如一瓶牛奶”

同樣,FOSS的主要原則正在產生問題。記得心臟滴血問題嗎(HeartBleed)? Jeff Atwood 肯定記得. 他利用該問題反駁

林納斯定律(Linus’ Law是計算機軟體開發者熟悉的開發測試定律之一), 該定律被強制放入到 Cathedral and the Bazaar(該書介紹了開源軟體的模型)中.

李納斯定律說,“只要看足夠長時間,所有的Bug都會被發現“。換句話說,開源軟體不應該有災難性的Bug。因為有足夠的人公開審查程式碼,只有些小Bug可能會溜過去。

阿特伍德回應說:

然而,Heartbleed SSL脆弱性是李納斯定律的一個轉折點,這是一個開源軟體的嚴重錯誤導致的災難性的漏洞。災難性有多大呢?它影響了大約18%的世界上所有HTTPS網站,並允許攻擊者檢視所有這些網站的流量,還未加密…而且已經兩年了。

哎喲。阿特伍德的當前企業Discourse.org是一個100%開源的產品。他顯然對自由/開源軟體很有信心。它只是受到了一個現實的世界的磨練而已。

易用性

GitHub是開源的港灣。在它上面,寫作和共享程式碼變得容易得多。業餘愛好者能夠提高文件,即使他們不能程式碼。通過Pull request專家和導師很容易分享。

分散式版本管理系統(git)取代集中式版本管理系統(svn)對自由/開源軟體有如此大的影響,這是一件很詩意的事情。你想解決一個問題嗎?先去看看GitHub上有沒有解決方案。

任何理智的商業都會愚蠢的忽略開源。但是,GitHub如何賺錢?通過出售私人儲存庫。其中大量都是閉源的。甚至GitHub也是在這個遊戲中。

未來不是一個純粹的開源仙境。而是一個將開源和閉源結合起來的拼綴圖。

都來一點才是美麗的

開源和閉源軟體之間沒有永遠的衝突。微軟曾經是閉源的正義鬥士。如果你是一個老兵,你仍然可以讀到他們之間戰爭的故事。

今天,微軟完全順應自由/開源軟體的潮流。像許多其他公司一樣,他們開發大量的閉源專案的同時參與開源。嘿!這同樣也是諷刺之處。我們喜歡開源的解決方案,如Docker,Golang,Rails。我們又依賴於Slack等閉源的解決方案。

現代企業需要充分擁抱兩個世界。谷歌,Facebook,和Uber是這個開明的做法的成功例子。他們證明可以利用開放原始碼,無需讓你的午餐被偷走了。

聖戰已經結束。開源和閉源的競爭也需要結束。

相關文章