开始参与开源项目可能会让人感到畏惧。我一直想为开源项目做贡献,但苦于不知从何入手。当机会来临,我终于迈出第一步时,最终获得了一次极好的学习经历。以下是我最初三次开源贡献的经验。
DuckDuckGo
DuckDuckGo 是 Google 搜索的替代方案。他们希望提供一个尊重您的隐私且不追踪您的搜索引擎。他们使用即时答案,这本质上是搜索查询的结果。即时答案的一种形式是速查表。为搜索平台贡献速查表是进行首次贡献的相当简单的方法。他们还在 Slack 上有一个很棒的社区——当我加入时,他们的社区经理亲自给我发了邮件。社区经理自我介绍并热情地欢迎我加入该群组,这种亲切的举动体现了他们社区的类型。
DuckDuckGo 还有关于如何入门的精彩文档。他们使用 Codio,一个云 IDE,它使设置开发环境变得极其容易。我有兴趣贡献一个 Perforce 速查表,用户可以在其中轻松找到对命令行客户端的参考。在几个小时内,我就能够通读文档、设置环境并做出我的第一次贡献。社区非常细心,并给予了友好的反馈。几天后,我的 Perforce 速查表就出现在他们的预发布站点上。大约一周后,它就出现在生产站点上。
现在,用户可以输入这样的搜索
并获得这样的结果
Perforce patcher
并非所有的开源项目都是大型官方项目。许多个人项目只有一个作者,他们也很乐意接受帮助和贡献。Perforce Patcher 由 Buddha Jyothiprasad 编写,是一个 JavaFX 应用程序,它基于变更列表中的差异创建补丁。我之前没有 JavaFX 应用程序的经验,但我懂足够的 Java 来阅读代码并对其进行基本的理解。我想添加使用一些命令行参数启动应用程序的功能,以预先填充初始登录字段。我做了更改并提交了一个 pull request。作者非常好,他要求我用我的更改更新 README,并将我的提交合并进去了。
GitLab
我一直想更多地了解 Ruby on Rails 框架。学习一项新技术栈的最佳方法是深入研究使用它的项目。GitLab 是一个相当知名的本地 git 管理应用程序。他们有一个详尽的 贡献指南 和一个相当正式的参与流程。他们关于 设置开发环境的说明 足够详细,可以开始使用,但又不会让人感到不知所措。他们在他们的问题上使用 up-for-grabs 标签,这些问题可以被任何有贡献意愿的人拾取并修复。我决定通过修复一个 问题 来试水,这个问题只需要一个 简单的文本更改。挑选容易实现的目标是熟悉项目的工作流程和开发环境的好方法。我提交了我的 merge request,版主们非常积极和热情。经过一些来回沟通,我完成了我的第一次 GitLab 贡献。
总结
为开源项目做贡献并不像看起来那么可怕。深入挖掘一下,你会发现大量的良好运行的项目,这些项目由友好的人们组成,他们会欢迎新的贡献者。帮助只有一个作者的小型项目也是一种很好的协作和学习方式,同时不必重新发明轮子。我希望这能鼓励你找到你感兴趣的项目,并勇于迈出提交第一步。
1 条评论