Octoverse:AI推动Python成为顶级语言,全球开发者数量激增

文摘   2024-11-11 14:42   美国  

还记得人们曾说AI会取代开发者吗?我们的数据讲述了一个不同的故事。随着AI快速扩张,开发者正在越来越多地将AI模型集成到应用程序中,并在GitHub上大量参与AI项目。与此同时,我们看到来自全球各地的开发者以前所未有的数量加入GitHub,其中许多开发者首次为开源项目做出贡献。

在2024年,Python超越JavaScript成为GitHub上最受欢迎的语言,同时Jupyter Notebooks也呈爆炸性增长——这两点都凸显了GitHub上数据科学和机器学习的激增。我们还看到对AI代理和需要较少计算能力的小型模型的兴趣增加,反映了整个行业关注AI新用例的转变。

我们的数据还显示,加入全球开发者社区的人数大大增加。在过去的一年里,更多的开发者加入GitHub并参与开源和公共项目(在某些情况下,由AI赋能)。自GitHub Copilot等工具在2023年初开始主流化以来,GitHub上的开发者数量迅速增长,在全球南方地区尤其显著。虽然我们看到AI正在推动对软件开发的兴趣,但我们无法完全解释数据反映的全球增长激增(但我们将继续研究)。

在GitHub,我们深知开源在连接早期实验和广泛采用方面扮演着关键角色。在今年的Octoverse报告中,我们将探讨AI和快速增长的全球开发者社区如何产生复合效应。

我们揭示了三大趋势:

  • 全球生成式AI活动激增。AI正在快速发展和演变,全球开发者正在远远超越代码生成。虽然美国在GitHub上的生成式AI项目贡献中处于领先地位,但我们看到美国以外地区的绝对活动更多。2024年,GitHub上生成式AI项目的贡献数量激增59%,项目总数增长98%——这些贡献很大一部分来自印度、德国、日本和新加坡等地。

  • 全球开发者数量迅速增长,尤其是在非洲、拉丁美洲和亚洲。印度的增长尤其显著,预计到2028年将成为GitHub上开发者数量最多的国家,非洲和拉丁美洲的增长也很明显。巴西的开发者社区增长迅速。部分原因可归因于学生。GitHub教育项目已有超过700万验证参与者。我们还看到学生、教师和开源维护者采用GitHub Copilot的年同比增长达100%。这表明AI不仅帮助更多人学习编写代码或更快地构建软件,还在吸引和帮助更多人成为开发者。首次为开源做贡献的人继续表现出对AI项目的广泛兴趣。但我们没有看到AI通过低质量贡献损害开源的迹象。

  • Python现在是GitHub上使用最多的语言,全球开源活动继续扩展到传统软件开发之外。Python首次成为GitHub上使用最多的语言。Python在机器学习、数据科学、科学计算、业余爱好和家庭自动化等领域被广泛使用。Python使用率的上升与来自STEM世界各个领域的大型社区加入开源社区相关。今年,Jupyter Notebooks的使用量激增92%。这可能表明从事数据科学、AI、机器学习和学术研究的人越来越多地使用GitHub。系统编程语言如Rust也在上升,同时Python、JavaScript、TypeScript和Java仍然是GitHub上使用最广泛的语言。

在2023年初,我们庆祝GitHub总开发者数量达到1亿——此后这个数字以快速的速度攀升。2024年,全球开发者对超过5.18亿个开源、公共和私有项目做出了超过5.2亿次贡献

那么,世界上哪些地方的GitHub开发者最为活跃,哪里的增长最为显著?随着AI让开发者能用自己选择的自然语言编码,我们可以预期哪些地区会看到更大的增长?让我们来看看。👇

在拥有最多开发者的前20个国家中,既有稳定性也有变化。虽然印度继续接近第一名(根据更新的预测,我们现在预计到2028年,但下面会详细说明),美国仍然拥有GitHub上全球最多的开发者。尽管如此,自2013年以来,我们每年都看到美国以外地区的增长更快——这一趋势在过去几年加速了。

从全球来看,开发者社区正显著增长。巴西、印度和尼日利亚增长尤其迅速,这一点值得注意,因为它们是各自大陆最populous的地区,且语言多样。

总体而言,前20大开发者社区基本保持稳定,但有几个值得注意的例外。这些包括菲律宾(#18)超过澳大利亚(#19),以及巴基斯坦(#20)超过波兰(#21)。

💡 保持敏锐。 这些非英语、高人口地区的崛起值得关注,因为这正发生在生成式AI工具日益普及的同时,这些工具越来越能让开发者用自然语言与代码交互。

预测GitHub上2030年的前10大开发者社区

为了识别未来五年增长潜力最高的开发者社区,我们根据当前趋势创建了预测。我们去年的预测发生了变化:印度现在有望在2028年超过美国的GitHub开发者数量(此前,我们基于线性人口增长预测它将在2027年超过美国)。

拉丁美洲增长最快的开发者社区

拉丁美洲国家的科技行业目前正在寻求"建立其动力",随着该地区在开放银行、基于云的基础设施和人工智能方面经历快速增长。这由充满活力的科技中心、大量新毕业的劳动力以及包括为科技初创企业提供激励在内的政府支持所驱动。

国家 增长百分比 开发者数量
巴西 27% 同比 >5.4M
墨西哥 21% 同比 >1.9M
哥伦比亚 25% 同比 >1M
阿根廷 22% 同比 >1.1M
秘鲁 27.5% 同比 >583K

拉丁美洲聚焦点

  • 秘鲁在金融科技初创企业方面看到了显著增长,该国科技行业正因外国投资和疫情加速的数字化转型而迅速扩张。
  • 巴西的开放银行行业持续由Pix推动,这是该国的实时支付基础设施,其通信协议已由巴西中央银行在GitHub上开源。巴西政府还在增加投资以吸引私营和公共组织,并recently宣布了40亿美元的人工智能投资计划。
  • 墨西哥政府拥有独立的软件和开发者生态系统,旨在提升劳动力的编码和人工智能技能。

"学生学会协作和合作,他们发展软技能。我在学期末进行了一项调查,超过70%的学生表示通过GitHub参与项目提高了他们的技术和领导力技能。" – 何塞·阿尔弗雷多·罗曼·克鲁兹 // 教授,特拉西亚科技术学院

亚太地区增长最快的开发者社区

**GitHub上亚太社区的开发者数量正以全球最快的速度增长,我们预计这一趋势将持续。**随着生成式人工智能越来越多地赋能开发者参与代码和社区,无论其口语语言如何,这一点尤其明显。

印度拥有快速增长的开发者社区,预计到2028年将成为世界上最大的开发者社区。印度重视开源软件,并推出了2020年国家教育政策,要求学校在学生课程中包含编码和人工智能。值得注意的是,学习平台Udemy的一项最新研究发现,GitHub是印度最抢手的技能之一,可与英语语法技能相媲美。

作为联合国支持的 数字公共产品联盟[1] 的一部分,印度还通过 数字公共产品[2] (DPGs)构建其 数字公共基础设施[3] ,范围从软件代码到AI模型。例如,其 开放医疗网络[4] 平台是一个由小型但专注的开源开发者团队推动的社区驱动项目,他们使用 GitHub Copilot[5]

国家 年增长率 开发者数量
印度 28% 同比 >17M
中国 10% 同比 >9M
印度尼西亚 23% 同比 >3.5M
日本 23% 同比 >3.5M
菲律宾 29% 同比 >1.7M

亚太地区亮点

  • 新加坡拥有高开发者人口比率,政府主导的计划推动其科技行业,如成为世界领先的 智慧国家[6] 和其 国家人工智能战略[7]
  • 日本持续增长,其政府通过 对不断发展的领域采取轻监管方式[8] 来促进AI投资。
  • 韩国作为全球IT领导者,拥有最快的互联网,专注于 AI、量子计算和网络安全[9] 。该国政府还在其 K-Network 2030战略[10] 中大力投资技术和创新。

"GitHub就像我们呼吸的空气。它是我们工作方式的自然组成部分,以至于有时我们甚至没有注意到它。我们无法想象没有GitHub的生活。" – 山本龙三 // 软件工程师, Souzoh[11]

欧洲和中东增长最快的开发者社区

欧洲和中东以独特的方式塑造AI的未来。 中东国家正在投资AI[12] ,目标是成为全球AI中心。与此同时,在过去五年里, 欧盟一直在提出多个框架和法律[13] 来监管技术和平台提供商以及生成式AI,包括数字服务法案、数字市场法案、AI法案和数据治理法案。

国家 年增长率 开发者数量
英国 19% 同比 >4M
德国 21% 同比 >3.5M
法国 20% 同比 >2.8M
西班牙 24% 同比 >1.8M
土耳其 19% 同比 >1.7M

欧洲和中东亮点

  • 荷兰拥有130万GitHub开发者的蓬勃发展的科技行业,以IT公司和数字基础设施的十年持续增长为特征。
  • 西班牙的开发者群体正在增长,在全球GitHub用户基础中位居第15位。该国致力于通过开发西班牙语AI模型来推进其国家AI战略。
  • 法国对AI和技术创新的开放态度通过其2030计划得到体现,该计划包括在技能提升和吸引AI人才方面的投资。其法国科技2030计划还支持初创解决方案。
  • 瑞士拥有约51.9万GitHub开发者,通过要求尽可能使用开源软件,在公共部门开源开发方面迈出了重要一步。《经济学人》最近报道瑞士是最具创新性的国家,部分原因是其在GitHub上的开源项目贡献。
  • 土耳其的信息和通信技术市场增长显著。该国旨在利用本地电信运营商加速物联网和智慧城市项目,同时利用5G增强银行、医疗和媒体等行业。
  • 阿联酋也是一个值得关注的地区,最近致力于成为AI和先进技术的全球领导者,并在GitHub上的开发者数量同比增长32%。

"基本上,我们构建的一切都是在迭代开源。我认为对于像我们这样的大型组织来说,尽可能地参与并回馈社区是合理的。" – 凯·戈贝尔 // 工程负责人, Zalando[14]

非洲发展最快的开发者社区

非洲正在培养一个不断增长的开发者群体,他们准备推动下一波科技创业浪潮——在某些情况下,已经在这样做了。 该大陆的开发者通过像开源社区非洲和全非洲等倡议,培养了蓬勃发展的开源社区。

国家 同比增长百分比 开发者数量
尼日利亚 28% >110万
埃及 25% >99万
南非 23% >66.4万
摩洛哥 25% >55.6万
肯尼亚 33% >39.3万

尼日利亚、埃及、南非和肯尼亚被视为非洲的"四大"国家,专注于技术素养,吸引全球投资者,并在2023年获得了非洲大部分初创企业融资。例如,埃及通信和信息技术部正在通过其"我们的未来是数字化"计划培养技术技能。

"我认为改变非洲人仅仅是消费者的看法很重要;我们也是创造者。通过帮助非洲各地的人们构建项目并在全球展示他们的工作,我希望改变这种叙事,并证明非洲也是创新和创造力的中心,尤其是在开源社区中。" – ** Ruth Ikegah[15] ** // CHAOSS Africa社区负责人

非洲聚焦

  • 2022年,肯尼亚成为第一个在小学和中学教授编程的非洲国家。
  • 2019年,尼日利亚启动了"国家数字经济政策和战略",强调数字素养作为经济发展的基石。
  • 南非还致力于培训年轻劳动力,涉及编程、人工智能、云计算和机器人技术。
  • 摩洛哥的外包业务也被视为推动该国数字化转型的"关键领域"。

开源现状

[图片]

2024年,全球开发者在GitHub上对开源和公共仓库做出了近10亿次贡献。这些贡献涵盖了从流行项目到生成式AI项目和商业支持的项目。

与去年类似,商业支持和生成式AI项目吸引了最多的贡献。但值得注意的是,北美和欧洲以外的地区的贡献活动正在激增。

[图片]

开发者消费开源的趋势显著,npm注册表中的JavaScript包增长了15%。 前50个包显示了净正增长,这表明JavaScript生态系统正在巩固和成熟。这也意味着随着关键生态系统的发展,越来越多的人正在使用开源项目。

我们看到GitHub上的顶级地区和为开源做出贡献的顶级地区之间存在一些差异。例如,德国是GitHub上为开源做出贡献的第三大地区,但截至2024年,他们是GitHub上开发者人口第七大的社区。

首次为开源项目做贡献的开发者持续增加。 全球有140万新开发者加入开源,其中大多数为商业支持和生成式AI项目做出贡献。值得注意的是,我们没有看到被拒绝的拉取请求增加。这可能表明尽管新贡献者增多,质量仍然保持很高。

GitHub上贡献者最多的开源项目。  home-assistant/core[16]  和  flutter/flutter[17]  继续位居GitHub贡献者最多项目的前列,反映了它们的受欢迎程度和社区实力。值得注意的是, vercel/next.js[18]  再次出现在所有贡献者的前10名列表中,这表明其在Web开发中的持续增长和地位。

  • firstcontributions/first-contributions[19]ultralytics/ultralytics[20]langchain-ai/langchain[21]  和  NixOS/nixpkgs[22]  也继续出现在我们的前10名列表中,这表明除了希望提高技能的职业早期开发者外,GitHub上的开发者还在探索使用 大语言模型[23] (LLMs)和云原生开发实践开发应用程序。
  • ollama/ollama[24]  也出现在前10个公共和开源项目中,其贡献数超过了PyTorch和PowerToys等大型项目。截至2024年,它是GitHub上贡献者增长第三快的项目。这表明开发者对需要较少计算能力的AI模型有显著兴趣(稍后会详细讨论)。
  • 值得注意的是,物联网项目  koenkk/zigbee2mqtt[25]  今年也出现在我们的列表中——这可能是由于  home-assistant/core[15]  的流行,因为  koenkk/zigbee2mqtt[24]  可用于获取诸如室温等数据。随着  Ultimaker/Cura[26]  也在列表中,很明显开源中存在大量的制造者和黑客文化。
  • 特别指出: 编程语言项目  ProvableHQ/leo[27] ,首次出现在我们的顶级开源项目贡献者中。作为一种静态类型语言,Leo通常用于在私有的去中心化区块链技术上开发私有应用程序。

开发者通过流行的开源项目推动社会变革。 GitHub的 For Good First Issue[28] 是需要贡献者的 DPG[1] 的精选列表,将这些项目与希望解决社会挑战和促进可持续发展的人联系起来。随着更多开发者在全球投资连接性和AI的背景下加入GitHub,我们预计DPG的贡献将持续增长。

值得注意的是,在前10个For Good Issue项目中,34%的贡献者是在注册GitHub Copilot后首次做出贡献的。

首次贡献者为帮助 寄养系统中的青年[29] 、促进 中低收入国家的药物发现[30] 、支持 揭发不当行为[31] 等项目做出了贡献。

超过82%的GitHub贡献来自私有仓库。 开发者在2024年跨越了超过1.81亿个私有仓库做出了43亿次贡献。这些数字展示了通过免费、团队和GitHub企业账户在私有仓库中发生的大规模活动——尤其是自2019年我们开始为开发者提供免费账户的私有仓库以来。

Jupyter Notebooks使用量的激增显示开源支撑了一个不断壮大的社区,尤其是随着Python成为GitHub上使用最多的语言。 自2018年以来,我们看到Jupyter Notebooks的使用稳步增长——并且随着生成式AI和机器学习的研究和实验在2022年激增,增长也随之加速。自2022年以来,GitHub上的Jupyter Notebooks使用量激增了170%以上。自去年以来,使用量增加了92%。数据科学家和机器学习研究人员通常使用这个开源应用进行机器学习、数据可视化等。

[图片]

2024年生成式AI的状态

[图片]

在过去一年中,生成式AI已经超越了2023年的炒作,开发者和组织都在寻求结果而非实验——GitHub上的数据也证明了这一点。2024年,GitHub上的开发者创建了超过70,000个新的公共和开源生成式AI项目,并对GitHub上所有生成式AI项目做出了近60%更多的总贡献

[图片]

AI模型成为开发者技术栈的一部分。我们看到GitHub上的生成式AI创新正在进入公共仓库,这表明开发者越来越多地在开放环境中构建。随着开发者识别出越来越多的AI用例,生成式AI模型在软件开发中的角色已经从帮助开发者编写代码转变为开发应用程序的新构建模块。

  • 开发者对性能好、计算成本低的小型模型的需求正在增长,这是由在智能手机中嵌入AI模型的愿望驱动的。
  • 值得注意的是,2024年贡献者数量增长最快的开源AI项目是 ollama/ollama[23] ,这表明对本地运行的大语言模型的实验正在增加。
  • 随着模型变得更小、计算强度更低,我们预计会有更多开发者在应用程序中使用它们。

GitHub上的开发者正在尝试降低AI实验的门槛。前10个公共生成式AI项目致力于改善对AI模型的访问,使实验更加容易。应用范围从创建改进文本到图像生成的用户友好界面,到构建用于任务管理的自主AI代理。为了获取这些数据,我们查找了使用从去年的 研究[32] 中收集的生成式AI相关关键词的仓库。

在我们观察到开发者对通过  AUTOMATIC1111/stable-diffusion-webui[33]  进行图像生成和通过  Significant-Gravitas/AutoGPT[34]  开发 AI 代理的持续兴趣的同时,我们也看到了 GitHub 上 AI 开发工作的一些变化:

  • 小规模模型的兴起。 在过去一年中,GitHub 上的开发者使用了 Meta 的 LLaMA 模型,这表明对更小、开源模型的兴趣正在增长。
  • 我们还通过像  binary-husky/gpt_academic[35]  这样的项目看到,开发者对为学术研究等特定用例开发 AI 工具的兴趣正在增长。
  • 持续关注开发 AI 代理以自动化流程。 AutoGPT 相关项目的持续存在表明,自动化仍然是一个重要的探索领域,开发者专注于增强 AI 代理的能力。

超过一百万开源维护者、经过验证的学生和教师免费使用了 GitHub Copilot。2024 年,我们看到教师、学生和开源维护者在我们的免费项目中使用 GitHub Copilot 增加了 100%。这凸显了 AI 在教育和技能提升中的实用性(如 学习新的编程语言[36] )。在过去一年中,超过 450,000 名 GitHub Education 用户成为平台上项目的首次贡献者

我们看到自 GitHub Copilot 推出以来,定期使用 GitHub 的开发者中活跃度有所增加。 在定期使用 GitHub 并使用 GitHub Copilot 的开发者中,我们看到开源和公共项目的活跃度有所提高(在每周使用 GitHub 五天的开发者中为 12-15%,每周使用一次的开发者中为 8-15%)。这呼应了关于 AI 编码工具对 整体感知[37] 和 定量生产力提升[38] 的研究。

我们已经看到生成式 AI 项目的全球贡献和贡献者在增长。 来自美国、中国香港特别行政区、印度、德国和法国的开发者是推动生成式 AI 项目贡献的主要群体。例如,印度对 GitHub 上生成式 AI 项目的贡献同比增长了 95%,而法国增长了 70%。这些社区也看到了贡献者数量最大的同比增长。

其他社区在公共生成式 AI 项目贡献者方面也看到了最高的百分比增长,如荷兰(291%)、埃塞俄比亚(242%)、哥斯达黎加(171%)、塞尔维亚(175%)和越南(143%)。

  • 这些社区的总贡献者较少,导致任何增长都会导致高百分比率——但他们的增长仍然显示了开发者在生成式 AI 项目上的全球协作。
  • 我们预计这种增长将继续,尤其是随着更多小型语言模型在更广泛的市场上推出,降低了使用 AI 开发软件的计算要求。此外,随着生成式 AI 编码工具使开发者能够使用自然语言编写代码,我们看到全球开发者有更多机会为项目做出贡献,无论其母语如何。

💡 保持智慧。 在比较拥有大量生成式AI贡献者的地区与贡献数量较多的地区时,我们看到尽管全球增长仍在继续,但开发者人口较多的地区正在崛起。

2024年安全和自动化的现状

2024年,GitHub上的开发者使用秘密扫描检测到超过3900万个秘密泄露。我们还看到开发者和开源社区通过新的生成式AI安全工具、自动化警报和主动措施更快地响应安全事件。这不仅有助于提高软件安全性,还能加快修复速度。

2024年最常见的安全漏洞。 注入是一个相当大的安全问题类别,是通过CodeQL在公共和私有仓库中发现的最常见漏洞类型,这是GitHub开发的代码分析引擎,用于自动化安全检查。同时,安全日志和监控失败漏洞在私有仓库中更为常见。

开发者越来越多地使用AI进行代码审查和安全漏洞修复。AI并不能取代安全专家,但可以增强他们的知识和能力,同时帮助解决全球安全专业人员短缺的问题。

  • 值得注意的是,开发者正在尝试使用像 Copilot Autofix[39] 这样的AI工具,这是一个能自动检测漏洞并提供修复建议的AI驱动的安全工具,并用自然语言提供解释。
  • 我们预计这类工具将改善开源、公共项目以及闭源项目的安全性。到目前为止,使用Copilot Autofix,我们发现它帮助开发者:
  • 修复代码漏洞的速度比手动修复快三倍以上,将拉取请求时警报的修复时间从1.5小时缩短到28分钟。
  • 修复跨站点脚本漏洞的速度快七倍,将修复时间缩短到22分钟,而不是近三小时。
  • 修复SQL注入漏洞的速度快十二倍,将修复时间缩短到仅18分钟,而不是3.7小时。

GitHub上的开发者正在使用自动化来管理日益增加的安全责任。 例如,开发者正在合并越来越多由Dependabot生成的拉取请求,Dependabot会发送关于拉取请求中过时或存在漏洞的依赖项的警报。Dependabot打开的拉取请求与开发者合并的拉取请求之间的差距逐年缩小。

虽然开发者正在使用自动化和AI来保护其代码和应用程序,但仍有改进空间。政府法规越来越要求开发者了解其软件构件的成分,这增加了实施自动化治理和合规工具的需求。

前50个顶级开源项目中有94%正在使用 OpenSSF Scorecard[40] ** 以确保其项目实施安全最佳实践。我们通过查看大约100万个具有前50个最受欢迎的开源项目的OpenSSF记分卡**的仓库来评估这一点。OpenSSF Scorecard操作评估仓库,运行安全最佳实践检查,并生成带有实时反馈的安全记分卡。

熟悉  GitHub 安全功能[41]  如代码扫描和秘密扫描(对开源开发者免费),以及供应链治理功能,如  制品证明[42] ,是自动化最佳安全实践的良好第一步。企业开发者还可以求助于其开源项目办公室(OSPOs)以支持他们在开源依赖项中导航法规和实施安全措施,因为 OSPOs 将在合规性中扮演越来越关键的角色

开发者正在使用 GitHub Actions 在公共和开源项目中自动化构建、测试和安全活动的更多方面。2024年,我们看到开发者使用了 10.54 亿总 GitHub Actions 分钟数(以 CPU 分钟计算)。这比 2023 年开发者使用的 7.3 亿 GitHub Actions 分钟数增长了近 30%。

使用自动化的开发者数量增长反映在  GitHub Marketplace 中 GitHub Actions 的增长[43] 。一些最受欢迎的操作包括  Gosec 安全检查器[44] 、 Super-Linter[45] 、 PHPLint[46]  和  Metrics 嵌入[47]

"我们从 GitHub Actions 市场获得构建和支持我们定制的 CI/CD 管道所需的一切。" – Bjoern Bengelsdorf // 高级软件工程师, Otto Group[48]

GitHub Marketplace 中最受欢迎的 GitHub Actions 包括  OpenCommit[49] ,它在推送到远程时使用有意义的 AI 生成内容增强提交消息,以及  Replexica[50] ,它提供跨多种编程语言的 AI 驱动的代码翻译。这些操作表明开发者正在在其工作流程中找到更多生成式 AI 的用例

最受欢迎的编程语言

Python 成为 GitHub 上使用最多的语言,在连续 10 年作为最常用语言后超过了 JavaScript。这是自 2019 年以来我们看到的顶部两种语言的首次大规模变化,这反映了在过去两年生成式 AI 热潮中 Python 的崛起。

  • Python 软件基金会的看法: 我们联系了 Python 软件基金会,基金会执行董事 Deb Nicholson 给出了以下回应:"我们的目标是让 Python 成为一个帮助不断增长的开发者社区构建他们设想的世界的伟大工具。我们对 Python 在 GitHub 上持续增长的受欢迎程度感到非常高兴,尤其是与 Jupyter Notebooks、数据分析、AI 和开源技术的使用增加相结合。"
  • 我们还看到的其他情况: Shell 在 2024 年超过了 C。尽管 Rust 和 Go 等语言正在上升,但更传统的语言仍然被广泛使用且需求旺盛。此外,JavaScript 和 Python 等新手友好语言的高采用率提高了更多人学习编程的可能性,因为这些是学术和数据科学等领域的流行语言。

值得注意的是,JavaScript在代码推送方面仍然排名第一。 更多的开发者仍然更频繁地使用JavaScript推送代码,但在GitHub上所有贡献类型的绝对活跃度中,Python现在超过了JavaScript。除了Python相对容易使用外,它还是数据科学和生成式AI的热门选择,这两个领域在过去两年里在GitHub上都有显著增长。

  • TypeScript正在侵蚀JavaScript。 在2014-2019期间呈指数级增长后,TypeScript去年超过了Java,进入GitHub上前三的编程语言,其持续增长体现了它作为语言、类型检查器和编译器的实用性。虽然Python在代码推送活动和其他活动的贡献者数量上增长速度快于JavaScript,但它并没有比JavaScript和TypeScript的组合增长更快。这并非JavaScript社区的放缓,而是我们看到大部分新提交正在 转向TypeScript[51] 。TypeScript是JavaScript的超集,与JavaScript在同一个npm生态系统中,这使得JavaScript开发者可以逐步采用。
  • 随着npm包消费的增加,JavaScript仍然保持着庞大的开发者基础。 这种语言在客户端和服务器端都能运行,并且可以轻松适应不同的框架和标准, 这是其受欢迎的原因之一[52] 。随着其强大的生态系统不断成熟,我们看到通过npm注册表消费包的增长强劲,同比增长15%。

Rust因其安全性、性能和生产力而持续获得人气。最初旨在作为C和C++的更安全替代品,Rust的流行和采用已经爆发,顶级应用程序(如 Microsoft Windows[53] )使用Rust重写核心库,使用其内存安全代码。

基于新兴和顶级语言,开发者的概念已经扩展到软件开发者之外,包括运维或IT开发者、机器学习研究员、数据科学家、学生、教师和数学家。

  • Python是数据科学和研究的首选语言,其过去几年的持续增长,加上Jupyter Notebooks的增长,可能表明GitHub上的活动已经超越了传统软件开发。
  • T-SQL,SQL的扩展,主要在Microsoft SQL服务器中使用,也表明了数据科学家和数据库管理员的活动。

HCL和Go的持续流行反映了运维和基础设施即代码(IaC)工作的增长,尤其是在管理云原生基础设施方面。自2019年我们首次看到云原生开发的massive增长以来,开源中的IaC持续增长。特别是HCL的25%同比增长表明开发者越来越多地使用声明性语言来指定云部署的管理方式。

HCL、Go以及Dockerfiles的流行表明开发者正在扩展云原生应用的工作。Terraform使用的增加follows我们在过去十年中看到的Dockerfiles和其他云原生技术的使用增加。IaC实践的增加也表明开发者正在为云部署带来更多标准化。

带着这个

随着开发者的技术栈不断发展,他们的角色也随之演变。我们给你三个要点:

  • 生成式AI模型正成为软件开发的核心构建模块。它们为编码工具提供支持,提供漏洞修复和背景说明,根据自然语言提示和现有代码给出建议,并促进新老开发者的学习。它们还在改变开发者构建应用程序的方式,开发者将从 允许他们轻松尝试AI模型作为构建模块的平台[54] 中受益,无需单独设置或额外成本。
  • GitHub上的全球开发者社区正在迅速扩大——下一代开发者正在GitHub上起步。不断扩大的多元化开发者社区推动创新和人才,并为日益复杂的问题带来新的解决方案。对AI的增加访问和实验也可能简化和个性化新开发者的编码之旅,降低准入门槛并进一步多元化GitHub的开发者社区。
  • 开发者的定义和职责范围正在改变。Python、HCL和Jupyter Notebooks的兴起等迹象表明,开发者的概念已扩展到软件开发者之外,包括运维或IT开发者、机器学习研究员和数据科学家等角色。


术语表

  • 2024:指2023年10月1日至2024年9月30日。
  • 贡献:对提交、问题、拉取请求、拉取请求差异或团队讨论发表评论;创建Gist、问题、拉取请求或团队讨论;向项目推送提交;审查拉取请求。
  • 贡献者:执行上述任何贡献活动的GitHub用户
  • 开发者:拥有GitHub账户的任何人。有时也称为GitHub用户。开源和开发者社区是一个日益多元化和全球化的群体,他们研究代码、做非代码贡献、进行科学研究等。GitHub用户推动开源创新,并在从软件开发到数据分析和设计等各个行业工作。
  • 生成式AI:为了找到生成式AI项目,我们从GitHub CEO  Thomas Dohmke与Keystone的白皮书[55] 中获取了主题字符串列表,并搜索了至少带有这些主题之一的项目。
  • GitHub Classroom用户:登录过GitHub Classroom的任何人。所有GitHub Classroom用户都是GitHub Education用户,但并非所有教育用户都是Classroom用户。
  • GitHub Education用户:包括GitHub Classroom用户、优惠用户(学生、教师)以及隶属于教育机构的用户。


方法论

本报告基于GitHub从2023年10月1日至2024年9月30日的匿名用户和产品数据。

更多数据可在 GitHub创新图谱[56] 上公开获取——这是GitHub为对软件开发现状感兴趣的组织和个人提供的研究工具。仅包括公开活动,且仅在相关活动期间有100个或更多独特开发者执行该活动时,才报告经济体指标。

参考链接

  1. 数字公共产品联盟: https://digitalpublicgoods.net/who-we-are/
  2. 数字公共产品: https://digitalpublicgoods.net/digital-public-goods/
  3. 数字公共基础设施: https://www.economist.com/asia/2023/06/04/how-india-is-using-digital-technology-to-project-power
  4. 开放医疗网络: https://github.com/coronasafe?utm_source=youtube&utm_medium=video&utm_campaign=Sprint1
  5. GitHub Copilot: https://github.com/features/copilot
  6. 智慧国家: https://www.smartnation.gov.sg/about-smart-nation/transforming-singapore/
  7. 国家人工智能战略: https://www.smartnation.gov.sg/nais/
  8. 对不断发展的领域采取轻监管方式: https://asia.nikkei.com/Business/Technology/Artificial-intelligence/Japan-goes-light-on-AI-regulation-to-court-investment
  9. AI、量子计算和网络安全: https://www.trade.gov/country-commercial-guides/south-korea-information-and-communication-technology
  10. K-Network 2030战略: https://www.msit.go.kr/bbs/view.do?sCode=eng&mId=4&mPid=2&bbsSeqNo=42&nttSeqNo=783
  11. Souzoh: https://github.com/customer-stories/mercari
  12. 中东国家正在投资AI: https://fastcompanyme.com/technology/the-middle-east-is-investing-in-ai-but-is-the-talent-available/
  13. 欧盟一直在提出多个框架和法律: https://www.wired.com/story/european-commission-big-tech-regulation-outlook/
  14. Zalando: https://github.com/customer-stories/zalando
  15. Ruth Ikegah: https://github.com/Ruth-ikegah
  16. home-assistant/core: https://github.com/home-assistant/core
  17. flutter/flutter: https://github.com/flutter/flutter
  18. vercel/next.js: https://github.com/vercel/next.js
  19. firstcontributions/first-contributions: https://github.com/firstcontributions/first-contributions
  20. ultralytics/ultralytics: https://github.com/ultralytics/ultralytics?tab=readme-ov-file
  21. langchain-ai/langchain: https://github.com/langchain-ai/langchain
  22. NixOS/nixpkgs: https://github.com/NixOS/nixpkgs
  23. 大语言模型: https://github.blog/ai-and-ml/llms/
  24. ollama/ollama: https://github.com/ollama/ollama
  25. koenkk/zigbee2mqtt: https://github.com/Koenkk/zigbee2mqtt
  26. Ultimaker/Cura: https://github.com/Ultimaker/Cura
  27. ProvableHQ/leo: https://github.com/ProvableHQ/leo
  28. For Good First Issue: https://forgoodfirstissue.github.com/
  29. 寄养系统中的青年: https://github.com/rubyforgood/casa
  30. 中低收入国家的药物发现: https://github.com/ersilia-os/ersilia
  31. 揭发不当行为: https://github.com/globaleaks/GlobaLeaks
  32. 研究: https://arxiv.org/abs/2306.15033
  33. AUTOMATIC1111/stable-diffusion-webui: https://github.com/AUTOMATIC1111/stable-diffusion-webui
  34. Significant-Gravitas/AutoGPT: https://github.com/Significant-Gravitas/AutoGPT
  35. binary-husky/gpt_academic: https://github.com/binary-husky/gpt_academic
  36. 学习新的编程语言: https://github.blog/developer-skills/programming-languages-and-frameworks/how-to-use-ai-coding-tools-to-learn-a-new-programming-language/
  37. 整体感知: https://github.blog/news-insights/research/survey-ai-wave-grows/
  38. 定量生产力提升: https://github.blog/news-insights/research/research-quantifying-github-copilots-impact-in-the-enterprise-with-accenture/
  39. Copilot Autofix: https://github.blog/news-insights/product-news/secure-code-more-than-three-times-faster-with-copilot-autofix/
  40. OpenSSF Scorecard: https://github.com/ossf/scorecard
  41. GitHub 安全功能: https://docs.github.com/code-security/getting-started/github-security-features
  42. 制品证明: https://docs.github.com/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds
  43. GitHub Marketplace 中 GitHub Actions 的增长: https://github.com/marketplace?type=actions
  44. Gosec 安全检查器: https://github.com/marketplace/actions/gosec-security-checker
  45. Super-Linter: https://github.com/marketplace/actions/super-linter
  46. PHPLint: https://github.com/marketplace/actions/phplintaction
  47. Metrics 嵌入: https://github.com/marketplace/actions/metrics-embed
  48. Otto Group: https://github.com/customer-stories/otto-group
  49. OpenCommit: https://github.com/marketplace/actions/opencommit-improve-commits-with-ai
  50. Replexica: https://github.com/marketplace/actions/replexica
  51. 转向TypeScript: https://github.com/readme/featured/typescript-gradual-types
  52. 这是其受欢迎的原因之一: https://opensource.com/article/20/11/javascript-popular
  53. Microsoft Windows: https://learn.microsoft.com/en-us/windows/dev-environment/rust/rust-for-windows
  54. 允许他们轻松尝试AI模型作为构建模块的平台: https://github.blog/news-insights/product-news/introducing-github-models/
  55. Thomas Dohmke与Keystone的白皮书: https://github.blog/2023-06-27-the-economic-impact-of-the-ai-powered-developer-lifecycle-and-lessons-from-github-copilot/
  56. GitHub创新图谱: https://innovationgraph.github.com/
  57. press@github.com: mailto:press@github.com

幻想发生器
图解技术本质
 最新文章