GitHub 最近发布了 2019 年度报告。一年以来,GitHub 用户增加十分迅猛,新增了一千万用户,如今总共有超过四千万用户。在过去一年,GitHub 用户新建了四千四百多万仓库,合并了八千七十多万 pr,关闭了二十多万 issue。react
在四千多万用户中,大约有十分之一用户是活跃用户(在公开或私有项目上发布过代码、提交过 issue、评论过 pr 和 issue 的用户)。这些活跃用户在过去一年的增加也是十分迅速,特别是亚洲、欧洲、北美。这应该是由于大多数 IT 行业的从业者在这些地区居住。git
在 GitHub 的用户中,2019 年有超过二百五十多万用户为开源项目作出贡献。GitHub 上为开源项目作贡献的用户数增加也很迅速,特别是美国之外的用户,增加尤其突出。github
如上所述,亚洲、欧洲、北美的活跃用户最多,增速最快。在这三者之中,亚洲尤其突出。而亚洲的活跃开发者,有 31% 是中国开发者。从不一样国家和地区开源项目的使用量(克隆、分叉数)上来看,中国也是一骑绝乘。express
被微软收购后,不差钱的 GitHub 推出了免费的私有仓库,全球各地的开发者对此十分欢迎,甚至包括身处南极洲的开发者。自 2019 年 1 月推出以来,美国之外的开发者建立了 80% 的免费私有仓库。亚洲地区的开发者建立了 36%,其中大部分是由印度、中国和日本的开发者所建立。npm
今年有 35 万人为前 1000 个项目(按 star 排序)作出了 500 万以上的贡献。130 万开发者首次为开源项目作出贡献。编程
开发者经过软件组成了一个愈来愈紧密联系的社区。在库的依赖关系中这一点体现得尤其明显,一个库可能被数百万个项目依赖。react-native
每一个语言生态系统(JavaScript,Python,Ruby 等)中排名前 50 位的开源包都被数量众多的项目依赖。因为 JavaScript 社区更青睐粒度较小的包,流行的 npm 包的平均直接贡献者可能少于 40 人,但仍可能被数百万项目依赖。安全
每种包管理器排名前 50 的包 | 平均被依赖数 | 平均直接贡献者 | |
---|---|---|---|
Maven | 167k | 99 | |
pip | 78k | 204 | |
npm | 3.5m | 35 | |
NuGet | 94k | 109 | |
RubyGems | 737k | 146 |
被最多项目依赖的十大开源软件包中,位列前三的 [lodash]、[express]、[debug] 都各自被超过四百万个项目依赖。在以前的表格中咱们已经见识过 top 50 npm 包鹤立鸡群的平均被依赖数。因此,绝不意外,这十大开源软件包都源自 npm。框架
让咱们暂时告别 JavaScript 社区,看下 Python 社区的明星项目 TensorFlow。TensorFlow 向咱们展现了开源项目如何链接更大的软件社区。依赖 Python 软件包的项目的社区贡献者平均数量约为 1.9 万。TensorFlow 的社区也不例外。成千上万的人为其依赖作出了贡献,包括 numpy、pytest 等。机器学习
GitHub 上的开源项目正在不断发展,今年建立的开源项目占 GitHub 上全部开源项目的 30%。
跨语言、跨平台构建应用程序和网站的工具包和框架在今年的增加很快。2018 年 12 月发布 1.0 版本的 [flutter] 2019 年在贡献者最多的项目中位列第三,在增加最快的开源项目中位列第二。[react-native] 也在贡献者最多的项目中位列第六。
在上面这个最多贡献者项目榜单中位列第一的 [vscode] 从 2016 年起就是这个榜单的常客。这个微软开源的代码编辑器,既轻量又强大,赢得了使用各类语言的众多开发者的欢心。2019 年新登上最多共享者项目排行榜前十的项目,除了以前提到过的 flutter,还有 [first-contributions] 和 [home-assistant] 两个项目。first-contributions 是供 Git 初学者练手的项目,而 home-assistant 则是基于 Python 开发的开源智能家居方案。
最受欢迎语言 top 10 排行榜中,年度使用人数最多的编程语言仍然是 JavaScript,连续 6 年稳坐第一!另外,借着数据科学和人工智能的东风,Python 首次战胜 Java,成为 GitHub 上使用人数第二多的编程语言。实际上,不单单是 Python,「深度学习」、「天然语言处理」、「机器学习」等主题的项目正变得愈来愈流行。从 2016 年到 2019 年,Jupyter Notebook 的使用量同比增加超过 100%。 NTLK 之类下降 NLP 入门门槛的工具包的使用量增加趋势也与此相似。此外,C# 和 Shell 在过去一年增加迅速。
以前提到 flutter 2019 年在贡献者最多的项目中位列第三,在增加最快的开源项目中位列第二,因此 Dart 成为增加最快的语言也就不足为奇了。Rust、Kotlin、TypeScript 等注重类型安全和互操做性的静态类型语言发展势头也十分喜人。
2019 年,愈来愈多的人成为开发者,开发者社区愈来愈国际化,开源软件的生态愈来愈繁荣,古老的语言和崭新的框架交相辉映。让咱们以 GitHub 2019 年度报告的最后一句话结束本文:
你正建立代码、社区、工具、技术,它们将是将来若干年驱动咱们世界前行的动力。
本文图片和数据来自 GitHub 2019 年度报告,解读仅供参考。