开源社区分析与可操作的见解

Project Aspen 计划为所有人实现定量的开源社区健康分析。
2 位读者喜欢这篇文章。
Lots of people in a crowd.

Opensource.com

组织机构越来越多地采用开源软件开发模型和组织文化的开源方面。因此,人们对开源社区如何取得成功的兴趣达到了前所未有的高度。

直到最近几年,衡量开源社区的成功还是随意且轶事式的。问问别人是什么让一个社区比另一个社区更成功,你可能会得到这样的观察:“软件很棒,所以社区也很棒”,或者“这个社区的人们相处融洽。” 这些评估的问题不在于它们一定是错误的,而在于它们没有提供其他人可以用来复制成功结果的信息。适用于一个社区的方法不一定适用于另一个社区。

研究型大学、企业和其他有兴趣确定是什么让开源项目成功的组织机构已经开始合作,寻找以定性和数据驱动的方式衡量社区各个方面的方法。其中一个更突出的努力是 CHAOSS,这是一个 Linux 基金会项目,专注于创建指标、指标模型和软件,以更好地了解全球范围内的开源社区健康状况。不健康的项目会损害其社区和依赖这些项目的组织,因此识别稳健性的衡量标准不仅仅是一个有趣的项目。它对开源生态系统至关重要。

CHAOSS 是一个用于研究一系列紧迫问题的出色工具。首先,应该如何定义社区健康?其次,随着指标开始成形,我们如何才能从对关于特定社区的基于数据的临时请求做出反应,转变为为这项工作创建整个过程管道,无论是字面上还是理论上?Project Aspen 的开发是这个管道的最终成果,它最终将把社区数据分析带给每个人。

收集社区数据

2017 年,Harish Pillay 创建了 Prospector,旨在以图形化仪表板的形式呈现来自核心数据源的信息。这与 CHAOSS 产生了共鸣,CHAOSS 的目标是更好地了解开源社区的健康状况。Prospector 于 2017 年捐赠给了 CHAOSS。Project Aspen 以这项工作为基础。

Aspen 由 Augur Project 生成的数据库支持,Augur Project 是一个基于 CHAOSS 的项目,旨在收集、组织和验证开源软件跟踪数据的完整性。借助此数据库,我们可以存储围绕我们从中收集数据的基于 Git 的存储库的所有类型的数据点,例如拉取请求、审查和贡献者。数据已经收集和清理,从数据科学的角度来看,这是最耗费时间的地方。持续的数据收集使我们能够在问题出现时灵活地采取行动。随着时间的推移,我们将扩展我们的管道,以收集来自 Git 以外的许多其他途径的数据,例如 Stack Overflow 和 Reddit。

由于 Augur 定期收集我们选定存储库的数据,因此数据会在一周内更新并清理。由于所有的数据收集和大部分预处理已经完成,我们更有能力回答我们收到的分析问题,并提出我们自己的问题。无论问题来自哪里,相同的分析过程都是必要的。

对于每个可视化或分析,社区领导者都需要考虑以下问题

  • 您希望获得或给予什么视角?
  • 您可以从现有数据中直接回答什么问题?
  • 我正在做出哪些假设,我可能持有哪些偏见?
  • 我可以与谁合作以获得反馈和不同的视角?

每个人的个人经验和专业知识都会影响他们看待问题的视角。有些人有代码审查经验,而另一些人的专长在于社区管理。我们如何开始比较社区的各个方面,就像苹果与苹果而不是橙子与橙子一样?量化开源中不同角色的人在检查项目社区时所关注的内容可以解决这个问题。

社区指标使所有成员能够在共同领域进行交流并分享他们独特的专业知识。不同的视角带来更深入的见解,Project Aspen 使用数据通过数据可视化使这些见解更容易为整个社区所用。

假设与分析

分析是构建叙事的工具,而不是预言。数据分析可以帮助消除我们所做推论中的歧义和偏见,但解释数据并非易事。显示提交量随时间增加的条形图本身并不是社区健康的积极指标。稳定或减少的数量也并不总是负面信号。任何图表为您提供的都是更多信息和探索领域。

例如,您可以从提交量随时间变化的可视化图表开始,创建一个绘制提交“深度”的图表,也许定义为行更改的数量。或者,您可以深入了解社区的特定工作,以了解这些趋势实际代表什么。

将问题随时间变化的图表(图 1)与问题停滞不前图表(图 2)进行比较,可以很好地说明视角的重要性。这些可视化反映了相同的数据,但揭示了完全不同的见解。从问题停滞不前图表中,我们不仅可以看到有多少问题是未解决的,还可以看到有多少问题已经开放了不同的时间间隔。

此图显示,在许多个月内,打开和关闭的问题数量相对一致

A graph showing relative consistency in how many issues are opened and closed.

(Cali Dolfi,CC BY-SA 4.0)

另一方面,此图突出了已开放超过 30 天的问题数量不断增加

A graph showing issues over the past 30 days.

(Cali Dolfi,CC BY-SA 4.0)

相同的数据填充每个图表,但只有同时查看两者才能获得更完整的画面。通过添加问题停滞不前增长的视角,社区可以清楚地看到问题积压越来越多,并采取措施了解这对他们的社区意味着什么。那时,他们将能够充分利用良好的数据和周全的分析来制定策略并确定行动的优先级。

明智地使用数据

包含多个观点还可以提供急需的洞察力,并有助于防止误报和游戏化。经济学家有一句谚语:“当一个衡量标准变成目标时,它就不再是一个好的衡量标准。” 换句话说,用于奖励绩效的衡量标准会产生操纵衡量的动机。随着人们了解哪些衡量标准会带来关注、金钱或权力,开源社区面临着鼓励采取行动只是为了玩弄系统的风险。使用多个视角来定义成功将使您的指标有意义,从而使其在维护您的社区中具有真正的价值。

为此,Project Aspen 是一个令人兴奋的工具,可以帮助您构建自己的知识并就社区做出更好的决策。无论您是想了解社区最脆弱的地方,还是社区内活动的季节性,拥有高质量的数据来为您的分析提供信息都至关重要。要查看围绕社区数据分析所做的一些工作,请查看我们的 Git 存储库 或演示 8Knot 应用程序实例。


本文最初发表于 Red Hat Research Quarterly,并已获得作者许可重新发表。

headshot
Cali Dolfi 是红帽开源项目办公室的数据科学家。她的工作重点是通过数据科学和机器学习的视角改变我们看待开源社区的方式。

评论已关闭。

Creative Commons 许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.