维护开源项目通常是吃力不讨好且耗时的工作,这已不是什么秘密。然而,我了解到开源维护者之间有一个共同的乐趣:他们喜欢与一群对他们的愿景充满热情的科技人员一起构建项目。
营销让人觉得尴尬
社区支持和团队合作是开源维护者的主要动力。然而,获得社区支持和贡献者是一项挑战,特别是对于新的维护者而言。我们希望技术人员能偶然发现我们的项目并开始贡献。但现实是我们必须营销我们的项目。想想看:开发者每天创建多个公共仓库,但没有人知道这些仓库的存在。没有采用、社区或协作,我们就无法真正收获开源的好处。
尽管营销开源项目对于项目的整体成功是必要的,但开发者不愿这样做,因为向其他开发者进行营销通常会让人觉得不真诚且尴尬。在本文中,我将探讨维护者可以使用的以真诚方式吸引贡献者的方法。
推广您的开源项目
如果您希望人们为您的项目做贡献,您必须告诉他们您的项目存在。那么,推广对您来说是什么样的呢?维护者可以通过许多渠道推广他们的项目,而不是在 Discord 频道或 DM 中垃圾邮件发送开源项目,包括:
- 会议演讲:人们参加会议是为了获得灵感。不要害怕;他们不一定在寻找博士级别的讲座。在 All Things Open、Open Source Series 101、Codeland 或 Upstream 等活动中登台演讲,谈论您正在构建的内容、您构建它的原因、您面临的问题以及您取得的发现。演讲结束后,人们可能想了解更多关于您正在构建的内容以及他们如何参与其中。
- 博客:利用流行的开发者博客平台,如 Aviyel、Dev.to 或 Hashnode 来谈论您的项目。在博客文章中添加指向您项目的链接,以便合适的人可以找到它。您还可以向 Opensource.com 的编辑提交文章,以提高对您的开源项目的认识!
- Twitter:Twitter 拥有庞大的技术受众,包括开发者、用户体验设计师、开发者布道师和信息安全专业人士,他们希望相互协作和学习。Twitter 是一个完美的平台,可以以一种真实、非强迫的方式发布关于您的发现、新版本和错误修复的信息。人们将通过您的推文向您学习,并可能愿意与您一起构建项目。
- 播客或 Twitter Spaces:与会议演讲一样,使用播客和 Twitter Spaces 来打造您项目的品牌。您不必以营销的方式谈论它。您可以与主持人一起畅谈您的愿景以及您一路走来遇到的技术障碍。
- Twitch 直播:直播您自己编写项目代码的过程,以提高对其存在的认识,并与您的观众配对程序。最终,他们可能会告诉其他人您的产品,或者他们可能会要求自己贡献。
- Hacktoberfest:Hacktoberfest 是每年十月举行的为期一个月的活动,旨在鼓励人们首次为项目做出贡献。通过作为维护者参与 Hacktoberfest,您可以招募新的贡献者。
- 赞助:贡献不一定总是包含代码。公司和个人可以通过赞助您来做出贡献。在此处了解更多关于创建有吸引力的赞助商资料的信息。
获得社区支持
谚语“众人拾柴火焰高”不仅适用于育儿。维护开源项目也需要集体的力量。社区是开源和一般生活成功的很大一部分。然而,社区支持是双向的。为了维持社区支持,最佳实践是回馈社区成员。
社区支持对您来说是什么样的?当您推广您的项目时,您会发现有人愿意支持您。为了鼓励他们继续支持并吸引其他潜在的支持者,您可以:
- 突出贡献者/支持者:一旦您开始获得贡献者,您可以通过在您的 README 中突出显示过去、现在或持续的贡献者来激励更多人为您的项目做贡献。这种认可表明您重视和支持您的贡献者。如果您负担得起,可以向您的贡献者发送 swag 或一部分赞助资金。如果您以真诚地支持您的开源社区而闻名,人们自然会涌向您的项目。

(Rizel Scarlett,CC BY-SA 4.0)
- 建立友善文化:在您的仓库中发布行为准则,以确保贡献者的心理安全。我强烈建议您也遵守这些准则,在评论、拉取请求和问题中友善地回应他人。同样重要的是,您要执行您的行为准则。如果您的社区中有人不遵守规则,请确保他们毫不例外地承担概述的后果。不要让有毒的行为者用不友善的语言和骚扰破坏您项目的环境。
- 提供开放讨论的空间:通常,贡献者加入开源社区是为了结交志同道合的技术人员,或者他们有技术问题,而您并不总是有空聊天。开源维护者通常使用以下工具之一来创建一个供贡献者相互交流并在公开场合提问的地方:
- GitHub Discussions
- Discord
- Matrix.org
- Mattermost
创建一个“好的”开源项目
好在代码或艺术中是主观的,但有一些方法可以表明您的项目是经过深思熟虑的,并且是一项好的投资。创建一个好的项目对您来说是什么样的?您的项目不必包含惊人的代码或成为改变生活的项目才能表明质量。相反,请确保您的项目具有以下属性。
易于查找
为了帮助其他人找到并贡献您的项目,您可以向您的仓库添加与您的项目的预期用途、主题领域、社群或其他重要品质相关的主题。当人们访问 github.com/topics 搜索项目时,您的项目更有可能显示出来。

(Rizel Scarlett,CC BY-SA 4.0)
易于使用
使用详细的 README 使您的项目易于使用。这是新用户和潜在贡献者在访问您的项目仓库时看到的第一件事。您的 README 应充当用户操作指南。我建议您在 README 中包含以下信息:
- 项目标题
- 项目描述
- 安装说明
- 使用说明
- 指向您的实时 Web 应用程序的链接
- 指向相关文档的链接(行为准则、许可证、贡献指南)
- 贡献者亮点
您可以在此处了解更多关于制作完美的 README 的信息。
易于贡献
提供指南和管理问题有助于潜在贡献者了解帮助机会。
- 贡献指南 - 与 README 类似,贡献者会查找名为 Contributing.md 的 Markdown 文件,以了解如何为您的项目做贡献。指南对您和贡献者都很有帮助,因为他们不必问您太多问题。贡献指南应回答常见问题。我建议在您的 Contributing.md 文件中包含以下信息:
- 使用的技术
- 如何报告错误
- 如何提出新功能
- 如何打开拉取请求
- 如何认领问题或任务
- 环境设置
- 风格指南/代码约定
- 指向讨论论坛的链接或人们如何寻求帮助
- 项目架构(最好有)
- 已知问题
- Good first issues - 使用标签 good-first-issue 突出显示不需要遗留项目知识的问题,以便新贡献者可以放心地首次为您的项目做出贡献。

(Rizel Scarlett,CC BY-SA 4.0)
坚持不懈
即使没有人为您的项目做出贡献,也要通过您的贡献保持其活跃。人们会对活跃的项目更感兴趣。坚持不懈对您的项目来说是什么样的?即使没有人贡献,也要继续构建您的项目。如果您想不出要添加的新功能,并且感觉您已经修复了所有错误,请设置使您的项目易于管理和扩展的方法,以便在您最终获得大量贡献者时使用。
- 可扩展性:一旦您获得贡献者,响应每个问题将变得更加困难。在您等待更多贡献者的同时,自动化最终会变得耗时的任务。您可以利用 GitHub Actions 来处理发布过程、CI/CD 或允许用户自行分配问题。
TL;DR(太长不看)
吸引贡献者到您的开源项目需要时间,因此请耐心等待,不要放弃您的愿景。在您等待期间,通过公开发布和通过博客文章、推文和 Twitch 直播分享您的旅程来推广您的项目。一旦您开始获得贡献者,请以认可、心理安全和支持的形式向他们表达感谢。
后续步骤
有关维护开源项目的更多信息,请查看 GitHub 的开源指南。
评论已关闭。