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