【51CTO.com快译】开源代表的绝不只是放开代码——我们亦需要构建一套支持基础设施,邀请人们加入并作出贡献。为了建立一个充满活力、不断发展且令人兴奋的项目,社区需要让更多人参与到治理、文档编写、代码创建以及结构调整的工作中来。
尽管很多项目打着“开放一切”的旗号,但其基础设施的大门却往往拒绝访问。通常情况下,开源项目只由少数人管理其基础设施并保持正常运作。虽然将王国核心宝库的钥匙交给每一个人并不靠谱,但我们也确实需要对每位参与者给予一定程度的信任。
过去几年以来,Ansible、Chef以及Puppet等基础设施工具开始得到广泛普及。这意味着开源项目基础设施即代码目标完全能够变成现实,即允许每一位贡献者以同样的级别进行访问。
为了保持这一良好势头,我们将共同了解以下几项相关要点:
- 以开放方式制定决策: 使用公共邮件列表讨论并规划基础设施相关事务。在决策过程中,确保每个步骤皆源于社区。具体而言,避免一切由少数人决定的操作方式。
- 将基础设施定义为代码: 使用Ansible、Puppet乃至其它配置管理工具,确保贡献者能够推动基础设施发展。如此一来,开发者及广泛社区能够更为轻松地定义新型任务。
- 定义基础设施所有权: 明确定义基础设施所有权并发布故障后的取证结果。这种透明度有助于提升社区信任度,让参与者们更为积极地作出贡献。
- 明确贡献途径: 定义明确的基础设施贡献途径。正如我的一位朋友所言,“如果需要root访问才能完成日常工作,那这肯定是一项错误。”
不过在开放基础设施的过程中,大家肯定会遇到一些问题。下面来看几项常见问题及其解决办法。
- 必然会改变现状: 在变更基础设施流程时,原有工作机制也将受到影响。团队中可能因此出现一些不满情绪。因此,请确保提前公布计划,以分拨方式实施变更。站在团队一方,积极修复一切对生产力有所影响的因素。
- 需要修复的问题大量出现: 基础设施中总有大量需要修复的问题。请注意,面对这样繁杂无序的状况,***先将其一一记录下来,而非马上着手修复。整个进步过程将相当缓慢,但务必确保效果稳定。最重要的是,不要被这些琐事所淹没。
- 打破常规: 在对流程及基础设施进行大规模变更时,总有些常规会被打破。确保以公开方式对故障进行取证及总结。建立相关计划,避免未来出现类似的错误。
- 工作似乎永无尽头: 实际情况也确实如此——工作就是永无尽头。项目需要对基础设施进行变更,而且绝无“完成”一说。解决了这个问题,还会有下一个问题在等着。
最重要的是,这种开放绝不单纯意味着将基础设施的主导权分发给每位贡献者,亦意味着每个人都可以参与到与之相关的文档与流程改善中来。
原文标题:4 ways to open up your project's infrastructure
原文作者:Nigel Babu
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】