Section 1
四处传播
目前为止,对于新创建的开源项目,还没有什么推广的固定的套路。但也没有任何理由说,开源项目就是必须默默无闻的。相反,如果你想有更多的人去发现并使用你的开源项目,你应该让更多的人知道你的努力以及所能解决的问题!
Section 2
发出自己的声音
在你开始推广你的项目之前,你应该解释你的项目是做什么的,为什么大家需要他?
是什么让你的项目变得不同或者有趣,在自己心中问这些问题,会让你更容易说服别人。
请牢记一件事情,别人之所以使用你的项目,甚至是为你的项目做贡献,是因为你的项目解决了他们的问题。所以你要找出他们需要什么,然后把它当成你项目的卖点或者说价值所在。
举个例子,@robb用代码实例来清晰的阐述为什么他的项目Cartography是有用的。
如果你想深入了解如何挖掘项目的“卖点”,看一下Mozilla的“角色和路径”,练习如何建立用户的形象。
Section 3
帮助人们找到并关注你的项目
你最好有一个唯一的“主页”链接用来推广,引导人们关注你的项目。你不需要找一个炫酷的模板或者域名,但是你的项目确实需要一个入口。
通过引导他们到一个唯一的地址来帮助人们发现和记住你的项目。
要有一个推广的主阵地。一个Twitter账号,Github链接,或者IRC频道是引导人们查看你们项目的一个简单的方式。这些方式也给你日益增长的社区一个讨论的好地方。
如果你目前还不想给你的项目搞这么多乱七八糟的东西,而且还要在有机会的时候推广你的Twitter账户和Github账户。举个例子,如果你某一个讨论会或者活动上发言要保证在你的简历或者幻灯片上包含这些信息。只有这样人们才会知道怎么找到你或者关注你的工作。
我之前犯过的一个错误就是没有给项目开一个Twitter账户。Twitter是一个让人们知晓项目进展的好渠道,也可以让人们持续的接触到你的项目。
考虑给你的项目做一个网站 一个网站可以让你的项目更加友好,而且更加容易浏览,更重要的是附上清晰的文档和教程。这也是象征着你的项目还是活跃的,这会让你的用户使用你项目的时候感觉更放心。可以用一些例子告诉人们如何使用的项目。
@adrianholovaty, Django的协作者说,我们给Django做的网站可以说是“在早期开发Django的时候做的最好的一件事情了”。
如果你的项目是托管在GitHub上的,你可以用GitHub Pages简单的创建一个网站。Yeoman, Vagrant, and Middleman 是一些优秀的内容详尽的网站的例子
现在你的项目有了“卖点”,和让人们很容易发现你项目的渠道,接下来我们谈谈如何和你的用户交流吧!
Section 4
到你项目的受众区(线上)
网上拓展是分享和快速宣传项目的一个好方法。借助一些网上的渠道,你有可能找到一大批受众。
利用好已有的线上社区和平台去找你的受众。如果你的开源项目是一个软件项目,你可能会在Stack Overflow, reddit, Hacker News, 或者Quora。找到你觉得人们会最有可能从你的项目中受益或者对你项目感兴趣的渠道。
每个程序都会有那么一些方法只有一部分人才会用到,所以不要想着去打扰每一个人,把你的力气用在可能会从你项目受益的社区就好。
来看看下面的一些方法吧,也许推广你的项目的时候用得着。
# 快找找有没有相关的开源项目和社区。有时候,你不需要直接的推广你的项目。如果你的项目对使用Python的数据科学家来说是无可挑剔的,那么就去找Python数据科学的社区。等他们知道你的项目之后,很自然的就会谈论然后分享你的工作成果。
# 如果你项目尝试解决某些问题,那么找到会遇到这些问题的人。想象你的项目受众会在哪些论坛,然后搜索这些论坛,回答他们的问题,然后找一个合适的实际,向他们建议使用你的项目来作为一种解决方案。
# 寻求反馈。 给一个可能会用到你项目的人介绍你自己和你做的工作。对哪些人会从你的项目受益要很明确。尝试完善一下下面这句话:“我觉得我的项目能够帮助A,那些尝试做B的人”。听取和回复别人的反馈,而不是简单的推广。
一般来说,在你索取什么回报之前先把精力放在帮助别人上。因为在网上推广一个项目对任何人都是一个不难的事情,所以有很多人和坐着一样的事。告诉人们你是谁,而不是你想要什么,这样才能从众多推广者中脱颖而出。
如果没有人对你的推广感兴趣,不要灰心!大部分的项目的开展都是一个要花费数月和数年的反复过程。如果你第一次没收到反应,尝试换一种策略,或者找办法给别人的项目做做贡献。这都是些需要时间和奉献精神的事情。
Section 5
到你项目的受众大本营(线下)
线下活动是一个推广项目流行的方式。这是一个接触某个忠实听众和建立深层次的联系的好方式,特别是如果你对到场的开发者感兴趣的话。
如果你还是个公开演讲的新手,从寻找一个和你项目使用的语言或者生态系统相关的当地的聚会开始吧。
我去Pycon的时候非常紧张。我要发表一个演讲,在那儿我就认识几个人,还在那儿呆了整个周。但是其实我不应该焦虑的。Pycon 的组织活动非常的棒!每个人都是超级友好热情的,以至于我没有找到时间和人们讲话。
如果你从来没在公共场合讲过话,感觉紧张那就太正常啦!记住你的听众就在哪儿,因为他们都是真正的想听你介绍你的项目。
当你在写你的演讲稿的时候,把重点放在你的听众会感兴趣而且能获取价值的事情上。保证你的语言要友好和和蔼可亲。笑一笑,深呼吸,幽默一点儿。
当你开始写你的演讲稿的时候,不管你的主题是什么,如果你能把你的演讲当成是给别人讲故事的话,效果会更更好。
等你准备好了,考虑一下在某个会议上发言的时候推广你的项目研讨会可以帮助你接触更多人,有时候是来自全世界各地的人。
我非常认真的给 JSConf 的人写了一封信,然后求他们给我一点时间让我 JSConf 上展示我的项目。同时我又非常担心,这个项目我做了六个月,要是大家不认可怎么办。那时候我就一直在怀疑自己,我的天,我究竟是在这里干吗?
Section 6
赢得口碑
除了上面提到的策略之外,邀请人们分享和支持你的项目的最好办法就是同样的分享和支持他们的项目。
帮助新手,分享资源,给别人的项目认真的做贡献会帮助你建立起良好的声誉。然后他们就很有可能知道你的项目而且更有可能关注和分享你在做的事情。
有时候,这些关系还会进一步发展成更广阔的生态系统中的官方合作伙伴(意思是你有可能成为那些有名社区的成员)
urllib3 之所以是现在最流行的 Python 第三方库的唯一原因就是大家都需要他。
种一棵树最好的时候是十年前,其次是现在。所以啥时候开始建立你的声望都不晚。即使是你早就已经建立了自己的项目,还是要继续想办法帮助他人的。
建立用户群没有一蹴而就的方法。获取别人的信任和尊重需要一定的时间,同样,建立声望的过程也要持之以恒。
PhantomJS 公开第一个版本的时候实在2011年初。我也就是用一些常规的方法来推广:发Twitter,写博客告诉别人可以用它来做什么,在各种各样的聚会上我都提到过它。当2014年他已经广为人知的时候。我才开始做关于它的演讲。