2022年11月14日,在数据探索

4 分钟阅读

顶级 GitHub 项目的巴士系数

The Metabase Team Portrait
Metabase 团队
‧ 2022年11月14日,在数据探索

‧ 4 分钟阅读

Bus factor of top GitHub projects Image

巴士系数是一个项目中,有多少人需要“被巴士撞到”(或辞职)才会使项目陷入严重困境。我们对 GitHub 上排名前 1,000 的项目(按星数)的巴士系数很感兴趣。

观察

查看我们的仪表盘,或继续阅读以了解我们的发现。

数据集

  • 我们使用 GitHub API 和 truckfactor 来获取和计算按星数排名前 1,000 的 GitHub 仓库的巴士系数。
  • 由于内存限制,我们只能计算 GitHub 上大约 95% 仓库的巴士系数。
  • 为了排除无代码仓库(例如学习资源或某个主题的精选列表),我们移除了无法确定主要编程语言的项目,或者如果仓库主要由以下文件类型之一组成:Makefile、TeX、Dockerfile 和 Markdown。
  • 如果您想自己玩转这些数据,请继续下载并探索数据集

我们如何计算巴士系数

我们使用了一个名为 truckfactor 的库来计算巴士/卡车系数。以下是 truck factor 进行计算的方式。对于每个仓库,truckfactor(我们直接引用仓库的描述):

  • 读取仓库中的 git 日志。
  • 计算每个文件的知识所有权归属。
    • 当贡献者编辑了文件中最多行时,该贡献者拥有该文件的知识所有权。
    • 该计算受到 A. Tornhill 的《您的代码即犯罪现场》的启发。
    • 请注意,仅计算文本文件的知识所有权。该工具可能无法为仅包含二进制文件的仓库返回良好结果。
  • 然后,类似于 G. Avelino 等人的《估算卡车系数的新方法》,只要仍有一半以上的文件具有知识所有者,就会从分析中移除贡献较低的作者。剩余知识所有者的数量即为给定仓库的卡车系数。

作为背景信息,2015 年2016 年进行的研究计算了 133 个热门 GitHub 项目的巴士/卡车系数。结果显示,大多数项目的巴士系数较小(65% 的巴士系数 ≤ 2),只有不到 10% 的项目巴士系数大于 10。

巴士系数分布

近一半的项目的巴士系数为二或更少。

只有 10% 的项目的巴士系数为 6 或更高。

仓库星数与巴士系数之间没有关联

我们最初认为更受欢迎的项目应该有更多的贡献者,因此巴士系数会更高,但事实并非如此。

常用语言的平均巴士系数

我们这里指的是一般语言,所以像 HTML 和 CSS 这样的语言也在其中。

  • 超过一半的项目使用 Shell 脚本语言(Bash 脚本)。
  • 最常见的语言是基于 Web 的工具:JavaScript、HTML、CSS 和 TypeScript。常用的通用语言包括 Python、C 和 Java。
  • 用基于 Web 的开发语言(JavaScript、HTML、CSS、TypeScript 和 SCSS)编写的项目,其巴士系数往往低于用通用编程语言(Python、C、Java 和 C++)编写的项目。

在星数最多的仓库中,JavaScript 是最受欢迎的标签,由流行的 Web 框架和库(如 ReactVueBootstrapAngular)主导。如果我们将 GoGolang 结合起来,用 Go 编写的项目将是第二大被标记的语言(尽管有些仓库可能同时包含 GoGolang 标签,这会夸大标签计数)。

Hacktoberfest 是第二常见的标签,这很合理。Hacktoberfest 是一个为期一个月的开源项目庆祝活动,旨在鼓励对开源项目的贡献,因此仓库维护者会积极添加该标签以吸引贡献者。

按软件类型划分的巴士系数

我们还将巴士系数按软件类型进行了分类,结果显示机器学习项目拥有两位数巴士系数的项目数量最多。

后端项目

前端项目

机器学习项目

商业智能项目

结论

  • Metabase 支持公共交通。
  • 软件建立在沙堡之上。
  • 请为您的代码编写文档。
  • Metabase 的巴士系数尚可(4)。此外,我们是一个完全分布式的团队,因此巴士事故需要全球协同才能使项目面临任何形式的风险。
  • 但我们的巴士系数可以更好,所以,你知道,我们正在招聘

您可能还喜欢

所有文章
我们的 AI 数据集生成器背后的故事图片 2025年7月15日,在数据探索

我们 AI 数据集生成器背后的故事

探索我们开源 AI 数据集生成器背后的设计选择、挑战和成就。

Matthew Hefferon Portrait
Matthew Hefferon

阅读时间:3 分钟

数据栈的隐性成本图片 2023年5月12日,在数据探索

数据栈的隐藏成本

一份不完整的清单,列出了与维护数据栈相关的较不明显的成本,以及一些可以用来控制这些成本的方法。

The Metabase Team Portrait
Metabase 团队

阅读时间 9 分钟

所有文章
分析师每周技巧
获取可行的见解
关于 AI 和数据的资讯,直接发送到您的收件箱
© . This site is unofficial and not affiliated with Metabase, Inc.