开源项目 依托你的社区
你不需要凡事亲力亲为。这就是社区存在的原因!即使你没有一个活跃的贡献者社区,但是如果你有很多用户的话,拉他们来干活儿。
分担工作量
如果你正在寻找其他人来参与, 从身边的人开始。
当你看到新的贡献者不停的提交贡献,通过分配给他们更多任务来表示认可。如果别人愿意的话,记录下别人是怎么成长为领导者的过程。
鼓励别人来一起管理项目 能很大程度上减轻你的工作量,就像 @lmccart 在他的项目上做的那样,p5.js
我曾经说过,”对,每个人都可以参与进来,你不需要有很多编程的经验。”当有申请来参加我们的活动的时候,我就在想,这是真的吗,我说了啥?有将近40个人来了,我虽然不可能和每个人都单独交谈,但是大家一起来了,这说明我说的没错。只要有人知道怎么做了,他们就能教他们的邻居。
如果你需要暂时或者永久的离开项目,请找人来代替你,这并没有什么不好意思。
如果别人认同项目的发展方向,给他们提交的权限或者正式把项目所有权转移给他。如果有人 fork 了你的项目而且在保持活跃的维护中,考虑在你的原始的仓库放上这个 fork 版本的链接。如果大家都希望你的项目继续的话这不失为一种好办法。
@progruim 发现 由于它给他的项目Dokku 写一个关于项目发展方向的文档,即使在它离开这个项目后他的那些目标仍然会被实现。
我写了一个 wiki 来描述我想要啥和为什么。不知道为啥,项目的维护者就开始推动项目朝这个方向发展,这对我来说还是有点惊讶的。他们会丝毫不差的按照我的意愿去做这个项目吗?不总是这样,但是总是会把项目推动到离我的理想状态更近的位置。
让别人尝试他们自己想要的解决方案
如果有贡献者关于项目有不同的意见,你可以礼貌的鼓励它在他自己 fork 版本上继续工作。
fork 一个项目不什么坏事情。能复制并且修改别人的代码是开源项目最大的好处之一。鼓励你的社区成员在他自己 fork 的仓库上继续工作,这是在不和你的项目冲突的基础上,给实现他们的想法最好的出口。
我迎合 80% 的用户需求。但是如果你是那 20% 中的一个,那么 fork 我的项目吧。我不会介意的!我的公开的项目是用来解决那些最常见的问题的。我尝试着让别人fork 我的项目然后在上面拓展得更加简单。
这对于那些强烈的需要某个你没时间实现的解决方案的用户来说也是一样的。提供 API 或者自定义的钩子帮助他们更好的实现自己的需求而不需要改动源码。@orta 发现 鼓励在 CocoaPods 上使用插件导致了很多有趣的想法的诞生。
一旦一个项目变大之后,维护者对怎么增加新代码变得保守是不可避免的事情。你可能很会拒绝别人的需求,但是很多人提的都是合法的需求。所以,你不得不把你的一个工具变成平台。