Skip to content

华为云 OpenTiny 开源社区 Kagol:“KPI开源”背后,是谁失了速?

很多人错误地认为一个开源项目好不好,就是看这个开源项目的 Star 数多不多……

实际上,一个好的开源项目,一定是能够满足人们的某种需求或者解决人们的某个痛点问题的,也即它应该是有价值的。

作者 | Kagol

责编 | 韩 楠

随着开源在国内的逐年火热,国内的各大公司都意识到开源的巨大价值,纷纷将公司内部的优秀项目开源出来。这其实是一件好事,让整个开源生态更加繁荣,让广大的开发者有了更多选择。

不过由于每个人对开源理解的深浅不同,有些人认为开源就是把源代码放到 GitHub上,有些人认为一个开源项目好不好就是看它的 Star 数多不多,还有人认为开源就是免费、就是“白嫖”,这些对开源错误或片面的理解就导致了“一次性开源”、“KPI 开源”等不好的现象。而这些不好的现象和行为反过来又会误导人们对开源的理解,伤害到参与开源的开发者。

所以我们必须重新思考开源的意义,为什么要做开源,KPI驱动的开源到底行不行,以及“KPI开源”背后,到底是谁失了速又如何变速或刹车回归正轨。只有利用正确的开源价值观指导自己的开源行为,才能让开源朝着更健康的方向发展。

一、Star 数量多 ≠ 开源项目好

一个好的开源项目应该是能够满足人们的某种需求或者解决人们的某个痛点的,也就是说它应该是有价值的。

在启动一个开源项目之前,我们需要想清楚开源项目的用户群体是谁,能满足他们的什么需求,解决他们的什么问题,把价值讲清楚了,即可启动开源项目。

后续的所有开源举措都应该围绕实现这个价值展开,围绕构建活跃、健康的开源社区展开。

很多人错误地认为一个开源项目好不好,就是看这个开源项目的 Star 数多不多,很遗憾,Star 不是衡量开源项目成功的唯一指标,甚至都不是一个很好的指标。

Star 数只是代表别人关注到你的开源项目,希望进一步了解你的开源项目,最多也就代表别人可能喜欢你的开源项目,并不代表你的开源项目给别人带来了实际的价值。

从开源的意义层面而言,其在于能够给用户带来价值,别人 Star 了你的开源项目,顶多说明他可能是潜在用户,连“用户”都算不上,又何谈为用户创造价值。

二、想做有价值的开源项目,得先搞懂用户参与路径

所以我们应该更进一步,思考下用户从听说你的开源项目到最终成为你的用户,将你的项目部署到生产环境,也就是你的项目真正为用户创造了价值,这个路径到底是怎样的。只有了解了这个用户路径,你才能针对这个路径的每一步制定合理的指标,让指标真正为目标服务,从而引导开源项目朝着目标前进。

当你已经有了一个开源项目,你需要让别人知道,因此你需要做推广和运营,比如:

  • 在开发者聚集的技术社区发布博客文章
  • 在业界技术大会上介绍你的开源项目
  • 与其他开源社区或 KOL 合作推广你的项目
  • 举办线下 Meetup

具体的用户参与路径,经一番梳理分析有以下几点:

  1. 用户通过这些平台了解了你的开源项目,并访问开源项目的官网和代码仓库;
  2. 用户下载和安装你的项目,并开始尝试使用;
  3. 使用过程中发现问题,给你的项目提交 Issue,并加入你的开源社区,与你产生更紧密的联系;
  4. 通过充分的调研和体验,用户最终选择将你的项目集成到自己的产品中,并部署到生产环境,产生商业价值;
  5. 随着深入使用你的项目,遇到了越来越复杂的场景,你的开源项目已经满足不了用户的业务需求,这时用户希望参与你的项目贡献,并尝试提交 PR,让项目变得更好。

这样你的开源项目才真正算是成功,你给用户创造了价值,用户也参与到你的开源社区中,为开源项目做贡献。

三、开源衡量指标的制定,是个技术活儿

分析清楚了用户参与路径,我们才能制定合理的开源衡量指标,并让指标指引开源运营的方向。

最初级的指标就是有多少目标用户访问了你的开源项目官网和代码仓库,如果一个项目都不被人所知,何谈为用户创造价值。这个指标可以通过官网 PV / UV、留存以及 GitHub 仓库的 Traffic 数据来表示。

用户从了解到熟悉你的开源项目需要花费时间和精力,用户可能需要下载你的项目,亲自体验和评估,如果你的项目足够好,用户又下载和尝试使用了,你就成功了一半,所以第二个指标是项目下载量。

用户下载下来体验之后,有两种可能,一种是觉得你的开源项目不好,或者不能满足他的需求,从而放弃继续使用;另一种是觉得正是他需要的,决定继续使用。如果是第二种,那么他在使用过程中遇到问题就很有可能会给你的项目提交 Issue 进行反馈,我们回复和解答用户的疑问,修复用户提出的问题。所以 Issue 数也是一个很好的衡量指标。

当用户觉得很放心,能够满足其需求,遇到问题又能及时得到解决,这时他会很自然地给你的项目点个 Star,以表示他的喜爱,所以从该角度来说,Star 数这个指标是有意义的。如果没有前面的三个指标,只有 Star 数这个指标,就很容易为了 Star 而 Star,从而作出错误的运营举措,比如点 Star 送礼物、花钱买 Star 等。

随着用户频繁使用你的开源项目,并在测试环境充分测试,没有问题,他们会将你的项目随着自己的商用产品部署到生产环境,真正产生商业价值,这时你的开源项目才算完成价值闭环。部署到生产环境的应用数量也是一个绝好的衡量指标。

随着用户越来越频繁和深入地使用你的开源项目,会遇到越来越复杂的业务场景,从某种意义上来说,用户的使用实际上延伸了开源项目生命的长度,它让开源项目不再局限于原先设想的使用场景,让开源项目充满无限的想象力。

这时你的开源项目已经不再能满足用户的需求,仅凭个人的力量也无法再支撑起被扩大的场景,用户很自然地想要参与到开源项目的贡献中来,依靠群体的力量,加速开源项目的演进。所以贡献者数量以及活跃度是一个很重要的指标,一个人的开源项目不能说就不能成功,但一定没有多人协作带来的乐趣多。

总结下,衡量开源项目的指标主要有以下几个:

1.官网和代码仓库的 PV / UV 访问量 2.项目的下载量 3.Issue 和 PR 数量 4.Star 数 5.部署到生产环境的应用数量 6.贡献者数量以及活跃度

四、做开源犹如养护花朵,花开需要时间

开源将有着共同利益和志向的人连接起来,开源的成功依赖于人与人之间的协作,协作的关键在于建立信任,而信任的建立是需要时间的。

因此做开源一定要能沉得住气,不能急躁,做开源就像养护花朵,花开需要时间,需要不断地汲取养分,急不来,与其揠苗助长,不如好好给花儿浇水、施肥、除虫。

当我们有了这样的心态,才能静下心来思考更深层次的东西。

  • 我们的开源项目是否能解决用户的问题,是否正在持续创造价值?
  • 我们的运营动作是否正在让社区朝着健康的方向发展,我们是否正在营造一个有助于社区成员一起协作的氛围?
  • 我们的社区是否能给成员带来价值,帮助他们持续精进,实现自己的志向?

社区是由人组成的,社区的繁荣依赖于社区成员的贡献、参与和协作,只有将社区成员凝聚在一起,集思广益,才能创造出更好的开源项目,这也是开源社区运营的核心所在。

总体而言,开源项目有价值、有质量是根基。一个对行业没有价值的开源项目,是无法持续发展的。只有基于开发者的真实需求,能够给用户持续带来价值,立足为其解决实际问题等,而非为了KPI而KPI,为了KPI而搞开源。

KPI开源需要关注的是质量而非数量,当然,过度地关注Star数,从开源的意义层面上讲,别人 Star 了你的开源项目,连“用户”都算不上,顶多说明他可能是潜在用户,如此一来,又何谈为用户创造价值。可谓是“投机取巧”不可取,不然失速也便是情理之中的事了,且大有可能被直接淘汰出局!

本期嘉宾

曾令卡(Kagol)

华为云OpenTiny 开源社区运营负责人

TinyVue 跨端跨框架组件库核心贡献者,Vue DevUI 开源组件库和 TinyEditor 富文本编辑器创建者,2022年中国开源年会演讲嘉宾。曾发表 100+ 篇文章,有两个 Star 数超千的开源项目。曾就职于腾讯国际业务部,目前在华为云岭团队负责 OpenTiny 开源项目建设和社区运营,专注于前端组件库建设和开源社区运营。

本文发表于 ITHUB 主办的《开源时代》杂志

发布时间:

Made with ❤ by