TL;DR (前言)
本文翻译自 https://star-history.com/blog/playbook-for-more-github-stars,尽可能遵照原文,部分内容做少许改动。
- 我和我的团队最近推出了一个面向开发者的开源工具。
- 这是我第一次推广一个开源工具。很难找到有意义的早期增长建议,所以我不得不发挥创造力。
- 在短时间内,我们的 star 数迅速增长到1.5k以上。我编制了一个详细的增长策略清单,这些策略帮助我们吸引了流量并获得了 star。
- 我在这里分享所有这些策略,以便其他人可以应用这些策略,让他们自己的项目得到增长。
Launching an open source project for the first time(首次发布一个 开源 项目)
任何涉足市场营销的人都知道,没有两天是相同的。你不断面临新的挑战和独特的情况。
几个月前,当我被委托推广我们建立的一个名为 Preevy 的新开源项目时,情况也是如此。
多年来,我一直在各个公司领导市场推广工作,为数十款产品进行着市场进入的努力,但这是我第一次为一个开源的开发者工具做这样的工作。不要误会 - 我团队中的开发人员都是经验丰富的开源专家。但作为市场部负责人,面临开源,我是一个需要学习的新手。
不过凡事都有优劣两面。
一方面,我需要在短时间内迎头赶上。另一方面,当你能够消除对事情“应该”如何完成的先入为主观念时,这总是一件好事。我可以自由地进行研究、提出问题,并以开放的心态制定创意策略。
我希望在6个月前找到的帖子
谷歌很快就消减了我最初的热情。我寻找了一些好的建议来加快我的学习,但大部分早期阶段的开源增长内容都很肤浅。我读过一些承诺能够“教你如何获得第一批1000个GitHub star”的文章,但并没有给我所期望的明确、具体的指导方向。
接下来的几个月成为一段忙乱的研究和实验时期。
如今,Preevy项目在发布12周后已经获得了1.5k个GitHub星标,我们每周都能看到仓库访问、fork和贡献的增长。
有几个可重复的行动在增加我们的流量和 star 数量上非常有效。回想起来,其中一些行动被埋没在那些泛泛而谈的“如何”文章中。我们采取的许多创造性措施(并且继续采取)都是我们通过老式方式学到的经验教训。
因此,本着真正开源的精神,我在此概述了我们最有效的策略。这是一种我希望6个月前就能找到的资源,希望你在启动和发展自己的开源项目时会发现这个概述很有帮助。
为什么 GitHub 星标如此重要?
明确一点, star 数并不是 开源 项目的全部,但是本篇文章我只关心star。
这里的基本假设是,GitHub star 具有价值。但它们究竟有哪些实际价值呢?
增加 star 数量有以下几个明显的好处:
它可以集中团队的努力并激励每个人团结在一个共同目标和一个不断增长的度量指标周围
star=在潜在用户和贡献者眼中的可信度和值得信赖度
您的 star 关注者群体可以让您对目标受众有更多了解
Star 可以帮助您进入 GitHub trending,并获得极高的可见度(有几个因素影响趋势,但 star 是其中一个重要因素)。
因此,如果您试图推广您的 GitHub 代码库,您应该考虑如何在上线后的前几个月里让更多人给它加star。
那么,言归正传,让我们深入探讨对我和我的团队实施的关键增长策略。
从鸟瞰的角度来看,我们的GTM(Go-To-Market)战略分为两个“阶段”:
- 人为地获取前100个 star
- 保持从100个 star 开始的自然增长
从0到100 - 人工增长
我们希望尽快获得前100颗星星,所以我们从身边开始。我认为,在我们团队中,通过我们所有人的努力,我们可以找到100个相关的人来帮助我们完成100个star 的目标。
以下是在这个阶段为我们起作用的主要行动:
给朋友和家人发消息
我们一开始很简单。我写了一则信息宣布我们刚刚启动了我们的第一个开源项目,并请人们查看并用留下一个star 来支持我们。这条信息简单友善,但又直接。
“不要只是回复一个赞。请到 GitHub 上给我一个 star (拜托了)!”
每个团队成员都把它发送给他们的人脉:相关的朋友和家人,通过电子邮件、WhatsApp、LinkedIn和Twitter的私信。
向我们共用办公空间的邻居们请求帮助
我们的公司办公室位于一个共享工作空间。这意味着在我座位几米之内有很多其他初创公司和活跃的GitHub账户。
所以,我厚着脸皮,打印了一个二维码(让其他人可以方便地在他们的设备上打开我们的仓库),并在楼层上四处走动,问人们是否可以帮我们做个小小的忙,给我们一些GitHub的支持。绝大多数人都很乐意帮忙。
我的非科学估计是早上早些时候的转化率最高,当人们还在喝咖啡时聊天,还没有专注于更严肃的日常任务。
在会议上展示
恰好在Preevy刚刚发布后不久,我参加了一个本地的技术会议。因此,我将共用办公空间的策略改编到会议展厅。我四处走动,试图利用交流的机会从四处走动的开发者那里获得更多的star。
很快,我们庆祝了我们的第100颗star 的里程碑,我们准备进入第二阶段。
超越100
我可能仅凭上述策略就可以让我们的项目获得500颗或更多的star,但那样做效率低下,而且无论如何 - 我对这种方法不感兴趣。
在第一阶段,我的重点只是达到100颗星星的门槛,以建立将来流量转化所需的最低可信度。
我们的前100颗star明显是人为产生的。而我希望其余的都是真实的。
有效的关注者可以告诉你,关于谁对你的工具感兴趣的很多信息。分析一个不断增长的关注者名单可以为你提供产品和营销的见解,这对于有效推进很重要。因此,我们的关注者名单尽快进入到自然增长阶段对我来说很重要。
以下是我们在进入第二阶段增长时起作用的方法:
内容创作
内容创作和分发是我们策略的重要组成部分(并且现在仍然是如此)。我们在这里将概括其关键要素。
就内容创作而言,我们着手创建持续的博客文章流。这些文章可以归为以下四个类别:
- 直接介绍 - 我们写了一些关于 Preevy 的帖子,直接介绍这个工具。这些帖子详细阐述了它是什么、我们为什么构建它以及谁可以从中受益。以真实、人性化的方式写作这些帖子会非常有效。
- 间接介绍 - 我们撰写了一些“如何”类的帖子,展示如何构建一个很酷的项目,并把 Preevy 作为其中的一部分。
- 清单式文章 - 我们整理了几篇以开源角度为主题的清单式文章,例如“5个能帮助你学习 [某个框架] 的项目”或者“2023年你需要了解的10个新开源仓库”等类似主题。我们会在相关的清单中包含 Preevy,但不是每次都包括。
- 开放交流- 开源是关于与他人分享的。因此,我们撰写了几篇帖子,解释我们是如何解决一个有趣问题或者实现一个相关里程碑的,以展示我们的建设过程。
每篇文章都有清晰的分节标题。我们在顶部添加了一个 TL;DR(摘要),并使用表情符号和GIF图片使其更友好和有趣。我们明确提到我们正在开发 Preevy,并希望读者能够查看并为该仓库点赞。我们使用不同的表达方式来提出这个请求(有时直接一些,有时间接一些),但我们总是找到一种方式将其作为明确的行动号召放在文章正文中。
内容分发
撰写内容是很好的,但如果你没有一个好的分发计划,它将对你没有帮助。以下是我们如何分发我们的Preevy内容:
博客平台:
我们在以开发为中心的博客平台上发布我们的内容,如Dev.to、Hashnode、Hackernoon和Medium。这些是我们主要使用的平台,但你也可以考虑其他平台。在使用这些平台时,请注意任何特定于平台的标签,以便更好地定位你的内容(例如,DevTo有一个#showdev标签,可以帮助向其他开发人员展示你的新工具)。此外,请注意像Dev.to这样的平台上,你可以创建一个官方博客,右侧会出现一个固定的呼叫菜单,以增加从你的内容点击到你的GitHub的人数。
这是我们在Dev.to上的一篇文章:
Reddit和社交媒体 -
在上述平台上发布内容之后,我们在社交媒体和相关的subreddits上进行推广。我们没有将流量引导到我们的公司博客(我们稍后会谈到这个问题)。相反,我们有意将人们引导到托管在这些外部博客平台上的文章上。我们这样做是因为每个博客平台都有一个内置的趋势算法,可以提升表现良好的帖子。通过将流量引导到这些链接上,我们让平台算法为我们服务,在短时间内使我们的帖子获得更多的浏览量。
我们的公司博客 -
不用担心,我们并没有忘记我们自己的网站。我们也在我们的公司博客上发布了所有的内容。毕竟,SEO仍然很重要,因此在公司域名上托管所有相关内容是很好的。作为额外的亮点,我们还设法将我们的博客成为 像daily.dev这样的内容聚合器的内容来源。
GitHub列表和话题
GitHub上有大量优秀的列表(通常被称为“Awesome Lists”),其中维护者会汇总具有特定关注点的工具、项目和资源。我们找到了几个与我们的工具相关的列表,并提交 pull request,建议将Preevy加入其中。
请注意,在某些情况下,您可能需要对项目或文档进行微小的调整,以符合列表的成员资格要求。但如果这是一个具有大量访问者的热门列表,这可能是值得的。
除了私下维护的“列表”外,GitHub还维护着“topic”。开源项目可以被提交以包含在相关话题下,但只能由与项目没有正式关联的人提交。因此,如果您有喜欢您的工具的朋友或早期用户,您可以考虑请求他们的帮助,让他们将您的项目提交到一些这些GitHub的“话题”中。
我们已经同时使用了列表和话题来推广Preevy。
其他网站和通讯简报(news letter)
我们找到了一些专注于推广开源工具的网站和通讯简报。我们使用这些资源来推广Preevy。以下是两个对我们有用的例子:
- GitHub20K - 在这里免费添加您的库(由@nevodavid维护)
- Console.dev - 免费提交您的工具,或者付费赞助一份通讯简报
相关的社群和隐秘社交渠道
我们加入了很多社群。我们想成为相关对话的一部分,并以更自然的方式推广我们的工具和内容。这些社群存在于 Slack、Discord、Reddit、Whatsapp、LinkedIn 和 Facebook 等平台上。要找到与您相关的社群,只需花几分钟进行搜索,或向您行业内的其他人寻求指导,以了解哪些社群值得加入。
我们注意到每个社群都有自己的规则、细微差别和机会。例如,在某个特定的 Slack 或 Discord 服务器上,可能会有一个专门展示新工具或推广您编写的新内容的频道。同样,许多子论坛每周都有一天供您自我推广自己构建的东西并获取反馈。一旦您找到一些社群,与人交朋友,并遵守规则。
付费广告活动
当我们生成了一定数量的自然流量后,我们进行了一些小规模的付费广告活动。我们使用了三个广告平台:
- Ethical Ads(面向开发者的广告平台)
- Reddit(侧重特定的技术子论坛)
- Twitter(侧重特定的相关关键词)
这些广告活动为我们带来了流量,同时也让我们能够测试我们的信息传递方式,并更多地了解是什么吸引了人们来到我们的代码库。我们利用这些结果进一步优化了我们的内容和未来的广告活动。
Influencers(大V)
在任何行业中,大V营销都可以非常有效,开源/开发者工具也不例外。关键是找到适合的人群和受众。
我们积极地在我们的行业中寻找这些人,建立关系,并进行一些合作实验。其中大多数都取得了成功的效果(有几个没有,这是可以预料的)。
每个大V都了解他们的受众和风格。明确你的营销目标,并与他们合作创建最佳的内容和活动(共同创作的帖子,产品评价,社交平台上的宣传等等),与他们协商确定最好的合作方式。
播客和推广
这个简要概括的意思其实很明显。如果你能够找到其他人在他们的播客节目、网络研讨会、会议上为你做宣传,或者允许你发表客座博客到他们的网站上,那么这将帮助你快速获得大量的流量。
迄今为止,我们已经成功为Preevy做了几次这样的推广活动,而且我们正在寻找更多这样的机会。
其他博主
因为我在面向开发人员的博客平台上活跃,所以我一直留意那些在我们领域有经验和造诣的开发人员博主。我寻找高效的文章,并联系作者询问他们是否愿意尝试 Preevy 并为其撰写相关内容。
其中一些人想要报酬(当然是合理的),而有些人则没有(出乎意料)。
有些人想要以幕后写作的形式为我们创作内容(匿名),而有些人则想要在自己的名字和页面上发布内容。
我们花了些时间找到合适的人,但一旦找到,以上所有安排对我们都有效。
Hackernews
我们使用Hackernews来推广Preevy的两种方法:
- 在“Show HN”标签下发布GitHub仓库 - Hackernews是一个与其他技术人员分享你的新项目的绝佳场所。在发布后能够得到其他人的投票和评论,有助于获得更多曝光(只是不要分享你的帖子的直接链接!)。我们加了一条首次评论,其中我们的首席技术官解释了我们构建的内容,并邀请其他人尝试。我不知道这条评论是否有帮助,但我看到很多其他开源项目也是这样做的。虽然我不能确定,但似乎HN对GitHub仓库链接更友好,而不是某些品牌的URL。因此,通过一点调整,HN可能会为你带来大量的流量。
- 发布内容 - 我们尝试在HN上发布了一些内容。成功很难说,而且HN甚至不接受来自某些外部博客平台的帖子。但是这是免费尝试的,并且潜在的收益是巨大的。
社交媒体再营销
从正式宣布Preevy上线的那一刻起,我们一直在进行有机的社交媒体活动。我们会在另一篇文章中详细介绍社交媒体策略,但可以说我们的账号一直保持活跃,内容也是多样化的。
随着越来越多的人与我们的内容互动,我开始尽可能地对他们进行再营销,邀请他们亲自试用或给Preevy点赞。
我有一份Twitter私信模板,我会发送给他们,感谢他们分享我们最近的帖子,并询问他们是否愿意给Preevy的仓库点赞。
虽然需要时间,但很多人都乐意帮忙。
不厌其烦地推广他人和项目
当我在上面概述我的“内容创作”方法时,我提到我们制作的其中一种内容是其他相关项目或工具的清单式文章。这种内容之所以如此有效,其中一个原因就是它使我们能够毫不掩饰地推广其他人。
开源不是一个零和游戏。有足够的流量和足够的GitHub stars 分配给大家。通过真诚地推广其他人、公司和项目,你可以得到他们的回报推广。这几乎就像是一种“被迫”的合作,通常是双赢的结果。
同时鼓励新的具有探索性方向的开源项目,对整个开源生态都是有助力的,你帮助其他人,其他人也会帮助你。比如我们最近发现的由中国开发者运营的开源可视化项目VisActor(https://github.com/VisActor),作为一个面向叙事和智能化方向的可视化解决方案,虽然目前刚刚起步,但是这两个方向是数据可视化的未来,我们也愿意去宣传它 ,帮助它快速成长。做为回报,它的开发者也愿意在中文社区宣传我们,体现了足够的真诚。 为他们star!
当我们写包含其他开源项目的清单式文章时,我们在推广这篇文章时会在Twitter上标记这些公司/维护人员。很多时候,他们会点赞和转发,为我们的内容带来更广泛的传播。这种方法可以以多种不同的方式应用,但足够强大,值得在我们的开源GTM行动清单中专门提到。
我的(疯狂的)Github再定位实验
- 当我们获得了数百个星标用户之后,我分析了我所建立的这个群体。我制定了一个实验性的、多部分的推广计划,以更有针对性地向那些可能对Preevy感兴趣的人进行推广。以下是我提出的一个简要概述:
- 我使用了一些工具(比如这个和这个)来查看我们的星标用户最频繁给哪些其他仓库点赞。这些“其他”常被点赞仓库的star用户成为了潜在的Preevy星标用户的扩大群体。
- 我查看这些其他仓库的star用户,并识别了那些在GitHub个人资料中公开显示电子邮件地址的人。对我来说,这表示他们不介意通过电子邮件联系。
- 我进一步识别了我认为最相关的人,并在GitHub上关注了他们。
- 然后,我通过电子邮件联系这些人,告诉他们我刚刚关注了他们,并介绍了我自己和我的项目,以防他们有兴趣了解。
最后两步只是我个人的额外措施。你可能可以不用它们。主要的想法是利用你的真实星标用户的群体,指引你找到更广泛的可能对你所提供的内容感兴趣的类似用户的群体。
作为一个额外奖励,你还可以研究那些最常被点赞的仓库是如何进行市场推广的,并尝试一些类似的方法。
庆祝里程碑!
在我们的 Preevy 成长之旅中,我们抓住每一个机会来庆祝一个里程碑。每一百个星星的里程碑都会有一个庆祝的 GIF 和一系列的帖子,以尽可能多地吸引其他人关注到仓库。
而当我们错过了庆祝第700个里程碑时,我们选择庆祝第735个里程碑(因为有时候不同是好的)。
当我们达到了1000个star的里程碑时,我们开展了一次庆祝赠品活动(实际上直到本周末结束)。
其他
这些是我们迄今为止最好的想法,可以轻松应用到其他项目中。我们还有很多其他想法,但效果不太好,或是虽然有效,但非常特定于我们所构建的内容。
我们还有一堆实验有待考虑,在开源精神的基础上,我将在这里分享其中的一部分供您考虑:
- 将自述文件翻译成多种语言 - 目前,Preevy的自述文件是用英文编写的。但我注意到,在GitHub的热门列表中,您可以按口语语言进行筛选。我想知道是否将我们的自述文件翻译成其他语言,会为代码库创造一个更大的覆盖面,使其更频繁地进入那些热门列表。
- Product Hunt(产品猎)- 我们将很快在Product Hunt上推出Preevy。这是一个很好的发布新产品和工具的地方,我们期待利用它的影响力,更多地关注我们正在构建的内容。
总结(非翻译部分)
这篇文章中,作者非常真诚的分享了Preevy项目的运营方法,我想对所有做开源工作的朋友都有启发。尤其是对我们 VisActor 这样的初创开源项目。Github star 其实并不是最重要的,但是通过自身的发展和实力赢得的Star 是得到认可的重要象征。
今夜无月,开源可视化解决方案 VisActor 感谢你点亮Star。
VisActor :github.com/VisActor
联系方式:
1)VisActor 微信订阅号留言(可以通过订阅号菜单加入微信群):
2)VisActor 官网:www.visactor.io/