简介
贡献开源软件不仅是分享您在特定语言或技术堆栈方面的技能的一种方式,而且也是一种有益的实践,可以分享您的工程知识并与开发人员社区合作。尽管有很多开源项目在等待您的专业知识,但对于感兴趣的贡献者来说,知道在哪里找到它们以及如何以对项目有意义的方式做出贡献有时会被证明是一个障碍。
在这本Hacktoberfest风格的指南中,我们将分享一些技巧和信息,它们将有助于发现开源项目并为其做出有意义的贡献。
如果您刚接触开放源码社区,找到一个新的项目来为之做贡献可能会让您望而却步。这里有一些资源和想法,可以帮助你找到一个你喜欢的项目,让它蓬勃发展。
什么是开源?
开源软件是可以自由使用和修改的软件,通常通过Github等公共存储库托管服务共享。遵循开源模式的项目通常通过开发者社区的贡献而蓬勃发展,并可能允许重新分发,这取决于他们采用的是哪种开源许可证)。
大多数成功的开源项目都有透明、清晰的维护和改进流程,这有助于围绕它们建立一个社区。因此,他们受益于终端用户的定期贡献,他们为原本可能被忽视的解决方案带来了不同的观点。
要了解有关开源的更多详细信息,请访问我们的教程系列,开源简介。
考虑熟悉的开源软件
在决定将您的时间和才华投入到一个开放源码项目之后,花点时间考虑一下您的激情和与您产生共鸣的项目类型是很重要的。考虑到你可能会花几个小时为一个特定的项目做贡献,你想要选择一个不仅你个人会使用的项目,而且除了为Hacktoberfest做贡献之外,还会有更深的兴趣。想一想你现在使用的软件,并考虑以下几点:
- 软件是用什么技术堆栈和语言编写的?
- 使用该软件时有哪些地方可以改进?
- 您是否有技术熟练程度需要解决的错误或可见错误?
- 您是否愿意持续为该软件做出贡献?
这些开始的考虑可能会让您发现您最喜欢的软件是开放源码的,并且正在等待您的贡献。如果是这样的话,一定要深入研究CONTRIBUTING.MD
文件,该文件通常描述了如何在开始之前做出贡献。该资源通常会向您介绍代码库、约定以及在为软件做贡献时获得支持的方法。
初学者友好的开源项目可以尝试
如果你刚刚开始,将大量代码提交到一个不熟悉的代码库的想法可能会引发我们许多人潜伏的冒名顶替综合症。幸运的是,每个开发人员都曾经是初学者,为了促进对开源的欣赏和采用,有大量的由初学者友好的开发人员共享的公共可用的存储库。以下是我们建议浏览的几个:
- Beginners-令人敬畏按编程语言列出的项目列表,被认为是初学者友好的。
- 对Non-Programmers-来说太棒了如果你是编程新手,这里有一个与语言无关的项目列表,有助于促进学习。
- Up for Grabs-列出具有为新贡献者策划的任务的项目的资源。
- 仅限初学者-为初级贡献者提供的资源,其中包括指向开源学习资源的链接和指向初学者友好型项目的链接。
- Habitica-是一款游戏生活的养成习惯的应用程序。这个开放源码项目有详细的文档和许多方法,程序员和非程序员都可以为该项目做出贡献。
在我们的Hacktoberfest Resources Page.]上可以找到更多可供开源项目尝试的资源
为开源项目确定有意义的解决方案
在确定了一个要贡献的开放源码项目并深入研究了代码库提供的资源材料之后,您可能想知道到底要贡献什么。虽然您贡献的方式可能因项目而异,但这里有一些对您正在工作的代码库和软件有影响和有意义的贡献的一般概念。
修复漏洞
bug是代码中的小错误,可能会导致烦恼,阻塞或削弱软件。错误通常会产生意想不到的结果,导致错误的响应或操作-为了软件用户的体验,维护代码库无错误(或尽可能无错误)是必要和重要的。
您可以贡献您的知识和专业知识来挤压
或解决围绕错误的问题。通过处理不同优先级的错误,您通过解决错误来增强代码库的能力将会增强,并且您将获得有意义的贡献。
提交功能
开放源码项目受益于多样化的思想。尽管软件可能是由一个或多个工程师开发的,他们对他们的产品如何解决现有问题有意见,但您在如何改进项目方面的个人经验和观点可能是无价的。一旦您对项目的代码库感到满意,并了解它如何为最终用户工作,请尝试想出一个可能有用或改善用户体验的新功能,并创建一个问题来向项目维护人员提出建议。在投入时间编写代码之前进行这种对话是很重要的,因为有时您的想法可能与项目的路线图不一致。有了积极的回应,是时候实现您的想法并将该功能投入生产了。
编写一些文档
虽然可以对代码库做出大量的技术贡献,但编写好的文档是一项经常被忽视的贡献。如果您倾向于使用语言,或者使用的语言不同于最初文档中所反映的语言,请考虑做出贡献。文档中的贡献可以围绕向现有文档提供编辑帮助或在文档中创作新页面。请参考您项目的投稿指南,以了解有关如何提供此帮助和其他非技术帮助的更多信息。
通过Github提交拉流请求
在您对开放源码项目的代码库做出了有意义的贡献之后,是时候提交您的Pull请求了。我们已经制作了一个有用的视频,通过Github引导您完成这个过程,可以在here.上找到
结论
与开源项目分享您的专业知识是一种有益的体验,它允许您实践您的才华,与他人协作并向他人学习,并回馈开发人员社区。虽然最初在开源社区中找到自己的位置似乎很困难,但找到一个能表达您的热情并对其代码库做出有意义贡献的项目是一个很好的开始方式。
对于Hacktoberfest,虽然为开源项目做出四(4)个有意义的贡献将使您有资格获奖,但我们希望您将继续享受在活动之外为开源社区做出贡献的好处。要了解更多信息或了解更多关于开源、Git或Github的信息,您可以访问Hacktoberfest Resources page.黑客之旅快乐!