開源英雄:Solomon Hykes 和 Docker 的革命性崛起

Swapnil Bhartiya發表於2017-09-11
Solomon Hykes —— Docker 的創始人,Docker 公司的技術長,從開源中成長,為開源貢獻,對待開源和商業有著非同一般的見解。本文是對 Solomon Hykes 的採訪兼經歷略傳,稱之為開源英雄絲毫不為過,尤其是其顛覆性的開源專案——Docker,改變了整個軟體產業!

技術常有,而顛覆性的技術則很是罕見,然而我們見證了一個時代,Docker 容器技術就是這種徹底改變 IT 形態的技術。那麼我們今天帶給大家的就是 Docker 的創始人,也是 Docker 公司的技術長——Solomon Hykes,他是少數的既能通徹的理解開源開發模式,又能將之轉化為商業途徑的少數技術領導者。

Hykes 看起來法國味不是很濃,但是他確實是在法國長大的。在他還很小的時候,他的父母移民到了法國。Hykes 在還是青澀少年,就開始了自己的程式設計生涯,回顧其高中生活,他的大多數時間都泡在了隔壁的網咖,不過他在網咖是寫一些程式,(這一點似乎和國內的網咖有很大的不同,譯者注)那麼最後的結果就是,Hykes 沒有去大學,而是進入了程式設計學習,接受系統的軟體培訓。

正如我們所預料的,開源的開發環境是 Hykes 的最愛,成為了他日常的一部分,他在開源社群的參與度非常的高,即使之後他創立了公司、也對技術有了創新,依然保持這一習慣!

Hykes 如此說到:

“從我創立 DotCloud 伊始,我們就將很多我們寫的東西開源了,縱觀 DotCloud 的歷史,我們開源十幾個專案,不過最後有一個專案非常的成功,它的名字叫做 Docker,其成為了所有開源專案中最為成功的一個,它是如此的成功,以至於我們後來成立的公司,乾脆就以它的名字為公司名,當然,後來發生的事情就是,它讓我們融入開源世界一發而不可收。”

作為一名開源信徒,Hykes 不斷的將其公司所開發的東西帶到開源的世界。“我們在過去的四年當中,大約陸續開源的有幾十個專案,而且現在仍然在開源中做著很多的工作,這是一個漸進的過程。我要說的是,開源能夠凸顯我,勝於公司本身。”

Hykes 喜歡嘗試新事物,也樂於實現一些新的想法,“如果它能夠正常工作,我就讓它繼續,如果它不能工作,那麼我就會試試其它方法。” Hykes 如此評價自己。在 Docker 公司,人們都稱自己為構建者,“我們都喜歡構建一些新的東西,如果人們覺得有用,我們就多構建一些,如果沒有用,我們就換其它方法,這幾乎就是我們的一種生活方式。”

他深信傳統的開源社群就是此種方式的精神家園,它能夠吸引很多的構建者,那些能夠在社群有貢獻的工作者。

Hykes 是如此總結的:

“那就是你,或者是你的程式碼,無論能否正常工作,又或者人們採用還是不採用,都無關緊要,重要的是間隔和歧義的層次較少。我以為這就是能夠吸引大部分開源貢獻者的原因。我們就是如此遵循此種哲學之道的。”

開源世界

如果說什麼是讓 Hykes 能夠顯得足夠獨特的話,那就是他是創業者和技術愛好者完美的結合。Docker 是在開放原始碼和商業之間取得良好平衡的罕見例子之一。迄今為止,沒有幾家公司能夠做到如此的平衡,然而,Hykes 將 Docker 培育成一家這樣的公司:“從一開始我們的做法就是非常規的,因為我們非常慎重。我對於商業和開源分得很是清楚。”

Hykes 堅信開源的專案和產品猶如一枚硬幣的兩面,“如果僅僅去做開源專案,就是為技術而技術;如果僅僅是做產品,而後臺沒有開源專案協作的話,那麼就無法解決儘可能多的問題,因為沒有那麼多的問題暴露。”

Hykes 的策略就是將二者做融合。他對於傳統意義上的開源 1.0 是持保留意見的,因為開源 1.0 是必須將開源和產品劃出一道界線的。那樣的話就是:一方面是一個無私的社群,一切都是免費的,不食人間煙火的樣子,而另一邊就是萬惡的商業公司。

Hykes 所看到的世界是:人們渴望發明偉大的新事物,解決問題,而且也需要解決實際問題的人。所以 Hykes 將二者有效的結合起來,走過來的一路,邊思考,當然也嘗試了很多,他們已經重新寫了很多的規則。當然,有時候,會引起一些守舊的人反感,但是,要知道這就是世界之所以進步的原因。

Hykes 認為,我們人類社會是不能夠將開源視為慈善而存在的。對於社會最大的益處在於,參與開源可以是創業者、或者是能夠給實際工作帶來好處的人、又或者是從他們的工作中找到資金。

像 Docker 這樣的技術和公司的市場已經成熟了。Hykes 對待開源和業務的正確方法使得 Docker 有了今天的成功。最初,Hykes 是和幾位同事一起——即 dotCloud PaaS 公司——開發了內部的工具 Docker 容器技術。一舉風靡全球,於是在 2013年,乾脆以 Docker 命名新的公司,繼續以開源技術征服世人。

“Docker 的誕生恰逢其時,在正確的時機做的正確的工具,並給予它適當的推動。其實,容器技術遲早都會發生,無論有沒有 Docker。我們所做的遠非一家公司可以做到,當然也不是 Docker 一家公司能夠做的到的,甚至不是任何比 Docker 大得多的某一家公司所能做的到的,因為它是整個技術格局的重大轉變。”

Docker 之所有有這麼多貢獻者的另外一個因素是:Docker 所構建的平臺可以讓任何人都能夠輕鬆的參與和建立專案所需要的內容,而這些人不一定非得是業界精英或專家。Hykes 竭盡所能讓一切變得更加簡單:“讓事情變得簡單從來就不是一件容易的事,我們的獎勵是可以使用和受益於 Docker 的更大的人群。” Hykes 如此說。

Docker 還再次違背了大多數開源技術的傳統智慧,因為過去的這些開源技術往往很難使用。比如管理 Linux 伺服器,沒有兩把刷子還真不好說。

Hykes 也意識到過去的開源世界經常被忽視的一個嚴重問題。開源 1.0 是一個較封閉的圈子,“它通常是一個較小的圈子,人們必須做點什麼去贏得參與,在大多數的時候,並不是很受歡迎新手。” Hykes 遇到過很多人,他們都非常的熱衷於程式設計,喜歡發明新事物,而且還熱愛開源。他們都有被拒絕或拒絕他們試圖參與的開源專案的經驗,這些專案不是為了歡迎新來者或比較初級的人。

是什麼導致 Hykes 創立了 Docker

容器是當下非常流行的技術,無論你走到哪裡都有人們在談論它。Linux 一直以來都擁有容器的技術,但是沒有人像 Hykes 那樣看到容器的潛力。正如人們看到的那樣,Linux 下的容器技術並沒有當下的 Docker 容器那麼的功能齊全,當初,Hykes 開始使用容器技術的時候,是為了構建一些有趣的事情、解決一些有趣的問題。“這就是我當初開始參與容器的地方,從那之後, Linux 開始開發對容器的支援,這讓一切都開始加速進行。” Hykes 如此說到。但是,自從他開始工作在容器之後,他就走在了前列,也創立 Docker——容器技術的先鋒。

回顧創立 Docker 最初的那些時光,他試圖解決的問題是在新的環境下利用容器來構建應用和執行應用程式,這個環境並不僅僅是某一臺計算機,而是很多計算機連線起來組成的叢集,處理分散式的系統是頗為棘手的大問題,Hykes 的初衷則是不僅僅是專家能夠使用,而是任何開發者都可以使用它。

在今天,Hykes 實現了自己的想法,Docker 已經是遍地開花,諸如 Google 也釋出了自己原來內部使用的容器技術來幫助人們使用容器,甚至微軟都在改變其自身的平臺,只為能夠利用容器技術。

Hykes 評價道:

“當然,人們的規劃是希望最大的成功。我們努力的工作以讓 Docker 更加的成功,我們採取了一系列有效的策略,並做對了一些決定,也獲得了很多人的幫助。但是,講實話,Docker 能有今天的成就,如此的被廣泛利用,是我們當初無法想象的。所以,帶來的更多的是驚喜,以及更強的責任感,能夠讓更多的人們開始使用 Docker、信任 Docker,用來構建一些重要的東西。對於我們來說,這是一種更高的要求和期望,我們需要加倍努力工作,竭盡全力以達到人們的期望,滿足人們的要求,以及解決更多的問題。”

轉戰美國

DotCloud 之所以一開始是在法國成立的,是因為 Hykes 認為自己更加的熟悉法國的市場,擁有較熟悉的客戶,有朋友和大學同學,僱人相對也輕車熟路。但是隨著公司的增長,Hykes 開始尋找一些投資人,以擴充自己的公司,他發現找資金還是美國更加的方便,於是他在 2010 年的後半年,將公司遷移到了舊金山的灣區。

Docker 從法國走出,那時還是一個小小的孵化專案,現在已經進化為全球流行的開源產品,正應了那句:“星星之火可以燎原!” 現在有整個業界都在基於容器的思想在行進。今天的 Docker 已經是擁有上百名開發者的員工,而且它還在繼續僱傭,並在成長。

平日裡 Hykes 在公司是如何參與專案的?

Hykes 若有所思:

“在一兩年前,我是非常、非常活躍的。我是專案的主要維護者,稽核很多的補丁,也幫助來自其它不同公司的人成為團隊的維護者,目標是儘可能的委託他們多做一些工作。現在,也就是那段時間的一、兩年之後,這些目標都已經達到,我現在已經在日常中很少參與專案了。我委託給了一個非常強大的團隊來維護,目前來看,他們做的非常的優秀。”

現狀與總結

Docker 從一個單一的專案起家,現在已經發展為龐大的專案,擁有很多的子專案,其中包括:ContainerD、LinuxKit、SwarmKit、以及 Moby,其中每個專案都有特定的功用,但是需要整合在一起才能成為大的平臺。不過值得一說的是,Hykes  針對這些專案的開源策略,均是複製過去 Docker 成功的模式。

現在的 Hykes,正在嘗試遠離專案本身,並探索間接的參與,而不是直接的貢獻。他聚焦於更加重要的問題:滿足客戶所面臨的問題。他想要繼續確保那些擁有有趣想法、擁有天分的和充滿激情的貢獻者能夠被公司和專案所吸引,進而幫助專案繼續前進。

Hykes 最後總結道:“我認為自己更像是一個推動者,教練員的角色多過運動員,這實際上非常的有趣。”

譯者後記

毫不誇張的說,Docker 徹底改變了軟體產業!這點沒有人質疑,其背後的創始人,對於開源和技術都有著深刻的理解。這些想法和原則才是應該值得關注的。這也是 Docker 能夠改變世界的基石,所以稱 Solomon Hykes 為開源英雄或領導者,一點都不為過。

關於作者

SWAPNIL BHARTIYA,是一名記者、作家,已經在 Linux 和開源技術圈混了十多年了。同時,他也是科幻小說作家,並利用播客和印度的廣播、已經印度知名的雜誌上發表。

相關文章