为开源做出贡献的又一次旅程
并以初学者的身份进入这个OSS世界!
“以一种能够使您为这个世界做出有益贡献的方式来利用自己的才能,业余爱好或职业,才是真正的路要走。”
—西蒙·辛格曼
最有可能的是,您在Reddit线程,Quora答案和其他详细描述“如何开始为开源做起”的博客文章中进行狂热搜索时偶然发现了这一点。 好吧,这篇文章与他们没什么不同。
不用等待,回来! 这不是副本。 只是即使阅读了这些博客,您可能仍然对贡献感到困惑。 这篇文章为您提供了有关OSS入门的有用见解(大概为????)。
您很可能会觉得自己不适合这样做。 很好-真的。 几周前我在同一位置,感觉完全一样。
自从GSoC'17通知发布以来,我一直在努力为开源做贡献。
无论您目前有什么背景或经验,我都可以肯定地告诉您一件事–很难入门。
您必须首先突破“假冒综合症”。 如果您不清楚它的含义,请使用Google! 这是开始之前您需要的第一个也是最重要的建议。
然后,您必须找到一个要使用的项目—尽其所能。 经过实践检验的方法是—找到您感兴趣的内容。它可以是一种语言,您日常使用的软件/工具,也可以是您一直希望成为其一部分的组织。
归根结底,是否要退出取决于您。 并相信我,如果您一直想与之合作,那么您这样做的可能性就较小。 就我而言,是Python不断吸引我回去为OSS做贡献。
开始时,没有任何意义。 您可能不熟悉组织的提交准则,工作流程,编码准则以及其他内容。
最重要的是,您将目睹大约数千行代码像迷宫一样躺在那里。 您不会知道自己的出路。
我希望您现在处在相同(或更好)的状态—迷失和困惑。
但是事实证明,项目的开发人员/维护人员以及您自己都知道这些问题。 他们知道我上面已经告诉您的所有内容。 您想知道吗?……..嗯,他们也是从初学者开始的。
因此,如果您在入门方面需要任何帮助,请随时在频道上对其进行ping操作。 请记住,您应该始终提起您在提出该问题之前所做的努力—您是否已阅读了相关文档? 您是否遵守了该项目的贡献准则? 您面临什么错误?
让我告诉你,即使在围绕代码库的几个星期之后,我在理解部分代码时仍然遇到问题,必须定期咨询维护者或其他开发人员。 毕竟,我仍然是代码之海中的业余爱好者。
尝试了!
整整一年的时间里,我一直在浏览过去的GSoC和GCI组织(通常,从中选拔一些非常欢迎新手的组织,这是我第一个组织所希望的)。
我会选择其中的一些,查看他们在GitHub存储库中列出的Bug跟踪器/问题,然后看到一些“新手” /“初学者” /“抢手” /“第一个问题”标记的问题。
通常,它们是微不足道的更改,例如文档中的拼写更正,更新文档字符串。 但是,仍然要记住“冒充者综合症” (我在Google上告诉过您-这是要记住的下一件事,除非您对之前讨论的事情有所了解,否则请不要进一步进行)-我从未真正做出过贡献。
经过大约三个月的徘徊,最终我选择了“ coala”(嗯,我发现一些博客提到它非常新手友好)成为我的第一个组织。
但我所知甚少,甚至在为项目做贡献之前就存在障碍。 是的 设置您的开发环境。 我尝试使用可用的说明进行安装-但不能。 我在频道中提出了该错误,并提供了尽可能多的细节,其中包括我尝试过的解决方案,我咨询过的StackOverflow答案,错误日志和消息。 John项目的一名维护者(@jayvdb)在回购中提出了这个问题。
我等待了大约2天时间,问题才得以解决。 两天后,在该问题上没有任何进展,我只是离开了频道,想到永远都不会回到OSS。
那真是一个错误! —这引出我的下一个提示,您需要耐心等待答案。 那些人正在自愿为该项目做贡献,从他们的日常工作中抽出时间。 就像您一样,他们是人类,拥有真实的个人生活-尊重这一点。
大约在这段时间里,我认为也许我对这个开源项目还不够好。
另一个不利于我的事情不是寻求立即的指导-我确实知道一些曾经或正在努力进入GSoC的矿工。 但是我太害怕征求他们的意见了-主要是因为我认为这将意味着冒着被视为愚蠢的风险。 这需要我的下一个建议,问!! 是的,如果您问的是经过仔细研究的问题,那么没人会把您当作白痴。
同时,甚至进入开源的想法在学者和自我项目之间消失了。
归乡!
夏季,在从事实习项目时,我遇到了我的一个朋友,他的导师是Coala的开发人员和GSoCer,再次为开源做出了贡献。
不过,这次,我决定向开源迈出一步。 我再次尝试了,这次,幸运的是,我能够在我的机器上设置Coala。 但是在实习期间又很忙,我不得不再次离开。
我完成了实习,回到大学。 尽管如此,我在待办事项清单上还是这个“开始为开源做贡献”。 之后,我忙于实习期。
在制定了现在的夏季实习计划后,我决定再次开始为Coala做贡献。 我再次阅读了安装指南,文档,git基础,提交指南,审阅指南和常规git工作流程。
在接下来的几天里,我一直在研究更多问题,提出新问题,帮助其他新手入职,审查其他请求请求。 在大约一周的时间里,我完成了Coala的开发人员流程,并被提升为Coala的开发人员。
现在,我全神贯注于这些复习资料,以至于即使在考试期间也继续这样做(是的,甚至自我控制也越来越困难)。 虽然那个学期我的成绩很差,但是我很高兴。 第一次,我感到很有用。
总而言之,我已经学到了很多东西,无论是大事还是小事,都没有学术课程可以教给我。
另外,后来我才知道—除了诸如GSoC,GCI之类的流行项目外,还有一些举措,例如Hacktoberfest,Mozilla Winter of Security等,这些举措促进了对OpenSource的贡献。 看看这种激励措施是否可以起到鼓励作用。 我很幸运也偶然发现了Hacktoberfest 。
最后的话
你们中的许多人可能都在思考-“但是我什么都不知道”。 错误! 。 即使是任何语言的基础知识(甚至非编程语言都可以,所有项目都有许多文档编制任务)也足以开始为某些项目做贡献。 要点是-从某个地方开始。
特别感谢Mischa,Lasse,John和Mixih在需要时帮助我。 更重要的是不给我解决方案,而是鼓励自己解决方案。
顺便说一句,我得到了一个机会来指导一些新人-在中级难度的任务谷歌代码In'17为好。 实际上,我在指导他人的同时以一种更清晰的方式理解了很多事情。 因此,我的最后建议是帮助他人-帮助您更好地理解事物。
外卖
- 不必担心入门,这很困难。 无论如何,您无需阅读完整的代码库即可上手。 刚开始的地方。 提出问题-没有人会因此而判断您。
并非每个人都是天生的天才,您的理解可能会有些空洞–您必须提出问题。
“怀疑是好的。 混乱非常好。 问题真棒。
所有这些都是扩大心智的尝试。”
- 在问问题之前先做研究 。 没有人会为你这样做。 另外,请务必了解这是为了您自己的利益。 搜索文档,指南/说明,自述文件或仅搜索它。
- 到目前为止,请确保您已了解对话中的内容,不要留下任何疑问。 当对基本事物的理解不正确时,事情确实变得更加混乱,难以解释。
- 有耐心。 有时,审核可能需要超过一个星期的时间。 在这种情况下,您可以做的一件事就是开始自我审查。 这样可以缩短审核队列,并帮助您快速进行审核。
- 在旅途中帮助他人。 这也意味着如果您需要任何帮助,可以与我联系 ????
From: https://hackernoon.com/yet-another-journey-of-contributing-to-open-source-6443077b204f