孤独的开源

我们开发Markdown WYSIWYG 编辑器项目已经三年了,第一次提交是在 2015 年 3 月。我在 2017 年 12 月 30 日开始工作,发布了 1.0 版本并发布到npm

那时,仓库里就像年末办公室里的空气一样安静。几个月发布一次的问题,似乎试图说“这个项目是开源的”。三年来,它在 GitHub 上获得了 160 颗星,很难指望会出现 Pull 请求。

没有惊喜。即使来自GoogleFacebook,也有一些没有贡献者的开源项目。我想你们中的一些人可能会感到失望,因为你们宝贵的开源代码最终化为乌有。此外,我们习惯使用GitHub作为我们的免费 G​​it 存储库。我们不是吗?

从 1.0 版本开始,我希望更多的人了解这个项目。我相信这个项目比当时看起来更有价值。我做了一些事情来实现这一目标,结果它在 4 天内获得了 2,000 颗星,在一周内获得了 3,000 颗星!现在它有超过 5,500 颗星以及完整的问题和拉取请求。这件事只发生了一个月。

fxEd5o4o2pUlorTc9inK0ShqcPRAeKbbbdIc
是的。我尝试记录下所有看似重要的事情。?

我写这篇文章是为了分享我上个月的经历。如果可能的话,我还会向您展示我记录的数字。我希望它可以帮助您让您的开源项目充满贡献者。

好的自述文件可以获得星星

尽管我们花了近三年的时间来开发我们的编辑器,但似乎没有人对此感兴趣。这是不可避免的,因为文件很差。

即使是洗衣机,您也需要阅读一次说明书。您应该为您的项目提供更多文档。

自述文件描述了该项目的本质。DEMO 显示它可以使用。示例应该是各种需求的第一步。教程应该可以帮助任何人入门。

如果您错过任何这些文档,用户就会放弃您的项目。推出源代码并不会使您的项目成为开源项目。

在这些文档中,README扮演着最重要的角色。仅仅列出几个文件是不够的。你、我和大多数开发人员都很懒。大多数访问者只会在自述文件中向下滚动大约两次,如果不感兴趣就离开。因此,自述文件应该提供开发人员想要您的项目的原因。

VN2sBeV4QJppueU7fffqSQKqaMausO9oEKBU
TOAST UI 编辑器 README.md(适用于 0.14.0 和 1.0.0)

让我们看看更新 README 文件带来了什么不同。GitHub Stars 实际上只是访问者的书签。但 GitHub 星星的数量可以告诉你有多少访问者对你的项目感兴趣。

下表是我发布 TOAST UI Editor 1.0 前后记录的星星数和独立访客数。

没有添加任何功能或更新设计。仅对文档进行了更新(主要在自述文件中)和一些重构。以下数字完全来自自述文件中的更改。

T4viYEoUzOI5wh9T1yLa7R5jQqcvHDKwTyji
独立访客和明星的数量。文件更新于 2017 年 12 月 30 日
GaCXGWvuhf95YHVXrVFPp14YYvmZbBAOcbSR
更新 README 后 Star/UV 几乎增加了 5 倍

如果我们从项目一开始就有记录那就更好了。但我只是记录了数字来检查趋势。此时我无能为力。所以,让我们只看数字,我将把它留给你的直觉。

在更新 README 文件之前,大约 4% 的访问者给出了一颗星。令人惊讶的是,更新 README 文件后,大约 20% 的访问者给了一颗星。通过更新 README 文件,该项目获得的访问者评分几乎增加了五倍!

大家都说README文件很重要。但谁知道这会产生如此巨大的变化呢?看到这一点我也很惊讶。如果您希望项目有贡献者,那么您应该编写一个漂亮且有吸引力的自述文件,而不是其他任何东西。

您可以轻松地在 Google 上找到有关如何编写漂亮的 README 文件的文章。研究Awesome Readme上列出的其他项目中的自述文件也是一个好主意。

在社区中传播信息

我们的项目每天约有十名访客。如果您在文档上付出了很大的努力,那么是时候让人们了解您的项目了。

当然,最好是由其他人而不是您来宣传您的项目。但你必须自己开始。如果您的项目未从任何地方链接,则它不会显示在 Google 搜索中。没有人会知道您的项目存在。

一有机会就谈论您的项目

回答StackOverflowQuora上的问题。与Facebook 群组中的人交谈。提交HackerNewsReddit的链接。并要求新闻通讯发布您的项目。

CBGMjGs-i9eacEIZ8xKdCLs33H2rMdiez5YB
告诉他们你的项目是什么。

您还可以要求社区帮助您完成项目,并向他们介绍您的项目。

但是,不要盲目地向他们发送垃圾邮件。社区和媒体有不同的个性。在不了解每个社区的情况下向您的项目发送垃圾邮件可能会导致您的帖子被删除或干脆被忽略。在最坏的情况下,您可能会被禁止进入这些社区,或者您的项目可能会名声不佳。

积极参与每个社区以了解他们。了解社区不仅有利于公关。您从他们那里学到的东西也会对您的项目有所帮助。

有一天,一位推销员告诉我:

“让客户参与你的工作是获得忠诚客户的最佳方式。”

我百分百同意这一点。我认为我们应该为我们的工作做同样的事情。

当我更新自述文件时,我要求他们查看该文档。值得庆幸的是,有两个人在查看新的自述文件后发送了拉取请求。我确信他们两个比其他访客对我们的项目更感兴趣。我敢打赌他们也在我们的项目中脱颖而出。

2ZzKahZ8Rkt6E30BX8wLuAqjrRS3DntIOwC2
感谢你们 ?

学习 GitHub 探索

GitHub 是获得贡献者的最佳场所。如果你的项目在 GitHub 上,不要看太远,先了解一下。在 GitHub 的顶部,你总能找到一个菜单,里面有一只可爱的章鱼。探索是我们应该关注的该页面向开发人员展示了有用且有趣的开源项目。

Explore 让您有机会向2400 万 GitHub 用户展示您的项目。这就是为什么您应该在 GitHub 上维护您的开源项目。

其他服务也很棒,所以不要误会我的意思。我已经使用 BitBucket 很长时间来私下管理个人项目了。近年来,GitLab 还拥有非常好的功能,有时比 GitHub 更适合我。然而,开源项目必须在 GitHub 上维护才能吸引来自 Explore 的访问者。

uKJBu0akQT8hAe-QGY9CiF6HV1zP34Ud1P5O
GitHub 探索趋势和主题

看看都有哪些类型的项目,发现这些项目有哪些好的部分,以及当前的趋势如何。如果您还没有看到“探索”页面,那么是时候查看一下了。在这里您可以了解如何使您的项目变得更好。

当您打开此页面时,您将看到CollectionsTopicsTrending选项卡 - 每个选项卡都列出了不错的开源项目。其中,我们将研究趋势和主题。我们无法帮助收集这些集合,因为它是由 GitHub 管理的。

探索主页中的“趋势”部分显示了当周所有语言中获得最多星星的项目。爬上去真的很困难。

v6YScBoXtOlnjtj8VIqkaKSKs43RaazIX2ak
本周以 4,761 颗星排名热门热门第一。你需要运气才能占据这个位置。

但你不必放弃。缩小语言和日期范围,然后查看排名较低的项目。您的项目也可以达到一个实际的数字。

n4GCid-4SZ89d9Q9Mvs5T8Z5kT-El1Tp36XP
今日热门 JavaScript 排名第 25 位,今天有 63 颗星。你也可以这样做。

通过引入您所在的每个社区,关注特定天内的访问者进入列表。如果您可以收集足够的星星,您的项目也可以出现在趋势列表中。您获得的星星数量取决于您的项目语言、星期几等。

如果您发布了一个新项目或向该项目添加了功能,那么现在就是将其发布的最佳时机。即使您的项目排名较低,也不要失望。您的项目仍然会吸引更多访客。将“趋势”部分视为根据您的排名对访客的激励。

xgjJzmJuEXJ0zEXIAAvJnpPkFePhQ2Ki2VoG
1 月 10 日、1 月 11 日独立访客数

上图是我于 1 月 10 日在各个社区传播消息后 GitHub Insight 的访问者细分。GitHub Insight 中的引用站点给出了两周内的值,因此您需要进行一些计算才能获得您想要的数字。

1 月 10 日——第一天——几乎所有访客都来自我自己的社区。幸运的是,图表中 GitHub.com 的一小部分显示我们的编辑器位于趋势列表中。第二天,也就是 1 月 11 日,GitHub 已经带来了一半的流量。出现在趋势列表中是很好的激励。

gSLAVbCTOm94GAUSM2uUT9fOGvpEuI7Ig5Yo
1 月 12 日的独立访客数。

第二天,即 1 月 12 日,该编辑器被记录为所有语言的“今日趋势”第一名。大多数访问者来自 GitHub。从今天开始,我自己写的帖子的访问量就大大减少了。另一方面,随着知名度的提高,来自意想不到的推荐人的访客也出现了。

Fkh7LnVBf-xxiw07DBLx0f0k-kvnxept2yMr
1 月 13 日的独立访客数。

第二天,即 1 月 13 日,大多数访问者来自 GitHub。在社区发布四天后的这一天,编辑获得了 2000 颗星。尽管此后增长有所下降,但一个月后,本月趋势仍然带来了新访客。

GitHub 主题的稳定访客

主题按主题中星星的数量顺序显示项目。

这意味着,一旦您的项目有足够的星星可以在主题上列出,即使您的项目未从趋势中列出,它仍然可以吸引访问者通过该主题。

主题列表中的访问者数量不如趋势列表中的访问者数量那么多。但这仍然是值得的。

-pGKqUjYfdTv3sQAsvGz8S2yi4qA5UPpF-op
存储库页面中的项目主题

我看到很多项目没有主题。查看上图,了解可以在项目中的何处设置主题。您可以设置任何您想要的主题。

但是,GitHub 管理一个名为“特色主题”的列表。因此,最好从特色主题中选择相关主题,以吸引更多访问者。

85HgGTwD9TESI-T21bArImtsKG6f4-zc4DS3
GitHub 探索所有特色主题和热门主题

此外,根据主题的不同,需要在顶部列出的星星数量也有很大差异。

以 JavaScript 主题为例。有像恐龙大小的项目,如 FreeCodeCamp(大家好?)、BootStrapReact、Vue 等。这使得您的项目进入此列表的难度增加了约 100 倍。

9hgwX85q-YLQbcHAO3sDmEH6JOgBe7tgm4XX
GitHub 探索 JavaScript 主题。您的项目永远无法击败 freeCodeCamp。?

我们的编辑器在 Markdown 主题中排名第 10,拥有 5,400 颗星。查看主题并选择竞争不太激烈的主题。

最适合您的项目描述的单行

3RufjyexWtRQbUFwJE6z2pVVvHWHIXB99FDY
存储库页面中的项目描述

我们再找一下上图中的描述。您的项目的项目描述是什么?我已经将我们的编辑器的描述写为标题的长版本(这是一个坏主意)。你想好你的路线了吗?然后我们看下一张图片。

fN0S0mRMAK9ZnuJKr2YdiPiP4XTToB-9ILH3
关于趋势和主题列表的项目

这就是我们的项目在趋势和主题上的样子。尝试从访客的角度来看待它。有组织、姓名、贡献者图片等。确定是否单击的唯一有用信息是描述。

描述应该是描述您的项目的最佳单行。

最后一句话

写文件。积极参与社区活动。利用 GitHub 的工具。

我在本文中分享的技巧将帮助您使您的项目作为开源项目变得更好(除了获得更多星星之外)。

但如果没有项目本身的价值,仅靠这些技巧并不能让您的项目受欢迎。我希望这篇文章可以帮助您找到您的项目应得的贡献者。

我有机会写这篇文章是因为前维护者(ShirenJungHwan)为这个项目做了出色的工作。我相信这个项目已经具备了今天的价值。本文中的提示帮助我们实现了其余的目标。

上个月,作为一名开发人员,我经历了一次真正特殊的经历。我要感谢TOAST UI 家族Dooray!团队大家的支持!

如果您对TOAST UI 编辑器感兴趣,我建议您尝试Dooray!也。它随编辑器一起提供,并且对 100 名以下的协作者免费。让 TOAST UI 编辑器陪伴您?

我从一个一周赢得 3,000 颗星的旧 GitHub 项目中学到了什么