2022年11月14日,收录于 数据探索

阅读时长 4 分钟

顶级 GitHub 项目的公交车系数

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

‧ 阅读时长 4 分钟

Bus factor of top GitHub projects Image

公交车系数(Bus factor)是指一个项目在多少人被公交车撞到(或辞职)后会陷入严重困境。我们对 GitHub 上最受欢迎的 1,000 个项目(按星标数量)的公交车系数很感兴趣。

观察结果

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

数据集

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

我们如何计算公交车系数

我们使用了一个名为 truckfactor 的库来计算公交车/卡车系数。以下是 truck factor 的计算方式。对于每个仓库,truckfactor(此处直接引用自该仓库)

  • 读取仓库的 git 日志
  • 计算每个文件的知识所有权归属者。
    • 当贡献者修改了文件中大部分行时,TA 就拥有该文件的知识所有权。
    • 该计算灵感来自 A. Tornhill 的著作《Your Code as a Crime Scene》
    • 请注意,仅计算文本文件的知识所有权。对于只包含二进制文件的仓库,该工具可能无法返回理想的结果。
  • 然后,类似于 G. Avelino 等人的著作《A novel approach for estimating Truck Factors》,只要超过一半的文件仍有知识所有者,就将贡献度低的作者从分析中移除。剩余知识所有者的数量就是给定仓库的卡车系数。

作为背景信息,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)。此外,我们是一个完全分布式的团队,因此公交车事故需要全球协同才能使项目陷入任何危险。
  • 但我们的公交车系数可以更好,所以,您知道的,我们正在招聘

您可能还会喜欢

所有文章
The hidden costs of the data stack Image 2023年5月12日,收录于 数据探索

数据栈的隐性成本

一份不完全的列表,列出了维护数据栈时那些不那么明显的成本,以及您可以采取的一些控制这些成本的措施。

The Metabase Team Portrait
Metabase 团队

阅读时长 9 分钟

The data guide to travel Image 2022年10月4日,收录于 数据探索

旅行数据指南

我们从 Google 地图中抓取了一些数据,以找出世界最热门旅游目的地中的顶级景点。

The Metabase Team Portrait
Metabase 团队

阅读时长 4 分钟

所有文章
© . All rights reserved.