What's Inside a GitHub Repository? An Empirical Study on the Contents of 10K Projects
本文对十年间 10,000 个 GitHub 仓库进行了实证分析,揭示了核心构件标准化、GitHub Actions 的主导地位、配置格式的转变以及生成式 AI 相关内容的兴起等关键趋势,同时强调了 GitHub 生态系统如何日益引导开源演进。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,互联网是一个巨大且繁忙的城市,数以百万计的人在这里建造房屋、工厂和公园。在计算机软件的世界里,这个城市被称为 GitHub。它不是一个由砖块和灰泥构成的场所,而是由代码构成的——即告诉计算机该做什么的指令。把“仓库”(repository,简称 repo)想象成这座城市中的一栋单体房屋。在每栋房子内部,都有房间(目录)、家具(文件)以及关于房子如何建造的具体规则(扩展名)。多年来,专家们一直在思考:这些房子究竟长什么样?它们都有门前的招牌吗?它们有厨房吗?它们使用同样种类的砖块吗?理解这些就像是对整个城市进行人口普查,以了解人们真实的居住方式,而不是仅仅根据几座豪华别墅来做猜测。这有助于老师知道该教什么,建筑师知道该使用什么工具,以及研究人员了解这座城市是如何随时间变化的。
现在,让我们窥探一下其中 1 万栋数字房屋内部的情况。一个研究小组对 GitHub 进行了大规模的快照采样,观察了 2026 年仍在进行开发的 1 万个热门项目。他们并没有只看那 1 万个最著名的“豪宅”,而是挑选了一个随机组合,以获得真实的社区图景。他们还进行了时空旅行,将这些房屋与 2016 年和 2021 年时的样子进行对比,以观察这座城市是如何演变的。
以下是他们的发现:这些数字房屋变得更加标准化了,几乎像是一个每个人都遵循相同蓝图的模版化社区。在几乎每一栋房子中都能见到的最常见物品是 README.md(门口的一块大招牌,解释这栋房子的用途)、一个 .gitignore(一份不想向客人展示的东西清单,比如凌乱的工具)和一个 LICENSE(一份规定谁拥有这栋房子以及他人如何使用它的规则手册)。事实上,近 95% 的房子都有 README 和 .gitignore,约 73% 的房子有许可证。看起来,GitHub 本身——即托管这些房屋的平台——已经成为了建筑师,在潜移默化中引导着每个人以一种更有组织的方式来建造他们的家园。
这座城市在建造和维护结构的方式上也经历了巨大的转变。十年前,许多房屋使用 Travis CI(一种特定类型的施工队)来检查他们的工作,但这个施工队已基本撤离,从 46% 的房屋占比下降到了仅 5%。取而代之的是,GitHub Actions 已成为主导性的施工队,现在出现在 77% 的房屋中。这就像整个城市切换到了一种更高效的建筑和测试工具。
房子里的“家具”也发生了变化。旧的、沉重的、由 XML 制成的木质家具,正被更轻便、更灵活的材料如 YAML、JSON 和 TOML 所取代。这些新格式用于配置,比如设置灯光或恒温器。与此同时,用于墙壁的“砖块”类型也在发生变化。使用 Python 和 JavaScript 砖块建造的房屋正在迅速增长,而使用较旧的 C、C++、Java 和 PHP 砖块建造的房屋则在萎缩。这清晰地表明了哪些工具正在成为下一代建设者的标准。
或许是最令人兴奋的新趋势是“AI 助手”的到来。正如房子可能会配备智能恒温器一样,这些数字家园开始包含专门针对 人工智能 (AI) 和 大语言模型 (LLM) 的文件。研究人员发现了新的文件,如 CLAUDE.md、AGENTS.md 和 SKILL.md。这些就像是机器人助手的说明书,教它们如何编写代码或管理房屋。还有名为 .claude 和 skills 的新文件夹,显示出这些 AI 助手正在成为家庭生活的常态。
研究还注意到,这些房屋正变得越来越大、越来越复杂。2016 年,平均每栋房子约有 111 个文件;到 2026 年,这一数字增长到了 211 个。文件类型(扩展名)的多样性也有所增加,这表明这些房屋内的工具和技术正变得更加多元化。然而,研究人员谨慎地指出,这一图景是基于那些活跃维护并拥有至少 100 个“星标”(衡量受欢迎程度的指标)的房屋。因此,虽然这向我们展示了这座城市中热门且维护良好的部分,但它可能无法完美代表那些安静、不活跃的角落或封闭的私人庄园。
简而言之,这篇论文表明,开源软件的世界不仅仅是在有机地增长,它正受到平台本身的塑造。“最佳实践”正在变成“唯一实践”,AI 集成正在稳步上升,现代配置工具正在普及,而旧技术则在持续衰落。这是一个不断进行翻修的城市,由一套新的蓝图引导,这些蓝图优先考虑文档记录、自动化以及智能化辅助。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。