1. 程式人生 > >Docker社群核心成員Doug Davis分享為社群貢獻程式碼的技巧

Docker社群核心成員Doug Davis分享為社群貢獻程式碼的技巧

作為Docker社群的核心成員,同時也是IBM開源,雲端計算專家Doug Davis一直致力於領導IBM團隊為Docker專案作出開源貢獻,還代表公司參與了Linux基金會新設立的OCI和CNCF專案。在IBM Linux on Power生態聯盟開發者大會召開前夕,Doug Davis接受了CSDN記者的專訪。在專訪中,他為我們介紹了Docker社群目前的情況,以及Docker和Linux on Power的結合會給開發者帶來哪些好處,最後他還為Docker社群貢獻程式碼的開發者給出了建議。

以下是採訪實錄:

CSDN:首先介紹下自己,您是什麼時候開始關注 Docker 的?

Doug Davis:我是 Doug Davis,在 IBM 雲端計算部門從事多年的技術支援,主要是開源與標準方面的事務。我一直為一些組織比如:W3C、OASIS 和 Apache 開展開源與標準方面的工作,至今已經有15年的歷史了。大概一年前,我開始著手研究 Docker,是 IBM 首批選出的該專案維護人員。從那以後,我一直領導 IBM 相關團隊為 Docker 專案作出開源貢獻,還代表公司參與了 Linux 基金會新設立的 OCI 和 CNCF 專案。

CSDN:Docker 最吸引您的地方有哪些?

Doug Davis:

易用性。容器已經存在很長一段時間了,但直到 Docker 問世,容器才真正變得容易被普通人獲取。Docker 社群花了很多時間,確保其易安裝、易使用。一條命令即可完成安裝,一個命令即可實現“hello world”示例。也正是這種易用性,將其整合進我現有的持續整合管線中是一件輕而易舉的事性,並很容易與其它 Linux 標準命令相匹配。

CSDN:目前的 Docker 社群情況如何,能和大家詳細談談嗎?

Doug Davis:Docker 社群是我所參與的開源社會中比較開放並熱情的開源社群。在很多專案中,除非你是資深開發人員,否則你所提議的更改或問題很難得到理會。而在 Docker,他們專門提攜新人,解決社群提出的問題與建議。和一開始由一家公司控制的很多開源專案一樣,外界也會對此產生一定程度的擔心,但是 Docker 將更多的工作開放給新設立的 OCI 和 CNCF 基金會,我認為這種更開放的管理模式會減輕一部分擔心。

CSDN:您認為Docker的核心到底是什麼?

Doug Davis:容器管理使得事半功倍。Docker 的核心就是要讓使用者花最少的力氣建立、管理容器。另外,他們還注重效能,因此能更好的利用託管環境中的資源,允許執行更多容器,並迅速啟動。

CSDN:您認為企業在使用Docker過程中,最大的困難是什麼?

Doug Davis:可能更多是對安全的擔心。同任何新技術一樣,都會存在不確定性,導致人們擔心不安全——直到其安全性得到證明。因此,Docker 存在一些安全問題,這些問題也正在得到解決,不過真正的挑戰是要讓人們從安全形度順理成章地接受這種技術。

CSDN:從您的角度出發,認為Docker目前最需要解決的挑戰有哪些?有好的解決辦法嗎?

Doug Davis:首先一點就是我剛才提到的安全問題,不過社群正在解決。有些工作應該很快就會完成,到時會對此有所幫助。其次,也是我剛才提到過的,就是管理模式。今天,Docker 很大程度上還是由一家公司控制,希望隨著時間推移,更多 Docker 特性加入新專案/基金會,未來會看到社群在決定 Docker 事務方面起到更大作用。

CSDN:談談您在這次IBM大會上分享的主題吧?

Doug Davis:我所講的主題有關於 Docker 歷史、Docker 為何如此特別、為何如此受歡迎、在將 Docker 帶到 Power 平臺過程中我們做了哪些工作。

CSDN:您覺得Docker和Linux on Power的結合,會給開發者帶來哪些好處?

Doug Davis:首先,需要說明的是,從使用者互動角度講,Docker 在 Power 平臺和在其它任何平臺執行沒有分別。客戶應該能夠利用現有工具使用 Docker,而無需因為平臺特殊而要作出改變。其次,從效能方面來講,這也意味著使用 Docker on Power 的優勢。IBM 為優化 Docker on Power 做了大量工作,容量增加(更多容器/主機),提升速度/效能,因為有了比其它平臺更多的儲存頻寬及更大快取。

CSDN:對於IBM Linux on Power生態聯盟的成立,您覺得會給開源社群和開源技術帶來哪些改變?

Doug Davis:我認為一旦 OCI 和 CNCF 專案真正開始樹立起自身地位,未來會看到更開放的管理模式。這也使得專案更安全、可具有長期穩定性,因為這不再僅僅是一家公司的計劃或成功。

CSDN: 在為Docker社群貢獻程式碼等方面,您有什麼經驗分享給大家?

Doug Davis:一年前我開始為社群貢獻程式碼。IBM 在加入開源專案時不會大張旗鼓。按照IBM的規模,它加入某一專案的想法會嚇到一些人—— 如果我們一大群人猛然出現在一個專案中,並提出大量建議,很可能不會受到積極對待。相反,我們希望默默地加入,解決積壓的未決問題。檢視社群其他人的痛點。基本上是顯示我們而不是IBM在為社群服務。隨著時間推移,我們肯定會按 IBM 的需要對程式碼更改作出提議,因為我們會在產品方案中整合程式碼,不過在此之前,我們會學習社群如何運轉、喜好/反感什麼、採用某些特性的指導、最重要的是我們成為整個團隊中的一分子,贏得他們的信任。以 Docker 為例,社群對我們持歡迎態度,我們目前有兩名核心貢獻者及一個開發小組,專門從事 Docker 方面的工作。

CSDN:給希望從事開源學習以及Docker開發的工程師們一些建議吧?

Doug Davis:正如我在之前問題中提到的一樣,從小做起。先從簡單問題入手。檔案更改是瞭解一個專案、為社群作貢獻的好辦法,因為這將使新人更容易入門。然後看一下社群積壓的問題。幫助他們解決這些問題,這樣社群才有時間精力開發新特性、修正錯誤,使社群成員開心。最後,當你確實想要建議新特性時,尋求以增循序漸進的方式進行。小的變化更容易得到接受。

轉載自CSDN社群,作者:魏偉。