@github:GitHub 创新图看起来很有趣(谁不喜欢条形图比赛?),但它也是引人注目的经济数据来源。

X AI KOLs Following 论文

摘要

一篇新的研究论文利用 GitHub 创新图数据来衡量国家的“数字复杂性”,揭示了传统经济数据无法捕捉的 GDP、不平等和排放等方面的见解。

GitHub 创新图看起来很有趣(谁不喜欢条形图比赛?🏁),但它也是引人注目的经济数据来源。 它正在帮助研究人员揭示传统指标无法捕捉的 GDP、不平等和排放趋势。了解详情。💡 https://t.co/JBlwiYIXMI https://t.co/o89jKBuBMh
查看原文
查看缓存全文

缓存时间: 2026/05/29 23:59

GitHub 创新图谱看起来很有趣(谁不喜欢看条形图赛跑呢?🏁),但它也是引人注目的经济数据的来源。

它正帮助研究人员揭示 GDP、不平等和排放等方面的趋势,而这些正是传统指标所遗漏的。快来了解它是如何做到的。💡 https://t.co/JBlwiYIXMI https://t.co/o89jKBuBMh


研究人员如何利用 GitHub 创新图谱数据揭示国家的“数字复杂性”

来源:https://github.blog/news-insights/policy-news-and-insights/how-researchers-are-using-github-innovation-graph-data-to-reveal-the-digital-complexity-of-nations/ GitHub 创新图谱的目标之一,就是促进关于开源软件和开发者协作经济影响的研究。在最近发表于《研究政策》期刊(https://doi.org/10.1016/j.respol.2026.105422)的一篇论文中,四位研究人员正是利用创新图谱的数据达成了这一目标。我很高兴与大家分享对这些研究人员的采访,以及我们 Q4 2025 的数据发布。

这篇《研究政策》论文探讨了 GitHub 上开源软件生产的地理分布能否揭示国家的“数字复杂性”,以及这种复杂性是否能预测 GDP、不平等和排放——而这些正是传统经济数据所遗漏的信息。

认识一下这四位研究人员:

  • Sándor Juhász是布达佩斯考文纽斯大学的研究员。他的研究重点在于经济地理学、知识网络,以及空间结构如何塑造创新。
  • Johannes Wachs是布达佩斯考文纽斯大学的副教授,也是考文纽斯高等研究院集体学习中心(https://centerforcollectivelearning.org/)的主任,并兼任维也纳复杂性科学中心的研究员。他的研究处于计算社会科学和经济地理学的交叉领域,特别关注开源软件社区。
  • Jermain Kaminski是马斯特里赫特大学商业与经济学院的助理教授。他的研究方向专攻创业、战略和因果机器学习,尤其关注数据驱动方法如何改进决策和创新。他是因果数据科学会议(https://causalscience.org/)的联合创始人。
  • César A. Hidalgo是图卢兹经济学院和布达佩斯考文纽斯大学的教授,也是集体学习中心(https://centerforcollectivelearning.org/)的主任。他还是经济复杂性观察站(https://oec.world/)的创始人,以及 DataWheel(https://www.datawheel.us/)的联合创始人。

研究问答

**Kevin:**感谢各位接受采访!能否为我们的读者简要总结一下这篇论文的核心内容?

**Sándor:**大约在过去十五年中,经济学家通过观察国家出口的实物产品、申请的专利以及发表的研究成果来衡量国家经济的复杂性。事实证明,这些指标在预测哪些国家会增长、哪些国家不平等程度高,以及其他许多宏观经济特征方面非常出色。但它们都有一个巨大的盲点:软件。

**Jermain:**代码不会经过海关。它通过“git push”、云服务和包管理器跨越国界。因此,所有这些生产性知识基本上是看不见的——一些同行称之为经济的“数字暗物质”。我们决定利用 GitHub 创新图谱来解决这个问题,它根据 IP 地址追踪每个经济体中,使用每种编程语言推送代码的开发者数量。我们将经济复杂性指数(ECI)应用于这些数据。底线是,软件 ECI 揭示了贸易流、专利和研究数据部分未能涵盖的新信息。特别是,即使在控制了所有传统指标之后,软件 ECI 仍然有助于解释人均 GDP 和收入不平等的差异。

**Johannes:**我们还发现,国家在软件专长上并非随机跳跃。它们会向与其现有技术栈相关的领域多元化发展,就像实体经济中的国家倾向于转向与它们现有出口产品相似的产品一样。这被认为是“关联性原则”,它同样适用于软件领域。

**Kevin:**有意思!能否概述一下你们在分析中使用的方法?

**Johannes:**当然。如前所述,核心数据来自 GitHub 创新图谱,它为我们提供了 2020 年至 2023 年期间,163 个经济体在 150 种编程语言中,按季度统计的推送代码的开发者数量。但单个编程语言并非合适的分析单位;大多数实际软件都使用多种语言的组合。一个 Web 应用可能结合了 HTML、CSS 和 JavaScript;一个数据科学项目使用 Python 和 Jupyter Notebook;系统编程则将 C 语言与汇编语言结合使用。

**Sándor:**因此,我们通过查询 GitHub GraphQL API,获取 2024 年所有活跃的仓库,构建了一个单独的数据集,以找出哪些语言在同一仓库中共同出现。我们基于加权的共现频率计算了语言之间的余弦相似度,并采用了一种归一化方案,以防止包含二十种语言的多语言仓库主导信号,然后应用层次聚类将这 150 种语言分组为 59 个“软件包”。每个软件包代表一个连贯的技术栈。

Jermain:……然后,就进入了“标准”的经济复杂性分析流程。我们构建了一个国家-by-软件包矩阵,计算显示性比较优势(实质上是问“相较于全球平均水平,这个国家在该软件包中是否拥有不成比例的开发者份额?”),将其二值化,然后应用迭代方法计算经济复杂性指数。专门从事许多非普遍存在软件包的国家得分高,而只从事每个人都会的软件包的国家得分低。对于关联性分析,我们根据共专业化模式来定义软件包之间的接近度。如果擅长软件包 A 的国家通常也擅长软件包 B,那么这两个软件包在软件空间中是接近的。然后我们检验,国家是否更有可能进入与其现有专长相近的软件包领域。

**Kevin:**很好!追问一下:能否用“给五岁小孩解释”的方式来概述你们分析中使用的方法?

**César:**把国家想象成厨房。有些厨房能烹饪任何菜肴,因为它们有丰富的食材和工具,从最稀有的香料到最好的刀具。其他的则能力有限,也许只能煮米饭和做一些简单的菜。由于我们无法直接看到厨房内部,需要根据它们能做出的菜肴来推断其“复杂性”。这就是经济复杂性指数(ECI)所能估算的。我们可以通过观察一个厨房是做鸡肉米饭这样的简单菜,还是能制作精致的可食用泡沫或舒芙蕾来判断其水平。最初,这些方法应用于贸易数据,那时厨房产出的“菜肴”是一个国家的出口产品;但在本论文中,我们将其应用到了软件领域。一个“鸡肉米饭”水平的国家,就是只会使用 Python 和 JavaScript 的国家;一个“米其林星级”水平的国家,则能够为航空航天和国防领域编写经过认证的嵌入式系统程序。

软件经济复杂性排名前 20 的经济体

排名经济体软件 ECI
1德国1.739
2澳大利亚1.730
3加拿大1.729
4荷兰1.727
5法国1.702
6美国1.695
7波兰1.691
8英国1.687
9意大利1.672
10瑞典1.620
11瑞士1.620
12香港特别行政区1.595
13挪威1.571
14日本1.552
15西班牙1.552
16俄罗斯1.530
17新加坡1.468
18台湾1.464
19比利时1.448
20芬兰1.444

**Kevin:**谢谢,这非常有帮助。我很好奇你们论文和所使用的数据有哪些限制,以及为了进一步研究,你们希望获得什么样的数据。你们理想中的数据集是什么样的?

**Johannes:**一个主要缺点是,我们只能看到 GitHub 上的公共活动。这意味着我们完全缺失了专有软件。因此,我们无法看到闭源的企业级工作,而这部分非常庞大。所以,我们的指标很可能低估了那些开源软件文化较弱国家的软件复杂性。

**Sándor:**时间窗口是另一个限制。四年的数据(2020–2023)足以进行横截面分析,但对于可信地检验长期增长预测来说太短了,而后者正是经济复杂性指标设计的初衷。经济结构的转变需要数十年,而非几个季度。我们希望能有二十年的数据。

**Jermain:**理想的数据集将结合类似 GitHub 的活动数据和关于项目本身的信息——不仅仅是编程语言,还有框架、库以及软件的实际用途。考虑这个维度将是我们项目自然的下一步,它能让我们更深入地了解软件包及其用例。如果我们知道一个仓库是构建金融科技应用还是游戏引擎,就能定义更精细的能力包。GitHub Topics让我们对此有了初步了解,我们将其用作稳健性检验,但它仍然充满噪声且不完整。

**Kevin:**你们对未来有什么预测吗?对政策制定者有什么建议?对开发者有什么建议?

**César:**软件是产业政策的一个有趣目标,因为它是一个主要依赖于高度流动性人力资本(软件开发者)的行业。原则上,它提供了通过人才吸引计划来刺激发展的机会。然而在实践中,软件人才的高流动性可能是一把双刃剑,因为它使得该行业对某些监管非常敏感,比如那些使数据处理变得困难的消费者保护法规,或者将创新风险转嫁给中小企业的工人保护计划(例如,那些表面上是保护工人,实际上却将责任转嫁给企业的法律)。那些能够找到吸引软件人才的方法,同时又能避免被善意但设计拙劣的法规所扼杀的国家,将会脱颖而出。

**Johannes:**对于开发者来说,了解不同地方在生产的软件类型上高度专业化这一点,在考虑搬迁时会很有用。开发者可以利用软件能力的“产品空间”表示来了解自己的技能与哪些国家更匹配。

**Jermain:**展望未来,一个重大的问题是生成式AI将如何改变这幅图景。如果AI编程助手降低了使用新编程语言的门槛,关联性会减弱吗?国家会更快地实现多元化吗?还是会强化现有优势,因为AI基础设施最好的国家受益最多?我们正在研究这个问题,Johannes 和他的同事在《科学》杂志(https://www.science.org/doi/10.1126/science.adz9311)上发表了一篇关于追踪全球AI辅助编程在GitHub上扩散的新论文。我认为答案将在未来五年内重塑我们对数字复杂性的看法。另一个需要考虑的问题是,软件或软件包的分类将如何对应NAICS(https://www.census.gov/naics/)或NACE(https://ec.europa.eu/competition/mergers/cases/index/nace_all.html)行业代码。

**Sándor:**我想补充一个预测:我认为基于软件数据的经济复杂性指数将在十年内成为政策制定者工具箱中的标准配置,与基于贸易的指标并列。这些数据是开放的,每季度更新一次,并且捕捉到了传统数据无法捕捉的信息。

个人问答

**Kevin:**我想换个话题,聊聊你们的个人经历。Johannes,我知道你拥有计算社会科学和网络科学的背景,这与传统的经济学路径有所不同。请跟我们聊聊你走上研究之路的故事。

**Johannes:**我其实最初学的是数学,后来在布达佩斯的中欧大学攻读博士期间转向了计算社会科学。我被数字数据痕迹在研究人类行为方面带来的机遇深深吸引。我喜欢使用网络方法,因为它帮助我们连接微观层面的活动和互动,与宏观层面的结果。我特别偶然地进入了开源研究领域,当时我意识到 GitHub 数据是一个极其丰富、公开可用的有价值知识生产记录,但很少有人用它来研究社会科学问题。

**Kevin:**Sándor,我注意到你的背景是经济地理学,这条路径相比计算社会科学更为传统。你是如何开始接触软件数据研究的?

**Sándor:**我在乌得勒支大学获得了经济地理学博士学位,当时所在的研究社区已经在使用经济复杂性来研究区域发展。所以我接受的训练就是通过网络和能力积累的视角来思考地方——城市、区域、产业。

**Kevin:**Jermain,看起来你在接受学术训练的同时,通过一些创业项目发展出了实用的技术专长。

**Jermain:**在亚琛工业大学攻读博士期间,我曾在麻省理工学院担任César的访问研究员。在那段时间,我和一位同事合作了一个名为 Moviegalaxies.com(开放数据)的项目,后来还分析了Kickstarter项目中的文本、语音和视频数据。这是我第一个多模态机器学习管线。从我的网络分析项目开始,我不知怎么地后来为一家德国大型足球队分析了传球网络。现在,我的研究主要关注因果关系和因果机器学习。在这方面,我和同事 Paul Hünermund 共同创办了因果数据科学会议。

**Kevin:**César,我印象中你的背景是物理学,对吗?

**César:**我最初是学物理的,在圣母大学获得了博士学位,研究方向是复杂网络。在那段时间,我意识到网络工具可以用来描述经济的演变和命运。最终,这演变成了我们今天所知的“经济复杂性”领域,它利用物理学、经济学和计算机科学的工具来研究经济发展过程。

**Kevin:**找到自己热爱的领域并深耕其中是一件乐事。我很想知道你们在这个领域的日常工作是怎样的。

**Johannes:**老实说,在研究领域,日常工作就是写代码、写论文和与人交流,然后不断迭代。当然,在大学工作通常也意味着有教学和行政任务。我喜欢的是,在自己选择研究什么方面有相当大的自由度。如果某个项目或方向不能激发我的热情,我通常可以调整焦点。这是一种独特的优势。

**Sándor:**我想补充一点,这个领域最好的地方之一就是跨学科社区。在一周之内,我可能会和经济地理学家、计算机科学家和物理学家讨论同一个研究问题。这很不寻常,也非常能激发思考。

**Kevin:**自从生成式AI工具问世以来,情况有什么变化吗?你们发现生成式AI工具有用吗?

**Johannes:**绝对有用。我们现在经常使用LLM工具来做一些事情,比如调试数据管道、起草样板代码,甚至是对统计方法进行合理性检查。在一个像我们这样涉及多种不同方法、需要协调团队工作的项目中,它特别有用。话虽如此,如果你自己已经有了清晰的想法,LLM的帮助会更大。

**Kevin:**对于刚开始从事软件工程或研究的人,你们有什么建议吗?你们会给年轻时的自己什么建议?

相似文章

GitHub 与软件之罪

Lobsters Hottest

本文批评 GitHub 频繁宕机、可靠性差,并且优先发展AI功能而非基础架构,认为这反映了大型科技软件服务的普遍衰退。