Linux 是如何成功運作的

Matt Asay發表於2017-11-07

Linux 是如何成功運作的

在大量金錢與圍繞 Linux 激烈爭奪的公司之間,真正給作業系統帶來活力的正是那些開發者。

事實證明上,Linux 社群是可行的,因為它本身無需太過擔心社群的正常運作。儘管 Linux 已經在超級計算機、移動裝置和雲端計算等多個領域佔據了主導的地位,但 Linux 核心開發人員更多的是關注於程式碼本身,而不是其所在公司的利益。

這是一個出現在 Dawn Foster 博士研究 Linux 核心協作開發的博士論文中的重要結論。Foster 是在英特爾公司和木偶實驗室Puppet Labs的前任社群領導人,他寫到,“很多人首先把自己看作是 Linux 核心開發者,其次才是作為一名僱員。”

隨著大量的“基金洗劫型foundation washing”公司開始侵蝕各種開源專案,意圖在虛構的社群面具之下隱藏企業特權,但 Linux 依然設法保持了自身的純粹。問題是這是怎麼做到的?

跟隨金錢的腳步

畢竟,如果有任何開源專案會進入到企業貪婪的視線中,那它一定是 Linux。早在 2008 年,Linux 生態系統的估值已經達到了最高 250 億美元。最近 10 年,伴隨著數量眾多的雲服務、移動端,以及大資料基礎設施對於 Linux 的依賴,這一資料一定倍增了。甚至在像 Oracle 這樣單獨一個公司裡,Linux 也能提供數十億美元的價值。

那麼就難怪有這樣一個透過程式碼來影響 Linux 發展方向的必爭之地。

Linux 基金會的最新報導中,讓我們看看在過去一年中那些最活躍的 Linux 貢獻者,以及他們所在的企業“海龜”一樣高高疊起。

linux companies

這些企業花費大量的資金來僱傭開發者去為自由軟體做貢獻,並且每個企業都從這些投資中得到了回報。由於存在企業對 Linux 過度影響的潛在可能,導致一些人對引領 Linux 開發的 Linux 基金會表示不滿。在像微軟這樣曾經的開源界宿敵的企業揮舞著鈔票進入 Linux 基金會之後,這些批評言論正變得越來越響亮。

但這只是一位虛假的敵人,坦率地說,這是一個以前的敵人。

雖然企業為了利益而給 Linux 基金會投入資金已經是事實,不過這些贊助並不能收買基金會而影響到程式碼。在這個最偉大的開源社群中,金錢可以幫助招募到開發者,但這些開發者相比關注企業而更專注於程式碼。就像 Linux 基金會執行董事 Jim Zemlin 所強調的

“我們的專案中技術角色都是獨立於企業的。沒有人會在其提交的內容上標記他們的企業身份: 在 Linux 基金會的專案當中有關程式碼的討論是最大聲的。在我們的專案中,開發者可以從一個公司跳槽到另一個公司而不會改變他們在專案中所扮演的角色。之後企業或政府採用了這些程式碼而創造的價值,反過來又投資到專案上。這樣的良性迴圈有益於所有人,並且也是我們的專案目標。”

任何讀過 Linus Torvalds 的 的郵件列表評論的人都不可能認為他是個代表著這個或那個公司的人。這對於其他的傑出貢獻者來說也是一樣的。雖然他們幾乎都是被大公司所僱傭,但是一般情況下,這些公司為這些開發者支付薪水讓他們去做想做的開發,而且事實上,他們正在做他們想做的。

畢竟,很少有公司會有足夠的耐心或承受風險來為資助一群新手 Linux 核心開發者,並等上幾年,等他們中出現幾個人可以貢獻出質量足以打動核心團隊的程式碼。所以他們選擇僱傭已有的、值得信賴的開發者。正如 2016 Linux 基金會報告所寫的,“無薪開發者的數量正在持續地緩慢下降,同時 Linux 核心開發被證明是一種僱主們所需要的日益有價值的技能,這確保了有經驗的核心開發者不會長期停留在無薪階段。”

然而,這樣的信任是程式碼所帶來的,並不是透過企業的金錢。因此沒有一個 Linux 核心開發者會為眼前的金錢而丟掉他們已經積攢的信任,當出現新的利益衝突時妥協程式碼質量就很快失去信任。因此不存在這種問題。

不是康巴亞,就是權利的遊戲,非此即彼

最終,Linux 核心開發就是一種身份認同, Foster 的研究是這樣認為的。

為 Google 工作也許很棒,而且也許帶有一個體面的頭銜以及免費的乾洗。然而,作為一個關鍵的 Linux 核心子系統的維護人員,很難得到任意數量的公司承諾高薪酬的僱傭機會。

Foster 這樣寫到,“他們甚至享受當前的工作並且覺得他們的僱主不錯,許多(Linux 核心開發者)傾向於尋找一些臨時的工作關係,那樣他們作為核心開發者的身份更被視作固定工作,而且更加重要。”

由於作為一名 Linux 開發者的身份優先,企業職員的身份次之,Linux 核心開發者甚至可以輕鬆地與其僱主的競爭對手合作。之所以這樣,是因為僱主們最終只能有限制地控制開發者的工作,原因如上所述。Foster 深入研究了這一問題:

“儘管企業對其僱員所貢獻的領域產生了一些影響,在他們如何去完成工作這點上,僱員還是很自由的。許多人在日常工作中幾乎沒有接受任何指令,來自僱主的高度信任對工作是非常有幫助的。然而,他們偶爾會被要求做一些特定的零碎工作或者是在一個對公司重要的特定領域投入興趣。

許多核心開發者也與他們的競爭者展開日常的基礎協作,在這裡他們僅作為個人相互交流,而不需要關心僱主之間的競爭。這是我在 Intel 工作時經常見到的一幕,因為我們核心開發者幾乎都是與我們主要的競爭對手一同工作的。”

那些公司可能會在執行 Linux 的晶片上、或 Linux 發行版,亦或者是被其他健壯的作業系統支援的軟體上產生競爭,但開發者們主要專注於一件事情:使 Linux 越來越好。同樣,這是因為他們的身份與 Linux 維繫在一起,而不是編碼時所在防火牆(指公司)。

Foster 透過 USB 子系統的郵件列表(在 2013 年到 2015 年之間)說明了這種相互作用,用深色線條描繪了公司之間更多的電子郵件互動:

linux kernel

在價格討論中一些公司明顯的來往可能會引起反壟斷機構的注意,但在 Linux 大陸中,這只是簡單的商業行為。結果導致為所有各方在自由市場相互競爭中得到一個更好的作業系統。

尋找合適的平衡

這樣的“合作”,如 Novell 公司的創始人 Ray Noorda 所說的那樣,存在於最佳的開源社群裡,但只有在真正的社群裡才存在。這很難做到,舉個例子,對一個由單一供應商所主導的專案來說,實現正確的合作關係很困難。由 Google 發起的 Kubernetes 表明這是可能的,但其它像是 Docker 這樣的專案卻在為同樣的目標而掙扎,很大一部分原因是他們一直不願放棄對自己專案的技術領導。

也許 Kubernetes 能夠工作的很好是因為 Google 並不覺得必須佔據重要地位,而且事實上,它希望其他公司擔負起開發領導的職責。憑藉出色的程式碼解決了一個重要的行業需求,像 Kubernetes 這樣的專案就能獲得成功,只要 Google 既能幫助它,又為它開闢出一條道路,這就鼓勵了 Red Hat 及其它公司做出傑出的貢獻。

不過,Kubernetes 是個例外,就像 Linux 曾經那樣。成功是因為企業的貪婪,有許多要考慮的,並且要在之間獲取平衡。如果一個專案僅僅被公司自己的利益所控制,常常會在公司的技術管理上體現出來,而且再怎麼開源許可也無法對企業產生影響。

簡而言之,Linux 的成功運作是因為眾多企業都想要控制它但卻難以做到,由於其在工業中的重要性,使得開發者和構建人員更願意作為一名 Linux 開發者 而不是 Red Hat (或 Intel 亦或 Oracle … )工程師。


via: https://www.datamation.com/open-source/why-linux-works.html

作者:Matt Asay 譯者:softpaopao 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章