现在,我们就来聊聊如何将公众的注意力吸引到你的项目上来,以及如何在吸引与正确管理贡献者上面对项目进行优化。首先请确保,你已经有了一个开源项目,人们可以在 GitHub 上访问它,它有良好的文档,并且可以很容易地安装并使用它。

如何宣传你的项目

随着项目的发展,你根本无法独自处理每件事情。所以,如果你想让项目长久生存下去,繁荣昌盛,你需要更多的人参与到项目中来。 为了让更多的人参与到你的项目中,你需要更多的人知道它,更重要的是相信它。 将你的开源项目暴露给合适的受众的最佳方式是 使用知名的资源渠道,并写一篇关于项目的博客(Blog)文章。

资源渠道在之前的章节社区沟通渠道与工具有提及,这里再增加一些:

所有这些资源之间都有一个共同点:它们都有既定的受众,并且是相关的受众。你也可以在不同在线资源之间交叉发表你的文章,从而覆盖到更到的受众。但是要注意,交叉发表有几个弊端:

  • 每个平台可能都有各自不同的标记语言,你不得不重新调整所有的格式
  • 维护性——如果某部分内容变了,你就需要在所有的资源中对你的博客进行更新

如果你选择 Medium,我会高度推荐你将自己的文章提交到某个大型专栏。这将要求你做更多的事情,因为你需要让你的文章满足专栏的要求。但是它也能确保更多的受众接触到你的文章,更重要的是,相关的受众。

如果你的博客广为传播,那么它就可以产生级联效应,为你的开源项目带来更多的人。 例如,如果你的 GitHub 项目在发表文章之后的一天之内收获了几十颗星,就可以进入 GitHub 的趋势页,这本身也是另一个曝光源。

让你的博文更加优秀的几个要点:

  • 以问题陈述作为开始,它甚至可以是博客的标题。人们通常是在寻找某个特定问题的解决方案,在他们决定花时间读你的文章之前,他们应该知道你的文章是否是他们正在寻找的东西。
  • 描述一下你的项目为什么要解决了这个问题,它是如何解决的。
  • 提供一份详细的逐步指导,从安装开始,以可以正常运行的示例结束。有很多开发者都更喜欢可以正常运行的示例,而不是博客文章。
  • 在发表文章之前,先获取一些反馈。让你的朋友们仔细阅读你的文章,不要告诉他们你的文章是关于什么的,看它们能够自己说出来。如果他们做不到,那么很有可能是你的文章不够清晰,你需要写得更加详细。

帮助用户发现并关注你的项目

通过引导他们到一个唯一的官方地址来帮助人们发现和记住你的项目。

要有一个宣传的主阵地。一个 Twitter 账号、GitHub 链接或者 IRC 频道是引导人们查看你项目的简单方式。这些方式也将会给你后续成长起来的社区有一个讨论的地方。

如果你目前还不想给你的项目搞这么多乱七八糟的东西,只想在合适的时候再宣传你的 Twitter 账户和 GitHub 账户即可。举个例子,当你在某次讨论或者活动上发言时,你可以在简介或者幻灯片上写上这些信息。这样人们就会了解你或者关注你的项目。

考虑给你的项目做个网站一个网站可以让你的项目更加友好,也更加容易浏览,更重要的是附上清晰的文档和教程。这也证明你的项目是活跃的,会让你的用户更放心地使用项目。可以用一些例子告诉人们如何使用你的项目。在之前的章节撰写#文档生成项目网站中有详细的说明。

现在你的项目有了"卖点"和容易被人们发现的渠道,接下来我们谈谈如何与你的用户交流吧!

在网上寻找你项目的用户

网络社区与论坛是分享和快速宣传项目的一个好地方。借助这些渠道,你有可能找到一大批受众。

利用好已有的线上社区和平台去找你的受众。如果你的开源项目是一个软件项目,你可以在 Stack OverflowredditHacker NewsQuora 找到可能从你的项目中受益或者感兴趣的话题。

看看下面的这些方法,获取在宣传你的项目时用得着。

  • 快速找一下有没有相关的开源项目和社区。有时候,你不要直接宣传你的项目。如果你的项目对使用 Python 的数据科学家来说是无可挑剔的,那么就去 Python 数据科学的社区宣传。等他们知道你的项目之后,很自然的就会谈论然后分享你的成果。
  • 如果你的项目能够解决特定问题,找到会遇到这些问题的人。想想你的项目受众会在哪些论坛,然后搜索这些论坛,回答他们提出的问题,然后找一个合适的时机,向他们建议使用你的项目来作为一种解决方案。
  • 寻求反馈。向可能会用到你项目的人介绍你自己和你的项目。请确保这些人是从你项目中受益的人。试着完善下面这句话:“我觉得我的项目能够帮助到 A,或者那些尝试做 B 事情的人”。不要只是简单地宣传,更需要学会倾听和回复别人的反馈。

通常,你应该先想着帮助别人而不是获取回报。因为在网上宣传一个项目对任何人来说都很简单,所以肯定会有很多人在做同样的事情。告诉人们你是谁,而不是你想要什么,这样才能从众多宣传者中脱颖而出。

如果没有人对你的宣传感兴趣,不要灰心!大部分项目的发展都可能需要花费数月甚至数年。如果你开始的宣传没收到任何反馈,尝试换一种策略,或者想办法给别人的项目做贡献。这些都是需要时间和奉献精神的。

在线下寻找你的项目用户

线下活动是向观众宣传新项目的常见方式之一。这是一个接触忠实倾听者,建立深层次联系的好方法,如果你对到场的开发者感兴趣的话那就更好了。

如果你从来没在公共场合演讲过,感到紧张是很正常的!记住你的听众和你在一起,他们都是真正想听你介绍你的项目。

当你在写你演讲稿的时候,把重点放在你的听众会感兴趣而且有价值的事情上。保证你的语言要友好且亲切。笑一笑,深呼吸,幽默一点儿。

等你准备好了,考虑在某个会议上发言的时候宣传你的项目讨论可以帮助你接触更多人,可能会是来自世界各地的人。

建立声誉

除了上面提到的策略之外,邀请人们分享和支持你的项目的最好办法就是分享和支持他们的项目。

帮助新手,分享资源,认真地给别人的项目做贡献,会帮助你建立起良好的声誉。然后他们就很有可能知道你的项目而且更有可能关注和分享你在做的事情。

有时候,这些关系还会进一步发展成更宽泛的生态中的官方合作伙伴(意思是你有可能成为那些知名社区的成员)。

种一棵树最好是在十年前,也是现在。所以任何时候开始建立你的声誉都不晚。即使是你是在很久以前建立的项目,也需要继续维护它并找办法帮助别人。

建立用户基础并不是一蹴而就的。获取别人的信任和尊重需要时间,同样,建立声誉也需要一直坚持下去。

保持下去!

有时候,让人们关注你的开源项目会花费很多时间。没关系!一些今天很流行的项目都是花了很多年才有如今的高活跃度的。把重点放在建立声誉上而不要企图一夜成名。保持耐心,请一如既往地和那些可能会从中受益的人分享你的项目。

如何吸引贡献者

最好的办法就是与他人一起发起一个开源项目。通过这种方式,你从一开始就能拥有一个可以一起分担责任的团队。

如果你独自发起开源项目,你必须吸引贡献者。根据我的经验,有两种类型的贡献者:

  1. 想要产生影响并在找项目做贡献的人(虽然很少见,但是也有)。
  2. 使用你的程序并且发现了缺陷或者缺少某些功能的人。

在这两种情况下,只在 GitHub 上分享你的源代码并写一篇关于如何使用它的博文是不够的。以下是一些可以使人们愿意做贡献的事情:

一个 TODO 列表

它可能包含已知缺陷、规划的功能或者其它的东西。这个清单会让第一类贡献者更容易选择正确的事项并发起 PR。

它可以是一个独立的清单,你也可以(或许是应该)使用 GitHub 上的 issue 和标签(labels)。

一份贡献指南

这部分内容我们再上一章撰写贡献指南中已经有详细说明,千万不到低估它的价值!随着项目的发展,这需要花费大量的时间,希望您从一开始就创建它,并随着项目的发展逐渐更新。

感谢你的贡献者们

在项目的主页列出贡献者们,这会让他们有更多的动力去做贡献。

只添加他们的名字就够了,但是我将会推荐你使用 All Contributors。它不仅能为你的所有贡献者创建带有个人资料图片和徽标的精美部分,还能通过创建 PR 来自动添加新的贡献者,将贡献者添加到这个区域。