《Docker應該標準化嗎?——其他項目之鑒》要點:
本文介紹了Docker應該標準化嗎?——其他項目之鑒,希望對您有用。如果有疑問,可以聯系我們。
最近已經有了很多關于Docker和標準化的文章.那么,如果采用(比如說來自OCI的)開放式的容器規范,Docker究竟是得是失呢?接下來我們要看看類似的開源項目的一些經驗教訓.簡而言之,關于Docker標準化的爭論如下:Docker目前正在使用自己原生的架構來開發其容器平臺,但是,有些人希望Docker采用開放的,社區定義的標準,例如由開放式容器計劃(OpenContainerInitiative即OCI)定義的標準.
一個開放的標準將有助于確保Docker與第三方容器工具的兼容性,但是它也可能會減緩Docker本身開發的速度,因為潛在的,Docker可能不得不等待其他組織定義標準,然后才能改變自己的技術.在某些方面,標準還可能會削弱Docker在競爭平臺上的競爭優勢.那么,通過采用開放式容器標準,Docker是得到了更多,還是損失了更多呢?這里有一些來自其他大型開源項目的經驗教訓,它們也遇到了同樣的問題.
Linux從一開始就是基于POSIX標準構建的,該標準定義了一個類Unix操作系統應該如何工作.很難想象如果LinusTorvalds(譯者注:Linux創始人)選擇基于自己的想法而不是POSIX來設計內核,Linux能在其發布的頭幾年就獲得巨大的成功.
當然,Linux與Docker不同的是,Linux是在模擬一個在其出現之前已經存在很久的產品Unix,潛在的Linux用戶已經知道他們想要的Linux的外觀和感覺是怎樣的,因為他們希望它是一個免費的Unix實現.相比之下,Docker正在定義應用程序容器可以和應該是什么樣的.
經驗:如果你的開源項目試圖模擬已存在的閉源平臺,那么標準很重要,但如果你正在創造一個全新的平臺,那么標準可能沒有多大關系.Docker屬于第二種.
開源ApacheWeb服務器HTTPD誕生于20世紀90年代中期,它是一組管理員對于一個在國家超級計算應用中心(NationalCenterforSupercomputingApplications)開發的不同的Web服務器的擴展.
HTTPD在萬維網的歷史中出現得很早,當時,關于網頁的標準(例如HTTP標準)應該如何設計和服務尚未完全定義.因此,Apache開發人員可以自由地設計他們的服務器,以任何他們想要的方式工作.換句話說,對于Apache情況,壓根兒沒有真正需要遵循的標準.
經驗:如果沒有標準,你就可以做你想要的,但是,對于Docker而言,標準的確存在.所以,Docker并不能使用Apache的借口(而不去遵循標準).
GNOME是基于Linux的計算機的桌面環境,它是作為另一個桌面環境KDE的替代品而創建的.KDE依賴于由名為TrollTech的公司授權的軟件庫.GNOME開發人員擔心TrollTech可能會停止在GNU/Linux系統上提供庫,使KDE處于停滯.因此,他們將GNOME構建為一個不依賴于任何專有庫的開放平臺.
雖然KDE從來沒有消失,但GNOME發展的很順利.(在此期間,Troll技術問題得到了解決,很久以前KDE就停止了對專有庫的依賴.在今天,它仍然在被廣泛使用.)
經驗:GNOMEvs.TrollTech案例與開放標準的辯論不是一回事.但類似的經驗也適用.GNOME桌面環境的蓬勃發展,主要是因為它承諾了一個開放的KDE替代,不受專有依賴性的影響.人們關心這一點.
LibreOffice及其前身,OpenOffice(LibreOffice實際上是OpenOffice的一個分支,但我不打算詳述這一點)都是文字處理器程序.兩者都提供對MicrosoftOffice的本地文件格式的支持.然而,默認情況下,他們使用開放文檔格式(ODF)來讀取和寫入文件.
這意味著LibreOffice和OpenOffice同時支持專有標準和開放標準.這種方法可能是他們成功的關鍵.就我個人而言,如果不支持MicrosoftOffice格式,我將無法使用LibreOffice.因為,當與只有MicrosoftOffice的人協作時,我需要讀寫那些Office文檔.但我自己使用基于ODF的文檔.
經驗:Docker可以考慮通過支持開放容器標準并同時保留自己的框架來模擬LibreOffice和OpenOffice.提供兩個版本的Docker不是不可能的.這樣,Docker可以為那些關心這個問題(開放標準)的人提供一個符合標準的版本,同時還可以提供一個包含其他附加功能的單獨的Docker版本.
這種方法實際上可以很好地適用于社區和Docker.它一方面允許社區獲得一個基于標準的Docker,同時允許Docker保持其想要的競爭力.
譯/班利波
文章出處:Docker(dockerone)
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4392.html