开始参与一个陌生的开源项目似乎令人望而生畏,因为这确实令人望而生畏; 投入未知领域通常都是如此。 如果有指导,探索新领域会容易得多——这就是为什么我最近在 Hacker School 上举办了一个关于“开始贡献开源项目”的研讨会,实际上主要内容是“首先,找到一位导师”。 基本步骤是
- 确定你想在哪里进行自我介绍
- 进行自我介绍
在其他地方有关于如何评估开源项目的 更详细的演练,但本文旨在让你尽快与真人交流。
确定在哪里进行自我介绍
首先在互联网上搜索“你感兴趣的主题” + “开源”或“自由软件”。
一旦确定了几个潜在的项目,问问自己
- 这个项目是否活跃? 代码提交是否是最近的?
- 邮件列表消息是否是最近的,并且是否及时、有益地得到回复?
- 是否有人在使用这个软件? (你是否想使用这个软件? 你能弄清楚如何使用吗?)
- 这是一个我想成为其中一员的社区吗? (他们是否善待彼此?)
人员社区比代码更重要; 他们是制造代码的人,而且发布周期平均为 6 个月,代码移动得非常快,你的关系才是真正能指导你的东西。
- 他们在哪里闲逛和工作? (他们使用哪个聊天室——通常在 IRC 中? 他们是否有一个 bug 跟踪器或其他巨大的共享待办事项列表用于该项目?)
一旦你发现可以听到一些事情的地方,你就可以弄清楚你在偷听谁,然后开始直接联系他们:“我看到你在 X 上回答问题; 你能帮我浏览 X 吗?”
大多数项目都有用于代码和非代码以及用于异步和同步工作的通信方式。 尝试弄清楚所有四种。
- 同步代码:git 提交(由聊天机器人宣布,发送到订阅源等)
- 同步非代码:聊天(通常是 IRC)
- 异步代码:问题/工单/错误跟踪器
- 异步非代码:邮件列表或论坛,以及维基
进行自我介绍
向开源项目自我介绍的最有效方法之一是向开发者邮件列表发送电子邮件,然后在与人们的初始聊天对话中引用该电子邮件(在邮件列表存档中找到你的消息的 URL)。
我的同事 Maggie 建议提交一个 pull request 作为你的介绍信,我认为这是一个好主意。 这意味着你的介绍邮件应该解释你如何
- 已经在中间做一项特定的有帮助的任务
- 而你所要求的是帮助完成该特定有帮助的任务。
在意识到有用的帮助可能非常非常小之前,这听起来可能令人生畏。 例如,几位同事有以下经历
Rebecca 向 tent 发送电子邮件,说她一直在阅读他们的文档,并有一些关于如何提高特定 URL 上的特定文档的清晰度的想法(特定的有帮助的任务!),并且想知道在哪里提交她的更改(帮助我做到!)。
Jade 向 GIMP 发送电子邮件,表示愿意测试补丁(特定的有帮助的任务!),并询问哪些分支和补丁最有助于验证(帮助我做到!)。
这些任务都不涉及对代码的深入了解; 这些会在以后出现。 他们需要用英语写作并编译 C——这并非不可能学会,尤其是在你周围都是渴望教你的程序员时。 与某人配对并相互(积极地!)施加压力以发送你的介绍邮件也很有帮助。
Hacker School 是纽约一所为期三个月的全日制学校,旨在让你成为一名更好的程序员。 它是免费的,提供空间、一些结构、专注时间以及一个致力于自我提升的聪明建设者的友好社区。
改编自 Mel Chua 的博客。 重新发布使用 Creative Commons。
4 条评论