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