
dockercon上最大的新聞莫過于solomon hykes宣布moby項目了,這也在網上引發了軒然大波,關切和争論紛至沓來,一些所謂“解讀”也更加讓人困惑。
簡而言之,docker公司決定将軟體産品“docker”和開源項目“docker”區分開來。moby project項目将作為開源項目的新名稱,它包含了一系列公共開源元件,用于組裝專門的容器系統。moby将由開源社群的開發者共同維護。而docker公司會基于moby建構docker社群版(ce)和企業版(ee)等軟體産品。
對于使用docker社群版/企業版的使用者,此次不會有任何的影響。這次變更主要針對docker的原有開源開發流程和基礎元件。
在twitter上,solomon用手繪解釋 project 項目的基本概念
moby是由docker建立的一個開源架構,用來組裝專門的容器系統,而無需開發者重新發明輪子。docker社群版會基于moby建構,而且docker社群版将作為docker企業版的上遊代碼基礎。
moby項目将提供工具可以将标準元件庫像“樂高積木”那樣組裝成定制的容器架構,可以支援各種使用容器的場景,從雲端到iot裝置。一個名為moby origin的參考組裝品,會作為docker容器平台的開源基礎。dockercon上,rolf neugebauer示範了多個例子,其中包括利用moby建構一個os鏡像來在google雲上部署kubernetes。
在solomon的解讀中,moby和docker在邏輯上就像像 fedora 開源項目和 red hat enterprise linux 的關系
然而為什麼這次更名,引發了如此廣泛的争論?
首先,docker公司将限制“docker”名稱的使用範圍,docker作為docker公司的注冊商标,隻能被用于docker的産品(比如社群版、企業版、docker hub、docker store等)。
在我的了解中,docker公司有權利定義“docker”名稱的含義、使用範圍和選擇自己的商業化模式,然而如果此次變更以較為穩妥的方式遷移的話,會減少很多不必要的紛擾和困惑。
從積極的角度上來看,docker公司将繼續推動docker技術的元件化和開放性,從向linux和cncf基金會貢獻runc到containerd,到今天将project moby交給開發者社群主導。一個初創公司已經為容器開源社群做出了衆多貢獻,而且我們可以預見更多有創意的容器應用可以從開放的社群中孕育出來。
在dockercon上,solomon的一個段子引發全場歡笑:docker一直以來在采用“complaint driven” (抱怨驅動)的方式進行開發,docker團隊持續不斷地修複開發者對docker的抱怨,而這個過程将無窮循環下去。期待這次docker團隊能夠聽到開發者的聲音,真正實作建立project moby的願景。
最後還是用官方架構圖再次澄清一下什麼是moby,它和docker産品的關系吧