開源管理指南:成功開放項目基礎(chǔ)設(shè)施的四種方式
譯文【51CTO.com快譯】開源代表的絕不只是放開代碼——我們亦需要構(gòu)建一套支持基礎(chǔ)設(shè)施,邀請人們加入并作出貢獻。為了建立一個充滿活力、不斷發(fā)展且令人興奮的項目,社區(qū)需要讓更多人參與到治理、文檔編寫、代碼創(chuàng)建以及結(jié)構(gòu)調(diào)整的工作中來。
盡管很多項目打著“開放一切”的旗號,但其基礎(chǔ)設(shè)施的大門卻往往拒絕訪問。通常情況下,開源項目只由少數(shù)人管理其基礎(chǔ)設(shè)施并保持正常運作。雖然將王國核心寶庫的鑰匙交給每一個人并不靠譜,但我們也確實需要對每位參與者給予一定程度的信任。
過去幾年以來,Ansible、Chef以及Puppet等基礎(chǔ)設(shè)施工具開始得到廣泛普及。這意味著開源項目基礎(chǔ)設(shè)施即代碼目標完全能夠變成現(xiàn)實,即允許每一位貢獻者以同樣的級別進行訪問。
為了保持這一良好勢頭,我們將共同了解以下幾項相關(guān)要點:
- 以開放方式制定決策: 使用公共郵件列表討論并規(guī)劃基礎(chǔ)設(shè)施相關(guān)事務(wù)。在決策過程中,確保每個步驟皆源于社區(qū)。具體而言,避免一切由少數(shù)人決定的操作方式。
- 將基礎(chǔ)設(shè)施定義為代碼: 使用Ansible、Puppet乃至其它配置管理工具,確保貢獻者能夠推動基礎(chǔ)設(shè)施發(fā)展。如此一來,開發(fā)者及廣泛社區(qū)能夠更為輕松地定義新型任務(wù)。
- 定義基礎(chǔ)設(shè)施所有權(quán): 明確定義基礎(chǔ)設(shè)施所有權(quán)并發(fā)布故障后的取證結(jié)果。這種透明度有助于提升社區(qū)信任度,讓參與者們更為積極地作出貢獻。
- 明確貢獻途徑: 定義明確的基礎(chǔ)設(shè)施貢獻途徑。正如我的一位朋友所言,“如果需要root訪問才能完成日常工作,那這肯定是一項錯誤。”
不過在開放基礎(chǔ)設(shè)施的過程中,大家肯定會遇到一些問題。下面來看幾項常見問題及其解決辦法。
- 必然會改變現(xiàn)狀: 在變更基礎(chǔ)設(shè)施流程時,原有工作機制也將受到影響。團隊中可能因此出現(xiàn)一些不滿情緒。因此,請確保提前公布計劃,以分撥方式實施變更。站在團隊一方,積極修復(fù)一切對生產(chǎn)力有所影響的因素。
- 需要修復(fù)的問題大量出現(xiàn): 基礎(chǔ)設(shè)施中總有大量需要修復(fù)的問題。請注意,面對這樣繁雜無序的狀況,***先將其一一記錄下來,而非馬上著手修復(fù)。整個進步過程將相當(dāng)緩慢,但務(wù)必確保效果穩(wěn)定。最重要的是,不要被這些瑣事所淹沒。
- 打破常規(guī): 在對流程及基礎(chǔ)設(shè)施進行大規(guī)模變更時,總有些常規(guī)會被打破。確保以公開方式對故障進行取證及總結(jié)。建立相關(guān)計劃,避免未來出現(xiàn)類似的錯誤。
- 工作似乎永無盡頭: 實際情況也確實如此——工作就是永無盡頭。項目需要對基礎(chǔ)設(shè)施進行變更,而且絕無“完成”一說。解決了這個問題,還會有下一個問題在等著。
最重要的是,這種開放絕不單純意味著將基礎(chǔ)設(shè)施的主導(dǎo)權(quán)分發(fā)給每位貢獻者,亦意味著每個人都可以參與到與之相關(guān)的文檔與流程改善中來。
原文標題:4 ways to open up your project's infrastructure
原文作者:Nigel Babu
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】