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 来获取并计算 GitHub 上星标数排名前 1,000 个仓库的意外因素。
  • 由于内存限制,我们只能计算 GitHub 上约 95% 仓库的意外因素。
  • 为了排除无代码的仓库(例如学习资源或某个主题的精选列表),我们移除了无法确定主要编程语言,或仓库主要由以下文件类型组成的项目:Makefile、TeX、Dockerfile 和 Markdown。
  • 如果您想自己玩转这些数据,请随意下载并探索数据集

我们如何计算意外因素

我们使用了名为 truckfactor 的库来计算意外/卡车因素。以下是 truck factor 的计算方法。对于每个仓库,truckfactor(此处直接引用其仓库的描述)

作为背景,在 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 分钟

所有文章
订阅新闻通讯
Metabase 的更新和新闻
© . This site is unofficial and not affiliated with Metabase, Inc.