当我刚开始做Rails开发者时,我认为所有的Rails gems都是魔法。一些聪明人正在制作这些牛逼的类库让我使用!我不知道这些类库有多少可以使用,我认为它们是好的。它们运行着,并做了我需要它们做的工作。它们好像如此深奥、被想出来,以致于我甚至不知道该如何为它们贡献力量,即使我想! 时至今日,我仍然没有给Rails社区贡献任何开源代码。那是因为Rails社区在开源方面非常活跃,因此找到你要贡献的东西实际上是比较困难的!当然你能够翻阅问题并试着解决,但是,老实讲,它们通常太复杂了、令人望而生畏。有这些聪明人讨论问题,你能足够优秀地解决问题是难以想象的! 快进到Mobile Makers,那时候我刚接触iOS,我第一次给开源代码做了贡献!从那以后,我做了更多,我不再害怕向甚至更多的项目贡献代码!下面是我如何迈出这一步以及在这个过程中我学到了什么: 它不是魔法 走出Rails社区,我很快知道了,大家对开源类库事实上有某种不信任感。当我想一直使用所有的CocoaPods时(就像Rails!),团队的高级iOS工程师总是质疑外部类库的使用,如果可能,宁愿建立我们自己的类库。 在iOS项目,有很少的iOS类库可以一直使用的,大多数项目仅仅在开始的时候使用一些类库!由于CocoaPods的出现以及删除或升级依赖项是如何容易,情况正在发生着变化,但是它还达不到Rails的级别,你的大部分项目仍然由即插即用类库构成。 意识到这些外部类库不是魔法,我的心态改变了,也让我较以前产生了巨大的改变。懂得了编写类库的那个人是一个真实的人,他会犯错,或许不会写出最优的代码,他也不能一直考虑到所有的边界情况,这让我能够轻松发现我能够做贡献的小的(或大的)地方。 关注就是共享 有一些人鼓励积极寻找开源项目去贡献力量,而我发现我贡献的所有项目都是实际在我自己的代码中用到的。 真相是,我没有时间为了贡献而去主动搜寻github上的问题/类库。但是,当我在自己的项目中用到一个类库时,我希望它具备X功能或那个bug Y被解决了,搞定并反馈回去是明摆的事!事实上,自从我喜欢向开源贡献力量以后,当我发现这些机会时,我是超级激动的! 这把我带到了下一个论点…… 它是这样一种美好的感觉…… 向开源贡献力量真的容易上瘾!先前知道了如何编码,让计算机实现你的愿望是不可思议的,这让你觉得你像个魔法师。但是,当你能够把其他人的“有魔力的”代码变得更好、且他们认同你能够使代码变得更好(通过merge)时,这种感觉是无法用言语表达的。它就像你刚刚变成了10级的魔法师而不是1级。 小的开始 此外,我把开源贡献者看做是用魔棒来作彻底改变、改进一切的魔法师,但实际情况是大多数变化都很微小。他们只是根据每个人的基本方式累计增加,并最终改变和完善了整个类库。因此不要低估小改动的力量! 下面是个例子,我最近贡献力量的过程: |