一个 Puppet 模块可能只有大约 500 行代码和一些测试,但这并不意味着维护起来毫不费力。Puppet 模块应该在一系列操作系统上运行,并支持一系列 Puppet 版本(以及因此,Ruby 版本)——这本身就使其相当具有挑战性。
因此,虽然一个人可以轻松编写一个 Puppet 模块,但当这个人病了、换工作或只是失去兴趣时会发生什么?
三年前,我们处于这样一种情况,许多“标准”模块实际上由于这些原因无人维护。对 Puppet Land 的现状不满,并且作为老派开源叛逆者, Daenney 和 我 发起了 Vox Pupuli,以赋予 Puppet 社区更多权重,Puppet 是一个由一家公司领导的开源项目。
购买域名并在 gh-pages 站点上贴上几句话使其成为官方。然后,在一段时间内,没有任何值得注意的事情 发生。很长一段时间,我们担心我们的社区会变成废弃项目的墓地。
我们的目标
当 Vox Pupuli 启动时,我们想要解决三个主要问题
- 让社区发出更多声音
- 为 Puppet 相关项目创建一个采纳中心
- 比 Puppet 更快地采用新的 Puppet 功能
我们有一个简单的想法:当模块无人维护时,我们提供采纳该模块,并向任何贡献者提供合并权限。
一旦我们开始积极推广这一点,许多事情开始发生。今天,我们在 Forge 上发布了 78 个模块 ,并有 90 多位贡献者拥有合并权限。
我们的演变历程
起初,我们从 Puppet 那里采用了许多风格和指南。我们还采用了他们许多不受支持的模块。随着我们的贡献者数量超过 Puppet 的模块团队,Puppet 开始关注(或经常指向)我们以获取新的社区指南。
我们的 IRC 频道似乎成为了 #puppet-dev 更平易近人的替代品——尽管用户有很大的重叠。我指出这一点是因为 Puppet 的社区以友好而闻名。这是我们不费吹灰之力继承下来的,我们努力保持这种状态。
我们推动了自动化并拥抱了开放性。我们仍在考虑进一步推进:最近我们的贡献者扩张停滞不前,因此我们的下一个目标将是自动邀请任何贡献了成功合并的拉取请求的人。
甚至我们的(实际上是 Puppet 的)竞争对手也认识到我们方法的有用性,并已开始将其应用于其 社区。而且,最近,我们已被 软件自由保护协会 接纳为一部分。 对我来说,社区最伟大的里程碑是看到它超越了其创始人:我们俩都不在指导委员会中。Daenney 甚至 超越了 Puppet。
如何创建你自己的项目社区
既然你看到了实践社区有多么伟大,现在是时候看看你如何创建自己的社区了!
- 想一个好名字
- 定义你的范围
- 采纳并执行强有力的行为准则
- 联系(苦苦挣扎的)维护者
- 推广你的项目
- 邀请愿意提供帮助的人
- 帮助需要帮助的人
如果这是一个太粗略的指南,你总是可以复制其他人是怎么做的
- Voxpupuli:开源高速列车 我在 2016 年的演讲稿
- Sous Chefs Chef 从业者的实践社区
- fruitful JavaScript 包维护者的社区
- terra-farm Terraform 社区
评论已关闭。