GitHub 2019 年度报告解读:开源生态和技术趋势

GitHub 最近发布了 2019 年度报告。一年以来,GitHub 用户增长十分迅猛,新增了一千万用户,现在总共有超过四千万用户。在过去一年,GitHub 用户新建了四千四百多万仓库,合并了八千七十多万 pr,关闭了二十多万 issue。

参差多态的国际社区

在四千多万用户中,大约有十分之一用户是活跃用户(在公开或私有项目上发布过代码、提交过 issue、评论过 pr 和 issue 的用户)。这些活跃用户在过去一年的增长也是十分迅速,特别是亚洲、欧洲、北美。这应该是因为大多数 IT 行业的从业者在这些地区居住。

640?wx_fmt=png

在 GitHub 的用户中,2019 年有超过二百五十多万用户为开源项目做出贡献。GitHub 上为开源项目做贡献的用户数增长也很迅速,特别是美国以外的用户,增长尤为突出。

640?wx_fmt=png

如上所述,亚洲、欧洲、北美的活跃用户最多,增速最快。在这三者之中,亚洲尤为突出。而亚洲的活跃开发者,有 31% 是中国开发者。从不同国家和地区开源项目的使用量(克隆、分叉数)上来看,中国也是一骑绝乘。

640?wx_fmt=png

被微软收购后,不差钱的 GitHub 推出了免费的私有仓库,全球各地的开发者对此十分欢迎,甚至包括身处南极洲的开发者。自 2019 年 1 月推出以来,美国以外的开发者创建了 80% 的免费私有仓库。亚洲地区的开发者创建了 36%,其中大部分是由印度、中国和日本的开发者所创建。

640?wx_fmt=png

紧密联系的开源生态


今年有 35 万人为前 1000 个项目(按 star 排序)做出了 500 万以上的贡献。130 万开发者首次为开源项目做出贡献。

开发者通过软件组成了一个越来越紧密联系的社区。在库的依赖关系中这一点体现得尤为明显,一个库可能被数百万个项目依赖。

每个语言生态系统(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。

640?wx_fmt=png

让我们暂时告别 JavaScript 社区,看下 Python 社区的明星项目 TensorFlow。TensorFlow 向我们展示了开源项目如何连接更大的软件社区。依赖 Python 软件包的项目的社区贡献者平均数量约为 1.9 万。 TensorFlow 的社区也不例外。成千上万的人为其依赖做出了贡献,包括 numpy、pytest 等。

640?wx_fmt=png

日新月异的技术趋势


GitHub 上的开源项目正在不断发展,今年创建的开源项目占 GitHub 上所有开源项目的 30%。

跨语言、跨平台构建应用程序和网站的工具包和框架在今年的增长很快。2018 年 12 月发布 1.0 版本的 flutter 2019 年在贡献者最多的项目中位列第三,在增长最快的开源项目中位列第二。react-native 也在贡献者最多的项目中位列第六。

640?wx_fmt=png

在上面这个最多贡献者项目榜单中位列第一的 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 在过去一年增长迅速。

640?wx_fmt=png

之前提到 flutter 2019 年在贡献者最多的项目中位列第三,在增长最快的开源项目中位列第二,所以 Dart 成为增长最快的语言也就不足为奇了。Rust、Kotlin、TypeScript 等注重类型安全和互操作性的静态类型语言发展势头也十分喜人。

640?wx_fmt=png

在 GitHub 的用户中,2019 年有超过二百五十多万用户为开源项目做出贡献。GitHub 上为开源项目做贡献的用户数增长也很迅速,特别是美国以外的用户,增长尤为突出。


结语


2019 年,越来越多的人成为开发者,开发者社区越来越国际化,开源软件的生态越来越繁荣,古老的语言和崭新的框架交相辉映。让我们以 GitHub 2019 年度报告的最后一句话结束本文:

你正创建代码、社区、工具、技术,它们将是未来若干年驱动我们世界前行的动力。

本文图片和数据来自 GitHub 2019 年度报告,解读仅供参考。

end


LeanCloud,领先的 BaaS 提供商,为移动开发提供强有力的后端支持。更多内容请关注「 LeanCloud 通讯」

640?wx_fmt=png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值