如果你的开源项目在 GitHub 上已获得了近 6k 个 Star 和超过 4k 个活跃用户......你会选择将其存档吗?想必很多人不会。

不过近日,专注于 JavaScript、TypeScript 的开源全栈开发者 Eddie Jaoude 和 Sara Haoude 却选择了『反其道而行』,他们辛苦维护的项目在 GitHub Repo 上积累了数千个 Star、以及加入开源加速器计划,甚至确信这种状态就是他们一直想要的生活方式时,他们毅然将该项目进行了归档并放弃了一切。这究竟是为什么呢?本文将揭晓。

原文链接:https://eddiejaoude.substack.com/p/why-we-archived-a-5k-stars-open-source-project

声明:本文为 CSDN 翻译,未经允许,禁止转载。

作者 | Eddie Jaoude、Sara Haoude      

编译 | 苏宓

出品 | CSDN(ID:CSDNnews)

以下为译文:

BioDrop(以前称为 LinkFee),你可以把它看为 Linktree 的开源替代品,这是一款允许你在一个页面上集合所有重要链接的在线工具,让人们更容易找到、关注和订阅。

62910313c4ff8d5f99f5b1bcc8e7aa1f.png

BioDrop 的想法源于一次直播,在那次直播中,EddieHub 社区的成员们共同致力于创建一个开源的链接分享平台。这一想法落地的第二天,大家积极地向这个项目提交了 Pull Request。

6705b6ee0ce4e308dcebab8f1b4e8ff1.png

接下来的几个月里,我们与社区共同创建了 BioDrop 最终的样子。它不仅是一个可以添加社交链接的平台,还是一个可以与其他用户连接、查看并添加你将参加的技术活动的地方——我们可以说这是 EddieHub 社区的延伸。

对于贡献者来说,最令人兴奋的部分无疑就是通过一个 JSON 文件和一个 GitHub 仓库来创建你的个人资料,并可以在其中与他人协作。

我们看到 EddieHub 社区的热情响应:我们非常喜欢所有创建的个人资料,以及社区在使用不同工具并提出新功能时的乐趣。

某天我们醒来,发现 GitHub 仓库中有好几页新的 Pull Request,都是人们希望设置他们的 BioDrop 个人资料。原来,我们关于“如何使用 JSON 文件创建你的 BioDrop 个人资料”的文档已被用作亚洲一所大学讲座的案例研究和作业!

e8be208acca7b22bec6cf1f2310d429a.png

变得严肃起来

在将 BioDrop 完全作为社区项目进行了一年后,我们开始思考:“有没有可能将其进一步发展?”

虽然咨询和内容创作是我们的主要业务,但我们一直在考虑如何拥有一个可以转变为生活方式业务的 SaaS 产品。BioDrop 能成为那个产品吗?

为了探讨这个可能性,我们认为申请加速器计划是个好主意,而 GitHub Accelerator(GitHub 推出的项目,旨在帮助开发者加速他们的开源项目。这个项目提供了一系列的支持和资源,包括资金、工具、指导和社区支持,以帮助开发者更快地实现他们的开源项目目标)似乎非常合适:它专注于开源项目,并指导其所有者和维护者如何使其可持续发展。

后来,我们在为期十周的课程中尽可能地学习更多的知识。从中,我们与成功的创始人交谈(我们非常感激他们抽出时间和提供建议)并大量阅读相关内容后,我们觉得已经准备好将 BioDrop 转变为 SaaS 产品了。

除了推进项目和处理源源不断的社区贡献外,我们还花费了时间和个人财力进行品牌重塑、设计标志、注册域名、创建社交媒体账户,最重要的是,对于 SaaS 产品而言,思考我们的用户会从哪种付费产品中找到价值,以及这个产品的价格是多少。

64ebe1d18adf9945e7e54c5c230cf526.jpeg

BioDrop 的开源 GitHub 仓库

2739677ee7adf11074d387ed30726c2a.png

精力有限的个人,难以平衡业务开发和开源项目维护

BioDrop 的初衷是:

  1. 始终提供慷慨的免费套餐;

  2. 并且是一个社区可以贡献、发展技能和协作的地方。

多年来,我们通过 EddieHub 社区项目、YouTube 视频、直播以及 EddieHub Discord,花费了数千小时致力于社区建设。我们认为没有理由不将 BioDrop 项目的一部分转变为 SaaS。不过,有一件事不会改变:我们不想通过社区赚钱,但我们认为有些用户会觉得付费使用 BioDrop 的高级套餐是有价值的。

事后看来,我们花了太长时间才推出高级套餐。每一个成功的 SaaS 案例都告诉我们同样的事情:“先推出一些东西,它不必完美。”但这并不是我们最终存档项目的原因。我们要说的是,我们在开发高级功能的速度以及社区对此的反应确实产生了影响。

我们理解有无数项目,贡献者愿意免费贡献,而项目本身却是完全商业化的产品。但我们并不是 MongoDB 或 Elastic,因为不想被云计算厂商“白嫖”而直接修改开源许可证。回想起来,我们可能在这方面过于谨慎。我们非常担心推出一些付费的高级功能会让社区一些人认为他们的贡献被“剥削了”,即误解他们的贡献被我们当成付费的项目“谋利”。因此,我们在开发高级功能时贴上了相应的标签,而 Eddie 承担了其中 99% 的工作,只有在他实在无法解决时才会向维护者寻求帮助。

事实证明,我们不需要担心被视为让社区“免费工作”。任何带有“高级”(Premium)标签的问题或拉取请求简直就像标注了“有毒”(Radioactive)。

我们从不提倡拼命工作文化,尽管我们完全理解努力工作是实现目标的必要条件。但当你在应对社区和试图经营业务时完全筋疲力尽,并且处于永恒的生存模式时,是时候重新评估了。

1892ae8bfcda35a4a0c580467357e588.png

噪音不断加剧

通知对开源维护者的影响是一个没有得到充分讨论的话题。虽然社区项目的目标是鼓励贡献和协作,但当维护者需要全天候 24/7 处理通知,同时还要开发 SaaS 产品时,会面临很大压力。

在 GitHub Accelerator 项目中,有人分享了一位维护者的博客,该维护者决定锁定问题(Issue),直到准备处理为止。这种做法不是为了阻挡贡献,而是为了更好地管理通知。

你是否遇到过这样的问题:

  • 你翻阅评论,只看到贡献者不断重复“分配给我”的评论?很多时候,这个问题已经被分配了。

  • 或者,重复的问题被提出并同时处理,导致维护者需要解决冲突。

  • 此外,还有一些提出的问题与项目完全不符。

这有点烦人,对吧?

想象一下,这种情况每天多次发生,持续数月,作为维护者,你觉得解决这些问题就是你唯一在做的事情(与此同时,你想要开发的那些高级功能被搁置了)。于是我们决定将问题锁定,直到经过适当分类。这在很大程度上是为了保护作为项目维护者 Eddie 的理智,当向社区解释时,得到了理解。

然而,我们没有预料到的是,这一决定会导致一些项目维护者离开了项目。

Eddie 一直在鼓励人们参与开源,特别是不要对首次贡献感到害怕。当有人因为这种鼓励而做出第一次贡献,这非常棒!然而,事后看来,BioDrop 的经历改变了我们对“获取每日绿方块”这种方式的看法。

尤其在过去几年,我们看到一种趋势(如果这个词用在这里合适的话),即人们做出贡献的原因,往往是为了获得纪念品或 GitHub 上的绿色方块,这在我们看来是错误的。这并不是对有奖竞赛的批评,也不是对看到 GitHub 个人资料上的深绿色网格所带来的美好感觉的批评。但这不应该是做出开源贡献的唯一原因。这种类型的贡献通常不会考虑是否对项目有益,以及社区如何协作。

c0706844a17857fc8eb82ad5319506b6.png

如果项目收到大量只为了在 GitHub 上获得活跃度标记(绿色方块)的人而做出的贡献,那么这个项目的维护者将会不堪重负。一个例子是 BioDrop 页脚的移动次数,它被开源贡献者从左移到右边,又移到中间,然后回到左边,然后……你猜对了——又回到右边。这有原因吗?没有。

虽然有些人可能会认为这是一个不受欢迎的观点,但我们知道,我们不是唯一这样想的。以 Hacktoberfest 这样的一个全球性的活动为例,它是由 DigitalOcean 和 GitHub 合作举办的一年一度的开源活动,旨在鼓励开发者在 10 月份为开源项目做出贡献。参与者可以通过向开源项目提交拉取请求(pull requests)来参与,并在满足一定条件后获得奖励,如免费的 T 恤或其他奖品。后来,他们修改了要求和奖品,以避免我们上面提到的出于某些目的的贡献,结果导致参与度下降。

025a68d25f99f5bda46dce166dafc446.png

认识到努力工作并不是一切

我们意识到一个产品不会在一夜之间流行起来,而且我们也不是那种会做出仓促决定的人。然而,几个月过去了,很明显 BioDrop 作为 SaaS 产品并没有盈利。考虑到网络应用和数据库的托管成本,我们连最基本的收支平衡都没有接近。

经过这一的事件,我们也在思考,也许我们一开始被社区的支持冲昏了头脑?也许我们错误地解读了我们的市场研究?

此外,运行一个具有 SaaS 元素的社区项目可能会令人沮丧。社区可以免费使用它,但它却在消耗你的资金。你的高级套餐的付费订阅者数量远不足以覆盖这些成本。然后,还有大量质量参差不齐的贡献者提交通知,让你很难喘口气。如果这些因素还不够,一个早晨醒来,你发现有人编写了一个脚本,不断刷新他们的 BioDrop 个人资料页面,以便他们出现在“最受欢迎的个人资料”列表中,这实际上对应用进行了负载测试,并使我们的成本翻倍。而这并不是偶然事件。

这让你思考:“我在这里做什么?”

经过长时间的考虑(可能想得太多了……),我们决定在 2024 年 6 月将项目存档。我们考虑过将其重新变回一个 100% 的社区项目:我们禁用了高级套餐,并将所有这些功能提供给所有用户——但最终我们觉得项目无法继续。

我们想强调的是,我们有最出色的维护者,但重要的是要记住,他们也有自己的日常工作和对其他项目的兴趣。此外,现实情况已经显现:我们花了 99% 的时间在这个项目上,只做了最低限度的客户工作来维持生活费用,并消耗了我们的储蓄——这已经不再可持续了。这可能看起来像是一种非此即彼的态度,但我们需要从这个项目中脱身,同时也要开始赚钱来维持生活。

e56bfffcd9aa3ad64c9895a39f4015c7.png

吸取了哪些教训?

当然,这有些事后诸葛亮了。

我们曾想过,如果 BioDrop 能产生收入,我们会忍受这种程度的通知吗?可能在一段时间内会的吧,但我们认识到,从长远来看,这并不健康。

当然,有些方面我们确实觉得花了太多时间思考,例如名称和品牌。此外,我们在决定是否将项目存档并继续前进上花费了太多时间。在此期间,成本在不断增加,我们觉得我们没有足够的时间去继续下一个项目。

然后是许多人可能认为是最“有争议”的教训。我们曾与许多客户合作,他们希望在产品创建后围绕产品建立社区——这并不是一个容易的事情。我们想:“我们已经有了社区,所以会有支持,对吧?”

事实是,运营社区和运营 SaaS 等业务所需的心态完全不同。

运营一个纯粹的社区,需要意识到虽然很多成员在那里是为了协作,但也会有很多现实问题,譬如只是为了在 GitHub 个人资料上展示更多的绿方块、获取周边礼品,以及“我要用这个来测试我学到的新技术”和“这会在我的简历上看起来很棒”的心态将会普遍存在。有些人会说,这些正是社区应该提供的。但这对一个人来说是不可持续的。

而作为创始人,这是开展业务、经营企业的地方吗?我们的结论是,可能不是。

推荐阅读:

▶小米出资8.42亿拿地;OpenAI推出搜索引擎SearchGPT;百川智能确认已完成50亿元A轮融资 | 极客头条

▶在 iPad 上「复活」WinXP!耗时 2.5 小时后,用户直呼:“这就是我一直想要的”

▶Windows蓝屏致损150亿美元,受灾者仅获赔10美元引热议,程序员激辩用Rust能否改写史上最大IT故障结局?

abfc4e903adcff27104ac4f2482422eb.gif

关于 LINUX 的资料浩如烟海,学习 LINUX 的途径也有很多,如何才能在比较短的时间里获得一个比较大的提升呢?《LINUX 平台高级调试与优化》将与各位 LINUX 爱好者共同探索这个问题的最佳答案。

本着生动有趣、理论与实践密切结合的原则,本研习班独辟蹊径,使用调试之剑披荆斩棘,带你闯荡纷繁复杂的 LINUX 世界。本研习班由《软件调试》、《软件简史》和《格蠹汇编》的作者张银奎主讲。

3fd58d7191e553f5e96df500db9fcec2.png

Logo

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。

更多推荐