开源之路

2015年初,我为一些客户担任顾问。 我使用的很多(如果不是全部)框架和工具都是开源的。 我从未回馈社区。

学习如何自学

作为自由开发人员,我没有可以分享或学习的同龄人。 当时,我决定开始在一些公司进行面试以从事全职工作。 许多公司在开源领域都很大。 一家特定的公司运行在广泛的前端堆栈( ReactReduxwebpackBabelPostCSSCSS模块SCSS等 )。 当时我正在编写Angular (版本1), 但从未被大多数人介绍。

不幸的是,我没有得到这份工作。 但是我确实注意到了他们团队的筹码,并在整个夏天开始在家中对其进行处理。 这次接触使我进入了一个庞大的生态系统,而我自己并没有这么快地发现它。 到2015年底,我接触了无数个开源项目,例如ElectronTypeScriptFlowType

我的第一个主要开源出版物

在2016年夏天,我在Dext (用React编写的电子驱动的 Alfred替代品)中发布了我的第一个主要开源软件。 发布Dext给我带来了很多新的经验。 我开始指导和审查新贡献者的一些PR,提供记录良好的设置和贡献指南,并邀请/邀请新的核心合作者加入代码库。

为其他项目做贡献

从那时起,我逐渐开始为GitHub上的其他项目做贡献。 我从一些低落的水果开始,例如修复自述错误和编写测试。 最初,有一些拒绝的PR,这非常令人沮丧。 但是我继续前进,因为有更多的批准。 最终,过去被拒绝的PR变得更容易,因为它们通常可以提供对体系结构和项目目标的真正洞察力。

我获得了什么

我从来没有期待任何回报。 我想要做的只是合并我的请求请求,并在贡献者列表中看到我的面孔。 我得到的回报更多。

通过致力于开源软件,我学到了很多东西。 我学习了如何构建代码库并使所有内容易于发现,使新贡献者更轻松地工作了,我获得了关于棉绒和代码样式的新观点,并且学会了适应任何特定项目的样式指南。

从那时起,我发现了无数我在自己的项目中采用的框架/软件包。 我什至开始为这些软件包做出贡献。 通过更多的贡献,我得以与项目所有者会面,建立联系并向他们学习,并为自己的项目赢得了贡献者。

如何开始?

这就是为什么我做出贡献,这就是为什么你应该这样做。 无论您的技能水平如何,都可以选择自己感兴趣的项目并提交一些东西。 如果您需要帮助以找到一些东西,此网站提供了大量可供选择的初学者友好型问题。

另一种方法是使用GitHub搜索并搜索label:beginner或一些类似的标签,例如“仅限初学者”或“仅限初学者”。 在这里,您可以筛选自己喜欢的语言并开始使用。 提交第一个拉取请求后,动量将使您继续前进。

如果不确定您的PR是否会被接受,请通过其GitHub问题论坛或其Twitter帐户联系项目所有者。