如何吸引学生们为你的开源项目贡献代码

2015-09-17 09:56


社区管理人员写过好多文章,介绍如何才能吸引学生志愿者为开源项目贡献代码。这回,我打算写篇内容一样的文章,不过从学生的角度来写。下面介绍你如何才能吸引我为你的开源项目贡献代码。

1.成立我会实际使用的开源项目

这恐怕是我要告诉你的最重要一点。如果我不使用你的开源项目,很可能甚至不会考虑为项目贡献代码。你要像学生那样去思考。学生需要你的开源项目吗?虽然为企业而搞的开源项目很出色​​,但如果我不使用它,也确实不会考虑为它们贡献代码。

相反,我在寻找最适合我要求的操作系统。我在寻找一款优秀的文本编辑工具、电子邮件客户软件、办公套件、电子书阅读器、音频/视频播放器、文件管理器,以及为我简化前端开发工作的工具,等等。我在寻找可以帮助我提高工作效率、让日常任务处理起来​​更轻松的工具(比如oh-my-zsh)。如果你的项目适合我的要求,至少我会参与其中。

另外,如果你的项目不是很受欢迎,也别气馁。我喜欢到处寻找不是很多人知道的那些“隐藏的宝石”。

2.让我很容易从小处着手

在确实贡献代码之前,我会从小处着手。我会测试你的最新测试版,复制、确认和报告软件错误,转换你的软件,回答别人的问题,为你的网站贡献一些代码(如果网站用的是开源代码)。你的任务是,让我更容易完成这项工作。

如果你做好了这方面,我们就会实际贡献代码。

3.确保您的构建文档定期更新

这是整个过程的一个关键阶段。没有什么比找到一款喜欢的软件,却无法正确构建更让人泄气的了。确保有一个名为INSTALL或BUILD之类的网页或文档,那样我可以将它与你的代码组合起来。README.md文件中添加对它的引用。确保容易跟踪并定期更新它。

4.别太在意你使用的某种编程语言

作为一名学生,我可没有任何一种编程语言方面的多年实战经验。如果我喜欢你的项目,我会花一两个星期去了解你使用的那种编程语言的语法。

5.确保你的编程团队很容易联系得到

我不会频繁发来信息和电子邮件来烦你,但要是我在哪个地方卡住了,还是需要你的帮助。确保你有一个聊天室频道(你的开发人员随时待命)、邮件列表或之类的东西,那样需要的话,我其实可以跟其他开发人员交流,获得某个问题的解答。

6.让你的网站设计至少适用于2015年

你的网络资源不需要看起来多惊艳,只要看起来不像15年前设计的就行。如果你的项目很惊艳,可是你的内容(比如使用BB代码的论坛)采用了看起来像是我刚开始使用互联网时设计的主题,那种感觉简直糟透了。

7.专门开辟网页,让用户可以建议(和表决)的功能特性

如果我不知道该怎么做,就会寻找应该怎么做的建议。跟踪了解用户请求的功能特性,并确保实施某种机制,方便其他用户对它们进行投票表决,那样我能明白哪项功能特性是最想要的。

8.给我点奖励

如果我为你的项目贡献了代码,我想以此炫耀一下。成为网络名人不错,但是在我的笔记本或T恤上印上标签更好。没错,我可能会印上你项目的标记(当然前提是你的许可证允许这么做),但是项目团队寄来某种奖品、以此感谢我所做的贡献,那就更好不过了。

要是你有一家店,我可以上那里购买,那很棒!赶紧给我打个折吧!我不住在美国。我经常遇到这个问题:想买一件很潮的T恤,可是运费比T恤本身的价钱还贵。记住,我是个学生,我可没多少预算。

9.赞助编程马拉松,并发放奖励

赞助一场编程马拉松(hackathon)。你还要派几个代表过来。活动结束后,给最优秀的团队或个人发点奖励。与他们一起谈谈你的项目。建议他们在活动期间应该重点关注什么。如果需要的话,帮助他们尽快熟悉代码。向他们解释你为何、如何实施了一些功能特性。如果你赞助过编程马拉松,并且给我留下了美好的印象,可以肯定:我会继续为你的项目贡献代码。

结束语

学生与你的其他贡献者有点不一样。他们的时间非常有限。你要确保他们的贡献得到了赞赏。你要确保为你的项目贡献代码尽可能来得容易。如果为你的代码贡献过程对学生来说很方便,那么你肯定也更容易吸引其他不是学生的贡献者。

这个过程对我们双方都有利。你得到了更多的贡献者,而我们获得了作为团队成员开展工作的宝贵经历。此外,为开源项目贡献代码可能是我们头一次有机会看看我们在为代码库更庞大的项目做贡献方面能够做得多好。