仅限新手

2020-07-06 08:48:23

我最近开始做一些非常有意义的事情。我是角形式库的维护人,这是非常受欢迎的角形式库。我提交了很多代码,现在这个库有33个贡献者。对于这些贡献者中至少有五人来说,这是他们第一次向开源库做出贡献。

我真的很努力地尝试让它很容易贡献给棱角分明的人。我放弃了开放源码项目维护人员做的所有常见事情,以及一些无关紧要的常见事情……。

添加一个githook(使用ghooks)来运行测试并使用eslint检查编码标准,这样人们就不会因为在公关上来回奔波而感到沮丧。

我甚至录了录像带来演示如何进行设置。但我没有意识到的是,仍然缺少一些东西。

几个月前,形态各异的Koen Weyn收到了Koen Weyn的拉请求,他想修复该项目的一些IE8兼容性问题。他提交了一份很好的公关(Pull Request),我们对它进行了一些迭代,然后它就被合并了。他向我提到,这是他第一次提出GitHub拉取请求。那是一次愉快的经历。成为某人首次公开源码贡献的一部分是很酷的。

直到几个月后,我才有了一个想法。在开发一个新特性TDD(测试驱动开发)的过程中(并且非常喜欢它),我完成了测试,并准备开始实现。然后我有了一个想法:“为什么我不让别人来做这件事呢?我很清楚我会怎么做。我可以做些手把手的工作,帮助别人第一次为开源做贡献。“。

小切线…。我是两个孩子的幸福父亲。当我和孩子们一起教书或玩耍时,有时我不得不让我的女儿给她的弟弟一个回答问题的机会。很多人都渴望取悦和帮助我们。因此,当我把球扔给儿子时,如果我不让女儿让她的小弟弟回答,她就会说出答案,而他会有更难的时间学习/感觉到回答的满足感。我想有时候我们成年人也可以这样做。

因此,我决定提交测试,但是跳过了(这样构建就不会失败)(使用Mocha中的description be.skip),然后我将它们向上推,并在问题中添加了以下注释:

尽量让它变得简单。准确地说出代码需要放到哪里,并推荐一种好的方法。

第一次进入开源领域最困难的部分不是特性的实现,而是弄清楚如何真正贡献代码。

所以我准确地解释了在这个问题上应该怎么做,然后我在Twitter,Gitter和Slake上猛烈抨击了它:

我只会接受一个公关为这一个谁从来没有贡献过开放源码之前。使用说明:https://t.co/UnhqsHnvta。

-肯特·C·多兹📡(@kentcdodds)2015年6月12日。

没过多久,我就有几个人在所有三种媒体上找到我,询问他们是否可以试一试。有了这个公关,Stephen Bluck终于迈出了进军开源社区的第一步。

感觉棒极了!所以我寻找机会做更多的事情。我已经有三次这样做的机会了,每次对我和贡献者来说都是值得的。该项目现在有了一个仅限首次使用的标签。感谢道格拉斯·梅森、德万·贝特尔和布莱恩·马切斯基接受挑战。对于那些还没有机会的人来说,别担心,…肯定还会有更多。

现在,如果我自己动手的话,我能不能更快地完成这件事,然后继续我的工作呢?当然了。但这并不是作为一个开源贡献者的全部意义所在。交付帮助他人的好软件是一件很有趣的事,但也要意识到,有很多人只是不知道从哪里开始。

你们中的一些人可能会问自己,“如果我(和其他lib用户)不想等上几天才使用这个特性怎么办?”根据我的经验,人们都很想试一试。在短短几个小时内,至少提交了一份公关(有时是几份),然后进行迭代和合并。

我回想起我第一次拉车的要求,没什么了不起的。它真的很小。我学会了如何使用Git和GitHub。这给了我一个机会,让我明白贡献是什么感觉,这是一种有价值的感觉。作为开源项目的维护者,我们有能力帮助初来乍到的人第一次感受到这一点,并做出贡献。那,我们做吧!。

如果您是开放源码项目维护人员,不妨尝试一下。将标签First-Timers-Only添加到您的项目中,以便人们可以在此处找到它。您还可以考虑引用makeapullrequest.com。我认为我们可以对开源社区的新来者更加友好。你永远不会知道,你可能会找到这个项目的新的主要贡献者,甚至是一个新的终生朋友。不管怎样,我们投入开源的人越多越好。通过这样的开放,我们正在帮助“把善良带回开源”。