"軟件正在吞沒整個世界"的說法最先見于2011年。2015年,開源軟件替代了這個位置。
“如果這個理論推開來,軟件吞沒世界,那么開源軟件將取代之,對嗎?”2015年初福布斯還不確定地試探道。 但到年底他們就非常自信地發(fā)文“開源軟件確實正在吞沒整個世界”。
這不是一個聲音發(fā)起的運動?!哆B線》發(fā)表文章如,今年開源軟件如火如荼。充滿了引用,如:“這不僅僅是一個轉(zhuǎn)折點,更是一個引爆點,”GitHub 帶頭大哥 Brandon Keepers 說。
這也多次出現(xiàn)在各類會議中,如 Defrag2015 之類。我參加了一個題為“開放平臺和策略——為什么你應(yīng)該開放平臺”的演講。在那里我聽到很多強大的猜想,例如:在大約五年內(nèi)大部分產(chǎn)品將在 GitHub 之類的開放平臺上開放源碼。
開源軟件會霸占這個世界嗎?將來所有的許可證都會是 GPL,MIT,Apache 之類的嗎?當然不是。Linux,網(wǎng)景和 Apache httpd 都在開源基金會里等了很長時間了。
如果是這樣的話,為什么2015年會有如此涌動的激情?
git commit -m "改變了什么"
預測未來是徒勞的。這一點,Philip Tetlock 通過實驗研究證明那些專家“大約和扔飛鏢的黑猩猩一樣準確”。
因此,預測了解自由/開源軟件的未來可能會使我們誤入歧途,讓我們看看現(xiàn)在正在發(fā)生些什么。我的論點是,開源和閉源一直是一種互補的關(guān)系。我們現(xiàn)在看到的趨勢在很大程度上是從開放與封閉的圣戰(zhàn)里走出來的贏者。
混合的組織方式是主流
開源軟件是主流。蘋果可以說是最封閉的公司,開源了 Swift。微軟開源了 Visual Studio、.Net 和最近他們的 JavaScript 引擎 Chakra。谷歌、Facebook、甚至 NSA 也將其項目通過 GitHub 托管并開放源碼。
然而,許多這樣的組織也從根本上閉源。為什么會混合起來搭配呢?Joel Spoelsky 給了我們一個解釋,他在2002年關(guān)于互補市場的論文中說到:
”當一個產(chǎn)品的互補品的價格下降,它的需求就會增加。一般來說,一個公司的戰(zhàn)略利益是讓他們互補產(chǎn)品價格盡可能低。”
比免費更好是什么?Sun Microsystems 放開 Java,因為他們的主營業(yè)務(wù)是銷售服務(wù)器。你在構(gòu)建一個很酷的 Java 應(yīng)用程序后需要什么?當然是要一個在服務(wù)器上運行它。
抽象表達主義
我們的朋友 Joel 也在最近的一條 a16z 播客上表達了開源的其他好處:
“我們現(xiàn)在編碼的系統(tǒng)比過去復雜一百萬倍。(……)今天只用一行代碼,你可能會完成接受和處理信用卡。(……)作為程序員,我們的力量更強大了。”
軟件占領(lǐng)的領(lǐng)域越大,這個世界就會變得更加互相通聯(lián)。開發(fā)也會變得更加復雜。自由/開源軟件是一個開啟所有的復雜性的方式。
如果我們相信隨著時間的推移熵不斷增加,那么我們可以做出這樣一個預測,如果開源能有效減緩熵增加,那開源的采用率將隨著熵的增加而增長。
值得注意的是,這個模型中 Twilio、STripe、和他們的弟兄是一個明顯的問題。他們關(guān)閉了 SaaS 產(chǎn)品,也做了大量消除復雜性的工作。問題是,很難在多個方面說明開放和封閉的解決方案哪個是“勝者”。
急需急需 HIPAA(簡化方案)
Stripe,Twilio 和其他類似的公司都推動開源,但是所有上述公司都提供區(qū)別于開源的閉源服務(wù)。這是為什么?
閉源服務(wù)提供類似與 PCI 標準的服務(wù),不用調(diào)用注冊,HIPAA 甚至提供易學好記得功能,你只需關(guān)注自身業(yè)務(wù)邏輯。現(xiàn)在越來越多的公司愿意支付費用使用閉源服務(wù),從而減少負擔,避免讓人頭痛的集成問題。
我堅信這種情況不會改變。以閉源服務(wù)提供的優(yōu)秀封裝為依托,將會更好的實現(xiàn)自身公司業(yè)務(wù)。隱藏瑣碎細節(jié),提供實用功能。閉源服務(wù)善于化繁為簡。
FOSS 支持者被替換為中立者
開源是成熟,這是個謬論. 經(jīng)??吹饺缦滦?ldquo;再也不會有下一個紅帽(Ret hat)”。a16z的 Peter Levine 說的如果開源是一個商業(yè)選項,它通常不是市場上最有效的方案。
收入很重要. 任何產(chǎn)品都需要支撐. 它(某開源軟件)是否會繼續(xù)開發(fā)和維護?Satirical Twitter 擔憂道:
“我認為一些 JavaScript 框架的存活時間還不如一瓶牛奶”
同樣,F(xiàn)OSS 的主要原則正在產(chǎn)生問題。記得心臟滴血問題嗎(HeartBleed)? Jeff Atwood 肯定記得。他利用該問題反駁:
林納斯定律(Linus’ Law 是計算機軟件開發(fā)者熟悉的開發(fā)測試定律之一),該定律被強制放入到 Cathedral and the Bazaar(該書介紹了開源軟件的模型)中。
李納斯定律說,“只要看足夠長時間,所有的Bug都會被發(fā)現(xiàn)“。換句話說,開源軟件不應(yīng)該有災(zāi)難性的 Bug。因為有足夠的人公開審查代碼,只有些小 Bug 可能會溜過去。
阿特伍德回應(yīng)說:
然而,Heartbleed SSL 脆弱性是李納斯定律的一個轉(zhuǎn)折點,這是一個開源軟件的嚴重錯誤導致的災(zāi)難性的漏洞。災(zāi)難性有多大呢?它影響了大約18%的世界上所有 HTTPS 網(wǎng)站,并允許攻擊者查看所有這些網(wǎng)站的流量,還未加密…而且已經(jīng)兩年了。
哎喲!阿特伍德的當前企業(yè) Discourse.org 是一個100%開源的產(chǎn)品。他顯然對自由/開源軟件很有信心。它只是受到了一個現(xiàn)實的世界的磨練而已。
易用性
GitHub 是開源的港灣。在它上面,寫作和共享代碼變得容易得多。業(yè)余愛好者能夠提高文檔,即使他們不能代碼。通過 Pull request 專家很容易分享和指導。
分布式版本管理系統(tǒng)(git)取代集中式版本管理系統(tǒng)(svn)對自由/開源軟件有如此大的影響,這是一件很詩意的事情。你想解決一個問題嗎?先去看看 GitHub 上有沒有解決方案。
任何理智的商業(yè)都會愚蠢的忽略開源。但是,GitHub 如何賺錢?通過出售私人存儲庫。其中大量都是閉源的。甚至 GitHub 也是在這個游戲中。
未來不是一個純粹的開源仙境。而是一個將開源和閉源結(jié)合起來的拼綴圖。
都來一點才是美麗的
開源和閉源軟件之間沒有永遠的沖突。微軟曾經(jīng)是閉源的正義斗士。如果你是一個老兵,你仍然可以讀到他們之間戰(zhàn)爭的故事。
今天,微軟完全順應(yīng)自由/開源軟件的潮流。像許多其他公司一樣,他們開發(fā)大量的閉源項目的同時參與開源。嘿!這同樣也是諷刺之處。我們喜歡開源的解決方案,如 Docker,Golang,Rails。我們又依賴于 Slack 等閉源的解決方案。
現(xiàn)代企業(yè)需要充分擁抱兩個世界。谷歌,F(xiàn)acebook,和 Uber 是這個開明的做法的成功例子。他們證明可以利用開放源碼,無需讓你的午餐被偷走了。
圣戰(zhàn)已經(jīng)結(jié)束。開源和閉源的競爭也需要結(jié)束。