📜  如何为 GitHub 上的开源项目做贡献?

📅  最后修改于: 2022-05-13 01:56:15.560000             🧑  作者: Mango

如何为 GitHub 上的开源项目做贡献?

如果您是软件工程行业的新手或刚开始学习计算机科学,您可能听说过 Git、Github、版本控制等开源软件,并且一定对它感到好奇。开源也称为 OSS 是任何为开源做出贡献的人都可以公开访问的软件代码,它可以为您带来更好的职业机会,您还可以与志同道合的人建立联系和联系。在本文中,我们将学习——什么是开源?如何开始使用开源?由于没有获得适当的路线图和指导,作为初学者并进入开源可能会令人困惑和不知所措。

How-to-Contribute-to-Open-Source-Projects-on-GitHub

所以这篇文章为初学者铺平了道路,涉及初学者入门开源的 6 个步骤,听起来不错,对吧?因此,不要浪费更多时间,让我们直接进入它。

什么是开源?

开源软件的首字母缩写词是软件,它的代码可供任何可以免费使用该软件的人使用,也可以修改他们的代码。特定软件的代码存储在各种许可下的存储库中。一些著名的许可证是:

  1. 麻省理工学院执照
  2. 阿帕奇许可证 2.0
  3. GPL 许可证
  4. BSD 许可证

OSS 的规则和许可与专有软件有很大不同。想要为存储库做出贡献的个人可以根据该存储库维护者设置的规则和许可进行贡献。开源是一种根据同行评审和社区准则进行协作和贡献的方式。

开源确实改变了软件行业的方式,让每个人都更灵活、更容易访问。今天,开源软件在世界各地被广泛使用,一些著名的 OSS 的例子是

  • Linux :最常用的操作系统之一。大多数著名的 Linux 发行版,例如 Ubuntu、Debian、Fedora .etc 都是开源的并且可以免费使用
  • Mozilla Firefox :广泛使用的网络浏览器
  • VLC 媒体播放器:可以播放几乎所有类型视频的视频播放器

如何开始使用开源?

  • 了解为什么要进入开源
  • 选择最好的软件和版本控制技术
  • 选择贡献的地方(寻找贡献的组织)
  • 了解代码库
  • 发现问题
  • 做你的第一个 PR

1. 了解为什么要进入开源

你决定进入开源,这个领域很大,会为你打开很多职业选择,所以有必要有一个清晰的愿景——你为什么要进入开源?为避免混淆,制定长期计划将帮助您保持动力。

如果您喜欢与人们就解决方案和想法进行交流,那么对软件充满热情并与团队合作会给您带来动力,您在任何社区都受到欢迎。如果您不知道如何与始终可以学习的人交流,请不要担心。请记住,一旦您选择开始为任何组织做出贡献,请尝试尽可能长时间地坚持下去,否则仅在短期内做出贡献不会让您有任何收获。

现在,如果你真的认为你对开源有耐心和兴趣,让我们开始吧。

2.选择版本控制软件

这是一个重要的步骤,您必须选择要使用的版本控制软件。版本控制为您提供了一种方便的方式来跟踪和管理您的软件版本。您可以从 Github、GitLab、GitBucket、bitbucket .etc 中选择多个选项。如果您已经熟悉其中一种,请继续使用,或者您可以尝试所有方法并找到最适合您的一种。

我们建议使用 GitHub,因为它是大多数组织使用的一个,因为它具有广泛的功能和可用性。使用 GitHub 的另一个好处是它对所有人都是免费的,GitHub 的问题跟踪器比其他软件好得多。 Github 文档在不同的部分中组织得非常好。

因此,如果您是初学者,我们建议您从 Github 开始。有各种资源可供您学习 git 和 GitHub,并尝试创建自己的存储库并练习 git 命令。一旦你习惯了使用它们,你就可以更进一步,开始为别人的代码做贡献。

3. 寻找贡献的存储库

在这一步中,我们将选择我们要贡献的地方,无论是组织还是个人项目,选择一个项目可能是一项艰巨的任务,它可能会令人困惑,因为有很多选项可供您选择选择,放慢速度,记住一些事情。

  • 采取小步骤,无论您是为大型项目还是为您朋友的存储库做出贡献。
  • 无论是文档修复、错误修复还是发现问题,每一项贡献都很重要。

因此,让我们开始了解如何实际找到您的存储库。

a) 了解您的兴趣:找到您可以做的一件事,并且不会很快感到无聊,它可以是机器学习、Web 开发等。寻找可以贡献的存储库:

步骤 A:转到 GitHub 并单击探索

GitHub - 探索

Github 主页

步骤 B:点击主题

GitHub - 主题

Github 探索

Step-C:点击你感兴趣的话题

在 GitHub 上选择主题

主题列表

步骤 D:这里根据您的主题显示所有存储库

显示所有存储库 - github

与所选主题相关的存储库

b) 选择一个存储库:现在您有一个根据您的兴趣的存储库列表。浏览每个存储库。尝试了解它的功能,阅读文档,了解它的社区,是否有活跃的成员,尝试使用它。这样做可以让您简要了解某个组织中的工作方式。尝试列出您愿意贡献的 2 到 3 个存储库。

c) 最终确定:既然您知道在哪里做出贡献,向社区介绍自己,了解他们的方式、做出贡献的指南、写作和 linting 风格、项目结构,并尝试参与讨论。

4. 了解代码库

这是每个新贡献者都面临的最困难的部分。初学者试图一次理解整个代码库,试图理解整个事情不会让你到任何地方,而且会让你感到困惑,所以有必要采取一些小步骤。在理解代码库的同时,请记住一些事情。

  • 维护人员花了数年时间编写此代码,因此如果您不了解某些部分也没关系
  • 沟通是关键有必要提出聪明的问题,因为维护者没有足够的时间来回答愚蠢的问题。
  • 耐心很重要,你不会一下子明白一切,给自己时间。

现在让我们转到您可以遵循的步骤来理解代码。

一种。项目结构:了解项目结构对于您需要了解哪种文件存储在哪个文件夹中的步骤很重要,了解文件和文件夹层次结构以及它们的命名结构。

湾。编码风格:要理解代码,首先你需要了解他们的编码标准,了解命名变量、函数,格式在编写代码时也遵循这些标准。

C。阅读文档:要理解代码,您还需要通过阅读文档来了解该代码的作用,您将更多地了解上述两点。该文档为您提供了代码在做什么的概述。

d。拉取请求:浏览旧合并的拉取请求并了解他们对哪个问题进行了哪些更改。如果您遇到类似的问题,这将有所帮助。

e.通过问题理解:如果你开始理解整个代码,你会感到困惑,所以首先选择一个问题(阅读下一点),然后尝试理解与该问题相关的代码,这样你解决的问题越多,你得到的效果就越好。

5. 发现和解决问题

现在我们知道贡献什么以及在哪里贡献是时候了解更多关于存储库的信息了。在 GitHub 中,每个存储库都有一个问题选项卡,您可以在其中查看当前存在的问题、错误和有关存储库的问题。如果存储库是维护良好的组织,喜欢指定标签来过滤问题,这些标签有助于找到相关问题。您可以根据这些标签搜索问题。

一些常见的标签是:

  • 不错的第一期
  • 漏洞
  • 新功能
  • 简单的

该组织还可以根据自己的方便创建自己的标签。

一种。好的第一个问题:作为一个初学者,你应该尝试用这些简单的问题解决简单和好的第一个问题,这将帮助你理解代码库,解决这些问题也会给你一个动力,并激励你解决大问题。

湾。沟通:您的职责是为特定问题找到有效的解决方案。如果您有任何建议或想法,您可以随时与导师交流。此外,您可以参与与其他问题相关的对话。

C。资源:要解决任何问题,充分利用问题中提到的参考链接等资源非常重要。

6. 提出拉取请求

在发出拉取请求之前,请了解什么是拉取请求?您在代码中所做的更改并推送到存储库会被其他成员查看,并在活动成员批准后合并到基础分支中。现在您已经解决了一个问题,是时候打开一个拉取请求了。在发出拉取请求时进行适当的更改很重要,有必要写一个好的提交消息和描述这个拉取请求将解决什么问题。

  • 根据您解决的问题编写提交。
  • 就像你向 GitHub 下达命令一样写提交。例如:修复加法函数。
  • 推送您的更改并等待审核。

导师将审查您的拉取请求,并向您提供反馈,您应该始终以积极的方式接受反馈并做出相应的更改。

附加提示:

  • 如果您是学生,您可以参加诸如Google Summer of Code、Linux 基金会、Major League hacking等开源计划,这将帮助您开始您的职业生涯
  • 给自己时间花 1 到 2 个月的时间来理解。如果您无法做出贡献,请不要提前退出。
  • 找一位导师来审查你的代码。
  • 在社交媒体上发布您的贡献
  • 任何组织都无法在您的空闲时间获得足够的文档,您始终可以改进文档。