如何找到开源项目并做出贡献

2025-05-25

如何找到开源项目并做出贡献

我经常被问到如何找到可以贡献的开源项目。在这篇文章中,我将向你展示如何找到这些项目。你可以参考这些技巧,并根据你想要贡献的项目类型、想要练习的技能或想要支持的事业来调整你的搜索条件。

您已经使用的项目

如果您是一名开发人员,您很可能遇到过开源的库、框架或编程语言。如果您在项目中使用NPM中的软件包,您可以在软件包页面上找到项目源代码的链接。以react-kawai 包为例,它指向miukimiu /react-kawaii GitHub 仓库。PyPI 中的 Python 软件包也是如此。以fastapi 包为例,它指向tiangolo/fastapi GitHub 仓库。

有些编程语言是在开源社区中开发的,你可以在其中查找源代码、拉取请求以及相关的讨论。Python 语言就是一个例子,可以看到拉取请求被合并到源代码中

以下是我之前使用过的一些开源项目:

  • fastapi,一个使用 Python 构建 API 的 Web 框架;
  • python,编程语言;
  • scala-exercises,学习如何用 Scala 编写代码的网站;
  • flask-jwt-extended,提供 JSON Web Tokens(JWT)支持的 Flask 扩展;
  • forem ,为dev.to提供支持的社区建设软件
  • jogo-das-profissoes,一款葡萄牙网络记忆游戏,帮助儿童了解不同的职业;
  • Zulip,一个可用于开源讨论论坛的团队协作工具。

您可以查看项目源代码库的问题跟踪器,看看是否存在您可以处理的问题。

以最终用户的身份与项目互动,可以让您更好地发现项目的其他用户所欣赏的 bug 或理想功能。因此,您甚至可以提交 issue 来报告 bug 或对项目提出修改建议,如果这些建议得到验证,您就有可能成为解决问题的人。请记住,报告有用的 issue 本身就是一种开源贡献。

现在,我想强调的是,除了开发者之外,您还可以以其他角色使用项目。例如,如果您正在使用最终用户应用程序(使用实时聊天应用程序(例如Zulip)与其他人交流)。您仍然可以找到项目源代码存储库,并以多种方式做出贡献。

开源计划

我最初接触开源是通过一项鼓励大家在 12 月(24 个 Pull 请求)期间贡献代码的倡议。我决定使用 Markdown 语言进行第一个小贡献,你可以在 GitHub 上的FrancesCoronel/hire-me/pull/9查看。

后来,我参加了另一个项目,叫做Google Summer of Code(GSoC),它帮助我学到了很多关于为开源做贡献的知识。参与这些项目,是我参与开源的途径。

前段时间,我写了关于开源项目和计划的文章,例如Google Summer of CodeOutreachyHacktoberfest等。

对于Hacktoberfest,您主要可以在 10 月份找到这些项目。参与的项目和问题将带有“Hacktoberfest”标签。对于24 Pull Requests,您可以在 12 月份活动期间在页面上找到列出的项目。

关于寻找开源项目,我通常建议关注那些参与过 Google Summer of CodeOutreachy 的组织。参与这些项目的项目和组织通常都有明确的框架和指导方针,明确哪些工作可以开展,以便组织在项目期间做好接待参与者和导师的准备。

在 GSoC 网站上,您可以找到开源界的知名组织,以及其他仍然有资格参与的组织。您可以找到各种类型的项目,例如与硬件相关的项目、支持社会事业的应用程序、开发者工具、安全等等……为了便于了解,您可以查看今年2021 年2020 年2019 年2018 年等历年参与 GSoC 的组织。

以下是我在组织列表中看到的按类别划分的几个组织:LibreHealthPostgresNumFOCUSDebianOpen Food FactsThe Tor Project

项目和问题的聚合器

一些网站会聚合开源项目或问题,以便于寻找可以贡献的项目。例如Up For GrabsCodeTriageOvio等等。

有时,你也可能发现一些存储库仅包含信息内容,而有些存储库则包含项目汇编。对于葡萄牙社区的项目,OldMetalmind/PortugueseOpenSourceProjects GitHub 存储库中有一个不错的葡萄牙开源项目集合。

此外,您有时可以在dev.to 社区上找到帖子,维护者可能会在其中推广他们的开源项目并专门寻求贡献者。

GitHub 探索

另一个值得了解的工具是GitHub Explore功能,它可以突出显示适合你技能的项目。你可以找到按集合主题分组的项目,或者按趋势分组的项目。

我注意到的一些收藏品政府应用程序巴西制造的机器学习入门的非洲制造的……

主题类似于标签,可用于查找与特定工具、编程语言或项目类型相关的项目。主题通常由维护者在仓库中明确设置。在 Hacktoberfest 期间,维护者会将Hacktoberfest 主题添加到他们的项目中,以表明他们正在参与该活动。例如,要查找包含 Python 主题的仓库,您可以访问github.com/topics/python

现在您知道在哪里可以找到它们了……

请注意,一旦你找到一个想要贡献的项目,该项目可能已经不再被积极维护。所以,即使你想直接贡献,也可能没有维护者接受你的贡献。

要了解项目是否处于活跃状态,请检查问题、拉取请求或提交到主默认分支的近期对话。您还可以查找项目不再维护的任何通知。维护人员通常会在 README 或问题中留下声明,如果不再维护项目,他们甚至会将代码库归档。

在决定要贡献哪个项目时,请务必阅读贡献指南和行为准则,以便以预期的方式与项目、维护者和项目社区互动。这将使您作为贡献者和维护者的工作更加轻松。同时,请寻找适合初学者的标签,例如“适合首次提交的问题”或“仅限初学者”,这些标签旨在帮助人们找到可以贡献的首个问题。

我还有一条建议:如果你刚开始为开源项目做贡献,那么为一些不太热门的项目做贡献会更容易一些。这些项目的问题和拉取请求可能比较少,维护者也可能会更关注你。无论如何,你仍然可以关注一些热门项目,它们可能存在一些我上面提到的“初学者友好”标签的问题。尽管由于这些项目比较热门,做出贡献可能会比较困难。

要知道,你可以在很多地方找到开源项目,比如 GitHub 和 GitLab,但是对于某些项目,维护它的组织会使用其基础设施来托管源代码。Android 开源项目就是一个例子,你可以在这里找到它。


希望以上内容能帮助你了解如何查找开源项目!我经常会为一些并非我维护的项目做贡献,那是因为我偶然发现了项目中的一个问题,我知道如何解决,但却发现还没有人报告。

文章来源:https://dev.to/isabelcmdcosta/how-to-find-open-source-projects-to-contribute-2o1e
PREV
Git Revert Pushed Commit 如何撤消上次提交
NEXT
同步引擎是 Web 应用程序的未来吗?