我們為什麼需要開源?(上)
1 人贊了文章
「開源席捲了整個世界。」
開源是一場戰爭
對我來說,第一次發現Linux是一種神聖的體驗。
它像一束光照在我面前。我知道我看到的是一種全新的、與眾不同的、激進的、奇妙的,甚至是危險的東西。
危險,因為它擁有顛覆整個軟體生態系統的力量。
最重要的是,我想成為它的一部分。因為我想改變世界。
它確實改變了世界。
現在回想起來,一切似乎都是順其自然。
但並不完全順其自然。
開源曾經是一場戰爭。
一位面試官曾經告訴我,Linux這個東西太瘋狂了,我應該學習Solaris,因為需要懂Solaris的人數是Linux的一千倍。
我告訴他:「你瘋了,十年後Solaris就會消失了。」
他像看怪物一樣看著我。
那是史蒂夫·鮑爾默(微軟公司前首席執行官兼總裁)把Linux稱為「癌症」的時代。
但,時代已經變了。
20年後,就連鮑爾默也知道自己大錯特錯了。
開源席捲了整個世界。
從網路的後端、世界上最強大的超級計算機到手機,再到最前沿的人工智慧應用,Linux無所不包。
如今,開放源碼是默認的做法。每一項重要技術都是從開源開始的,無論是雲技術、人工智慧技術還是移動技術。
如果你還年輕,剛開始接觸技術,你會覺得開源就像一棵樹或一條河,理所當然地存在。你從沒有想過不開源的世界是什麼樣的。你會認為,跨國界的GitHub和開發團隊是準則,而不是例外。
今年6月初,微軟宣布通過75億美元的股票交易收購GitHub。
如果你小時候用的是Slashot,當時的Reddit還只是兩個大學生腦中的閃現的靈光,而這個靈光後來衝擊了整個生態系統。
過去,微軟在SLASDO上的標準圖標是比爾·蓋茨,他的眼睛是博格人(《星際迷航》虛構的一個宇宙種族,星際迷航系列中最大的反派)的眼睛。微軟是開源的暗物質。
微軟當時的理念是「擁抱、延伸和消滅」。他們會把所有開源項目悄無聲息地變成微軟的專有擴展,這是一種陰險的破壞和利用開源的方式。和博格人一樣,他們的目標是將其完全同化,用專有的病毒接管一切,從內部感染並完全控制它。
到了今天,微軟已經公開接受其他操作系統,他們已經從「到處都是Windows」轉移到遊戲、人工智慧和公共雲,和其他系統和諧共處。現在甚至可以在Windows上安裝Linux子系統。
變化翻天覆地。
但是開源戰爭不但沒有結束,而是剛剛開始。
今天,戰爭中出現了一個新的戰線,這是我從未預料到的。它將使專有軟體和開放軟體之間的戰爭看起來像一場核武器與棍棒石頭的戰爭。
一切都危如累卵。
「開源是一種生活方式」
開源遠不止是下載和修改源代碼。
這是一種存在的方式,一種看待世界的方式。
但是,我們還是從代碼開始說起吧。
早期的問題是:封閉代碼好還是開放代碼好?
那些斥巨資建立了專有帝國的公司,我們會摧毀他們的競爭優勢嗎?除了克隆多年研發支持的那些封閉堆棧外,開源能創造出的任何東西嗎?或者說,他們註定只會製造廉價的仿製品嗎?
就像一個新興經濟體剛開始生產低技能產品,但後來發展成為最先進的產品一樣,創新需要很長時間才能開源。
在早期,開源就像20世紀六七十年代的日本。「日本製造」的意思是便宜。但到了80年代和90年代,日本躍升到了一個新的水平,發展出了自己的殺手公司。很快,他們就製造出了世界上最令人夢寐以求的東西,從汽車到電視,再到音樂播放器。
開源也是如此。在90年代早期,開源意味著廉價。唯一的賣點是它以犧牲大量功能為代價來降低成本。在那個時候,幾乎所有的研究和開發都是從封閉資源開始的。大公司花費數十億美元讓他們的想法落地,從網路伺服器到資料庫再到分析引擎。
但是隨著時間的推移,開源變得越來越複雜。Linux幫助建立和推廣了大規模、分散式、開放的開發模式。很快,成千上萬的項目問世。佔主導地位的Web伺服器從Netscape的Enterprise伺服器和Microsoft的IIS轉到Apache Web伺服器。
然後一件有趣的事發生了。項目開始時是開放的,而不是封閉的。
在此過程中,公司發現資源共享更有效。
而且是有效多了。
他們不能僱傭所有他們需要的人來開發軟體。即使他們願意,那也是數以百萬計條代碼。他們需要更多尖端程序員來發展更廣闊的生態系統。而那些尖端的程序員不可能被收買或欺壓,因為他們有資本可以在任何想去的地方工作。
取而代之的是,各公司之間像朋友一樣,在開放的環境中開發動態核心,共享代碼並在此基礎上進行開發。
公司可能會將專有框架放在開源代碼之上,但越來越多的公司會讓位於純粹的開源模型。在過去幾年中,許多大公司使用OpenStack(一個由NAS和Rackspace合作研發並發起的,以Apache許可證授權的自由軟體和開放源代碼項目)。附加組件主要是更清晰的介面、更複雜的安裝程序、升級和監控。他們利用了OpenStack早期混亂的開發模式。
起初,這些靈活的介面和安裝程序似乎比龐大且難以配置的雲平台更有優勢,它們有著更好、更快的部署、更強的網路和更漂亮的界面。
然而,他們卻一個接一個地失敗了,因為他們跟不上底層堆棧的變化,而底層堆棧是由世界各地數以萬計的程序員組成的團隊構建的。他們最終不得不凍結對舊版本的開發,集中火力處理在新版本中長期存在的bug。
開源模式一開始是緩慢的,而且是斷斷續續的,因為是一群人遠程相互妥協、共同工作,但最終他們肯定會贏得勝利。他們像大海一樣,把石頭磨成沙子。沒有任何一塊石頭能抵擋住浩瀚大海的強大力量。
正如丘吉爾所說:「民主是最糟糕的政府形式,只不過所有其他的形式都已經屢次試過了。」這也是社會成長和變化的方式。
我們發展成為一個社會,慢慢開放自己,改變舊的、過時的結構和思想,代之以開放的框架,允許有人在邊緣而不是中心進行更多的創新。
這就是我們今天的現狀。在這場戰爭中,開源贏了。
至少我們是這麼想的。
由於文章篇幅較長,為了更好的閱讀體驗,我們將分為上下兩篇為大家呈現。敬請期待下篇~
本文作者為Unitimes特約作者:Daniel Jeffries
翻譯:Xiaoqing
原文鏈接:
https://hackernoon.com/why-we-need-open-source-now-more-than-ever-bbf9496b35bb
【文章版權歸原作者所有,其內容與觀點不代表Unitimes立 場。翻譯文章僅為傳播更有價值的信息,合作或授權聯繫請發郵件至 contact@unitimes.media或添加微信unitimes2017】
推薦閱讀:
※代碼分析 | EosToken錢包項目後台開源詳解
※轉載 | 上汽集團雲計算中心的開源之路
※從邊緣計算到車載,英特爾在追求完美開源
※重溫 wallabag:Instapaper 的開源替代品
※開源盛會 HBasecon Asia 8月在京舉行