GitHub 2019 年度报告都说了什么?
- 2019 年 12 月 6 日
- 笔记
转自新智元,编辑:小芹、亮亮
4000 万开发者在 365 天里能做什么?
就在昨天,全球最大开发者社区 GitHub 重磅发布 2019 年度报告,透露了一个数据:GitHub 目前在全球已有超过 4000 万开发者用户,其中 80% 来自美国之外的地区。
仅去年一年,就有 1000 万新开发者加入 GitHub,创建第一个项目的用户比 2018 年增加了 44%,130 万开发者对开源做出了第一个贡献。甚至还有来自南极等新地方的贡献。
4000 万开发者在去年总共构建了 4400 万个仓库,像 “深度学习”、“自然语言处理” 和 “机器学习” 等主题的代码仓库在过去一年中越来越受欢迎。GitHub 在 2018 年 11 月突破了 1 亿仓库的里程碑。
微软的 Visual Studio Code 和 VSCode (19.1K)、Azure Docs (14K) 是去年 GitHub 上贡献者最多的开源项目,其次是谷歌的 TensorFlow (9.9K)、Kubernetes (6.9K) 和 Facebook 创建的 React Native 框架。
JavaScript 仍然是开发者在 GitHub 上使用的最流行的语言,但在 GitHub 历史上,Python 首次击败 Java,成为使用人数第二多的编程语言。
而去年增长最快的语言是 Dart,它是谷歌 UI 工具包 Flutter 的编程语言;其次是 Rust、HCL、Kotlin 和 TypeScript。
此外,在过去三年中,使用 Jupyter Notebooks(按以 Jupyter 为主要语言的仓库的数量)的同比增长超过了 100%。
而 TensorFlow 的增长更加惊人:TensorFlow 的贡献者从 2238 人增长到 25166 人,已经成为一个全球性的社区。
下面我们来看详细报告。
80% 的 GitHub 用户来自美国以外,中国开源使用增长迅速
在过去的一年中,有 1000 万新开发者加入了 GitHub 社区,为全球 4400 万个开源项目做出了贡献。而且,接近 80% 的 GitHub 用户来自美国以外。
开源世界由维护者,开发者,研究人员,设计师,作家等组成的全球团队构建。平均而言,今年 GitHub 上的每个开源项目都欢迎来自 41 个不同国家和地区的贡献者。自 2014 年以来,来自美国以外的更多开源资源在不断增长。
今年,继美国之后,中国,印度和德国的开源使用增速加快。其中,中国的开发者 fork 和 clone 的项目相较去年增加了 48%。
开源使用 Top 20 地区(除美国)
香港开源贡献者增速连续 2 年蝉联榜首
随着开发者社区在亚洲和非洲的发展,开源变得更加全球化。从安圭拉到南极洲,我们也看到了前所未有的贡献。
从增速来看,伊朗开发者在公共储存库中创建的开源项目增速第二,GitHub 也希望这一地区将来能更方便地访问 GitHub。
今年,开源项目贡献者数量增长最多的是中国香港、新加坡和日本,其中香港特别行政区增速达到 101%,比第二名新加坡增速还高出 24%。
除开源之外,从公共和私人贡献来看,亚洲的开发者社区在 2019 年增长迅速。其中 31%的亚洲贡献者来自中国,另外非洲开发者数量也正显著上升。
自 2014 年以来,美国以外地区开发者数量不断上升,亚洲贡献者群体的年增长率已超过欧洲和北美。
GitHub 在 2019 年推出了免费的私有存储库,到目前为止,它已经影响全球,甚至是南极洲。自 2019 年 1 月推出以来,从图中可以看到 80%的免费私人存储库在美国以外创建。亚洲地区创造了 36%,其中大部分是由印度、中国和日本的开发者所创建。
GitHub 上贡献者增长最快的区域排名如下,中国香港连续第二年位居榜首,日本也在持续攀升。
按贡献者增长 top 10 地区(该列表仅限于 2019 年至少有 2 万名贡献者的国家和地区)
TensorFlow 汇聚 25000 贡献者,以开源项目连接更大软件社区
Github 上数以百万计的开发者通过软件组成了一个越来越相互连接的社区。单个程序包可以支持数百万个其他项目,以此我们能更好地看到社区间的相互连接。
平均而言,超过 360 万的存储库都依赖于前 50 个开源项目,诸如 rails /rails, facebook /jest 和 axios /axios 之类的项目也被数百万其他存储库使用。203 个程序包依赖项通过启用的依赖关系图支持所有公共和私有存储库。平均每个开源项目具有 180 个程序包依赖项,但是这个数字的范围可以从几个软件包到 1000 个以上。
今年有 35 万人为前 1000 个项目做出了 500 万以上的贡献(按星星数排序)。130 万开发者首次加入开源社区,并为开源项目做出了首次贡献。
每个语言生态系统(JavaScript,Python,Ruby 等)中排名前 50 位的开源程序包都有数量众多的依赖项目。例如,尽管平均每个直接贡献者少于 40 人,但流行的 npm 软件包仍可能是数百万其他存储库的依赖项。
项目依赖程度最高的十大开源软件包,有超过四百万个存储库分别依赖于 lodash /lodash,expressjs /express 和 visionmedia /debug。
TensorFlow 汇聚 25000 贡献者,以开源项目连接更大软件社区
作为 GitHub 上最受欢迎的项目之一,TensorFlow 可以向我们展示开源项目如何连接更大的软件社区。依赖 Python 软件包的存储库的社区贡献者平均数量约为 19000 万。TensorFlow 的社区也不例外。成千上万的人为其依赖项做出了贡献,例如 Numpy,Pytest 等。
去年,有 9900 名贡献者为 TensorFlow 做出了贡献,pull requests,打开 issues 等。2200 位开发者为 TensorFlow 直接做出了贡献。25000 位社区贡献者为 TensorFlow 相关项目作出了贡献。现在,在项目依赖关系网络的基础上,有 46000 个依赖存储库依赖于 TensorFlow 。
(贡献包括但不限于创建拉取请求,提出问题或进行提交)
社区内部协同,解除 760 万个安全警报
代码重用可以帮助每个人以前所未有的速度构建软件,但同时也使开发者面临从其依赖项分发安全漏洞的风险。当发现潜在的漏洞时,我们会看到维护者,开发者,研究人员和工具生态系统一起工作,以确保代码安全。
今年,社区中的开发者、维护人员和安全研究人员解除了 760 万个安全警报。自 2019 年 5 月发布以来,通过 Dependabot 提出的拉取请求将 20.9 万个自动修复程序合并到 GitHub 存储库中。
最受欢迎的项目、语言和工具:Python 首次击败 Java 位列第二
GitHub 上的项目可谓种类繁多,从重新设计机器人到检测疾病等等。不过,报告发现的一个趋势是,无论开发者是测试游戏还是训练算法,他们今年的工作效率都比以往任何时候都要高。
以下是 2019 年最受欢迎的项目,以及最受欢迎、增长最快的编程语言和工具。
今年 GitHub 上新增的开源项目达到 4400 万个,占 GitHub 上所有仓库的 30%。
贡献者最多的开源项目 TOP 10
今年,最流行的开源项目贡献者有超过 10000 名。其中两个自 2016 年就在榜单中了,它们是 microsoft/vscode 和 ansible/ansible。
2019 年新进入这个榜单的是 flutter/flutter, firstcontributions/first-contributions, 以及 home-assistant/home-assistant.
贡献者增长最快的开源项目 TOP 10
跨语言和平台构建应用程序和网站的工具包和框架在今年的增长很快。自 2018 年 12 月发布 1.0 版本以来,flutter/flutter 的增速排名第二。
值得关注的新项目
有一些项目虽然增长不是最快的,不过很值得关注。包括:
- TrillCyborg/fullstack 一个 full-stack 样本,供用户学习一些很酷的东西,或构建你的下一个应用程序(注:程序员被拖欠工资,怒将这个项目开源了……)
- jesseduffield/lazydockerdocker 和 docker-compose 的一个简单的终端 UI,用 gocui 库和 Go 编写
- practicalAI/practicalAI使用机器学习从数据中获得有价值的见解
- pomber/git-history 一种快速浏览任何 Git 存储库中文件历史的方法
最受欢迎的编程语言 TOP 10
今年,开发者们在 GitHub 上使用了 370 多种主要语言。
年度使用人数最多的编程语言仍然是 JavaScript,连续 6 年稳坐第一宝座!
而今年新爬上本榜单的是 C# 和 Shell。而且,史上第一次,Python 超过 Java,成为 GitHub 上使用人数第二多的编程语言。
增长最快的编程语言 TOP 10
随着 Flutter 进入 GitHub 趋势库,Dart 今年获得更多贡献者也就不足为奇了。
报告还发现,面向类型安全和互操作性的静态类型语言:Rust,Kotlin 和 TypeScript 的社区仍在快速发展。
Jupyter Notebooks 增长超过 100%
如何判断 GitHub 上数据科学正在快速发展?在过去三年中,使用 Jupyter Notebooks(按以 Jupyter 为主要语言的仓库的数量)的同比增长超过 100%。
NLP 增长迅猛
自然语言处理(NLP)在 GitHub 上的增长也非常迅猛,部分原因是因为 NTLK 之类的软件包降低了 NLP 入门的门槛。
最后,从今年的全球趋势、热门项目和最受欢迎的编程语言可以看出,软件发展很快。有着 30 年历史的语言正在寻找新的应用程序,而新的框架正在获得成千上万的贡献者,人们正在提交来自世界各地的一切,从 Python 包到学术论文。
随着管理、集成和支持新工作流的方式越来越多 —— 通过应用程序、GitHub Actions 等等 —— 我们已经迫不及待地想要看到构建软件的下一步将如何发展。
感谢 4000 万开发者在 2019 年一起贡献开源,不管是为了工作还是娱乐,使软件比以往任何时候都更容易访问、更安全、连接更紧密。你们创建的代码、社区、工具和技术将推动我们的世界在未来几年向前发展。
完整报告地址:
https://octoverse.github.com/