通过跟踪这两个指标来提高开源社区的可持续性

关注围绕社区所有权和激励机制的指标可以增加您构建可持续开源项目的机会。
74 位读者喜欢这篇文章。
Person using a laptop

在 2020 年初,我写了一篇关于三个指标的文章,用于跟踪和衡量线下、面对面的社区建设活动。当时我和世界都没想到,任何形式的线下、面对面的活动很快就会在可预见的未来变得不可行。

因此,我开始思考:由于开源项目默认是在线的,并且所有其他事物都在转向在线和虚拟化,当我们继续处于 COVID 和(希望很快)后 COVID 世界中时,开源技术的创建者应该衡量什么?

你可以跟踪很多指标——星标、fork、拉取请求 (PR)、合并请求 (MR)、贡献者计数等等——但更多的数据并不一定意味着更清晰的见解。我之前曾对这些表面指标的价值表示怀疑,尤其是在评估开源项目的健康和可持续性时。

在本文中,我提出了两个二阶指标,用于跟踪、衡量和持续优化,以构建一个强大、自我维持的开源社区

  • PR 或 MR 审阅者的细分
  • 不同社区互动的排行榜

为什么是这些指标?

任何开源社区建设工作的长期目标是达到一个临界点,即项目可以超越最初创建者或维护者的日常参与而生存。如果您还在围绕该开源技术构建商业开源软件 (COSS) 公司,无论它是自筹资金还是风险投资支持,这都是一个特别重要的目标。您的公司最终将不得不转移资源和人力来构建商业服务或付费功能。

这是一个很少有项目能实现的崇高目标。与此同时,维护者倦怠是一个真正的问题。最新和最引人注目的例子是 Redis 创建者 Salvatore Sanfilippo,他去年分享了他作为开源维护者的挣扎,并在今年早些时候辞去了 Redis Labs 的 CEO 职务。各种项目(无论大小)的维护者每天都在经历类似的挑战。

专注于上述两个指标,尤其是在您的开源旅程的早期,可以增加您构建可持续事物的机会,因为它们阐明了驱动可持续性的两个重要要素:所有权激励

细分 PR/MR 审阅者 = 所有权

跟踪您的社区中谁在积极审阅贡献是所有权的一个良好指标。在开始时,您,即创建者,会完成大部分审阅工作,但随着时间的推移,这是不可持续的。有意识地建设您的社区,以便更多人拥有背景知识、信心和欢迎态度来审阅传入的 PR/MR(随着您的项目获得吸引力,PR/MR 的频率应该会增加)对于长期可持续性至关重要。

审阅贡献具有类似客户服务的要素,如果感觉有足够的所有权去做这件事的人不够多,这种要素可能会恶化。而您能给一位原本热情的初学者发出的最糟糕的信号之一就是 PR 或 MR 被搁置两周或更长时间无人处理。

社区互动排行榜 = 激励

跟踪一些面向社区的互动,并可能在您的社区内通过奖励将其游戏化,可以帮助在具有各种经验水平的社区成员中推动正确的激励和行为。您可以跟踪的一些互动是提交的 PR/MR 数量、评论、反应和审阅(与反应有一些重叠)。这些互动可能具有不同的价值和质量,但这里更大的目标是了解谁在做什么,谁擅长做什么,并有意识地根据人们的优势和兴趣培养更多行为

也许有些人非常擅长提供有用的评论,但(目前)没有足够的背景知识来审阅 PR/MR。最好确定他们是谁,并向他们提供更多信息,以便他们有一天可以成为审阅者。也许有些人非常积极地监控项目,正如他们频繁的反应所表明的那样,但不愿意发表评论和建议。最好了解他们是谁,并帮助他们更多地了解项目的内部运作,以便他们可以为他们显然关心的社区增加更多价值。

如何使用这些指标

那么您如何跟踪和解读这些指标呢?我将通过一个比较两个开源项目的例子来说明:Kong,一个 API 网关,和 Apache Pulsar,一个发布-订阅消息系统。

在 2020 年 5 月,我使用了 Apache Superset,一个开源数据可视化工具,以及项目创建者之一 Max Beauchemin 编写的教程,来抓取和可视化来自 Kong、Apache Pulsar 和 其他一些项目 的一些数据。使用 本教程,我抓取了两年(从 2018 年 5 月到 2020 年 5 月)的数据,以查看随时间的变化。(注意:本教程是 Superset 自身数据的示例,其中一些硬编码链接到其在 Airbnb 和 Lyft 内部的历史记录,因此要使用它,您需要对仪表板 JSON 进行一些自定义,使其更通用。)

两个注意事项:首先,数据最后一次收集是在 5 月,所以今天肯定看起来会不一样。其次,这些项目是在不同的时间开源的,这种比较不是对任何一个项目当前状态或潜力的判断。(Kong 的第一次提交是在 2014 年 11 月,而 Pulsar 的第一次提交是在 2016 年 9 月。当然,两者在开源之前都在私下进行了开发。)您看到的一些差异可能仅仅是由于时间的推移和社区努力在不同时间得到回报;社区建设是一项漫长而持久的苦差事

PR 审阅者指标

以下两张图表显示了 Kong 和 Pulsar 的 PR 审阅,按 GitHub 句柄显示

Kong PR reviews by GitHub handle

Kong PR 审阅,按 GitHub 句柄显示 (COSS Media, ©2020)

Pulsar's PR reviews by GitHub handle

Pulsar PR 审阅,按 GitHub 句柄显示 (COSS Media, ©2020)

根据这些数据,我观察到 Kong 在审阅 PR 的人员方面比 Pulsar 具有更好的平衡性。这种平衡是随着 Kong 项目成熟度的提高而随着时间推移实现的。最重要的一点是,Kong 的创建者 AghiMarco 都远不是顶级审阅者。这是一件好事! 他们在早期肯定是顶级审阅者,但随着项目的成熟,他们的参与变得不那么明显了,这才是应该的。

作为一个较年轻的项目,Pulsar 尚未达到相同的水平,但正在朝着实现这种平衡的方向发展。SijieJiaPenghui 目前正在进行大部分审阅工作;他们三人都是项目管理委员会成员,并领导 Pulsar 的 COSS 公司 SteamNative。包括 Splunk 在内的其他主要参与者(尤其是在它收购了 Streamlio 之后)也为该项目做出了贡献,这是一个最终实现平衡的良好先行指标。

我有意忽略的一个因素是 Apache 软件基金会项目和非 ASF 项目的治理流程的差异,这将影响贡献者成为审阅者或维护者的速度和程序。在这方面,这种比较不是 100% 完全对等的。

社区互动指标

以下是两张排行榜图表,显示了 Kong 和 Pulsar 在最近一次数据收集(大约从 2020 年 3 月到 5 月)以来的 90 天内,按 GitHub 句柄显示的社区互动

Kong's 90-day leaderboard chart

Kong 90 天排行榜图表 (COSS Media, ©2020)

Pulsar's 90-day leaderboard chart

Pulsar 90 天排行榜图表 (COSS Media, ©2020)

这些排行榜反映了与前一张图表所示相同的“平衡水平”,这很有道理。更有趣的收获是,谁在进行哪种互动,正在发生多少互动,以及谁似乎在做所有的事情(Sijie!)。

就构建正确的激励结构而言,这种排行榜类型的视图可以帮助您了解互动来自哪里,以及您想要设计哪种奖励或激励系统来加速积极行为。

这些数据对于内部管理外部社区建设也很有用。正如密切关注者可以看出的那样,这些排行榜上的许多领导者都是项目 COSS 公司 Kong Inc. 和 StreamNative 的员工。活跃的社区贡献者(或爱好者)成为将项目商业化的公司的员工是很常见的。无论这些人受雇于何处,要在一个可持续的项目中超越其最初的创建者(这反过来会影响 COSS 公司的可持续性),您都需要衡量、跟踪和激励相同的行为。

此外,我意识到 Pulsar 图表没有“反应”列,这可能是因为没有足够的反应数据值得进入前 10 名,或者是因为我自己的图表配置错误。我为这种不一致性道歉。

关于推动平衡可持续性的技巧

无论图表多么漂亮,数据都不能说明全部情况。并且无论某个特定项目多么成功,其经验都不应被模板化并直接应用于不同的项目。即便如此,我想分享一些我在实践中看到的有效可行技巧,这些技巧可以帮助您随着时间的推移改进这两个指标

  • 提供高质量的文档:在之前的一篇文章中,我重点介绍了文档,我鼓励您阅读一下。最重要的一点是:项目的文档获得了最多的流量。人们在这里决定是继续了解您的项目还是放弃。您永远不希望给人们放弃的理由。一般来说,我建议花费 10% 到 20% 的时间来编写文档。放在上下文中:如果您全职从事您的项目,那么每周大约需要半天到一整天的时间。
  • 使您的贡献者指南成为一份鲜活的文档:每个项目都有一个 CONTRIBUTING.MD 文档(或其变体)。但是,成长和成熟的项目会使该文档尽可能好,并不断刷新、更新和改进它。为什么?因为那是热衷于参与项目的人去的地方。如果指南清晰、简洁且可操作,您将立即获得贡献。如果它过时、复杂且缺乏简单的入门途径(例如,初学者问题、简单错误等),那么这种热情将转移到其他地方。使您的 CONTRIBUTING.MD 成为一项杀手级功能
  • 设置明确的质量指南:确实存在“嘈杂的贡献”——低质量的 PR/MR,需要花费比审阅它们(并且经常拒绝它们)所值得的更多的精力。但是,向公众传达什么是“高质量贡献”以及什么不是“高质量贡献”的责任在于您,即创建者或维护者,因为您拥有关于项目的大部分背景知识和机构知识。明确您的期望,并且不要在质量上妥协。使其成为您的 CONTRIBUTING.MD 的突出部分或单独的文档,以使其更具可见性。将其与您的项目路线图结合起来,项目路线图无论如何都应该是您的公共文档的一部分,以便您的新贡献者知道对他们的期望以及原因。

我希望这能为您提供一些有用的见解,了解在构建可持续开源社区时重要的两个二阶指标,以及一些可用于跟踪和改进它们的实用项目。


本文最初发表于 COSS Media 并经许可转载。

接下来阅读什么
标签
User profile image.
Kevin 目前是 OSS Capital 的常驻企业家。他每周在 Interconnected 上撰写关于更广泛的技术行业的文章。他之前曾担任 PingCAP 的全球战略和运营总经理,PingCAP 是一家商业开源公司,其背后是 NewSQL 数据库 TiDB。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.