天天看點

開源管理指南:成功開放項目基礎設施的四種方式

開源代表的絕不隻是放開代碼——我們亦需要建構一套支援基礎設施,邀請人們加入并作出貢獻。為了建立一個充滿活力、不斷發展且令人興奮的項目,社群需要讓更多人參與到治理、文檔編寫、代碼建立以及結構調整的工作中來。

盡管很多項目打着“開放一切”的旗号,但其基礎設施的大門卻往往拒絕通路。通常情況下,開源項目隻由少數人管理其基礎設施并保持正常運作。雖然将王國核心寶庫的鑰匙交給每一個人并不靠譜,但我們也确實需要對每位參與者給予一定程度的信任。

過去幾年以來,ansible、chef以及puppet等基礎設施工具開始得到廣泛普及。這意味着開源項目基礎設施即代碼目标完全能夠變成現實,即允許每一位貢獻者以同樣的級别進行通路。

為了保持這一良好勢頭,我們将共同了解以下幾項相關要點:

以開放方式制定決策: 使用公共郵件清單讨論并規劃基礎設施相關事務。在決策過程中,確定每個步驟皆源于社群。具體而言,避免一切由少數人決定的操作方式。

将基礎設施定義為代碼: 使用ansible、puppet乃至其它配置管理工具,確定貢獻者能夠推動基礎設施發展。如此一來,開發者及廣泛社群能夠更為輕松地定義新型任務。

定義基礎設施所有權: 明确定義基礎設施所有權并釋出故障後的驗證結果。這種透明度有助于提升社群信任度,讓參與者們更為積極地作出貢獻。

明确貢獻途徑: 定義明确的基礎設施貢獻途徑。正如我的一位朋友所言,“如果需要root通路才能完成日常工作,那這肯定是一項錯誤。”

不過在開放基礎設施的過程中,大家肯定會遇到一些問題。下面來看幾項常見問題及其解決辦法。

必然會改變現狀: 在變更基礎設施流程時,原有工作機制也将受到影響。團隊中可能是以出現一些不滿情緒。是以,請確定提前公布計劃,以分撥方式實施變更。站在團隊一方,積極修複一切對生産力有所影響的因素。

需要修複的問題大量出現: 基礎設施中總有大量需要修複的問題。請注意,面對這樣繁雜無序的狀況,最好先将其一一記錄下來,而非馬上着手修複。整個進步過程将相當緩慢,但務必確定效果穩定。最重要的是,不要被這些瑣事所淹沒。

打破正常: 在對流程及基礎設施進行大規模變更時,總有些正常會被打破。確定以公開方式對故障進行驗證及總結。建立相關計劃,避免未來出現類似的錯誤。

工作似乎永無盡頭: 實際情況也确實如此——工作就是永無盡頭。項目需要對基礎設施進行變更,而且絕無“完成”一說。解決了這個問題,還會有下一個問題在等着。

最重要的是,這種開放絕不單純意味着将基礎設施的主導權分發給每位貢獻者,亦意味着每個人都可以參與到與之相關的文檔與流程改善中來。

本文轉自d1net(轉載)

繼續閱讀