前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GitHub 2019 年度报告解读:开源生态和技术趋势

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

作者头像
ConardLi
修改2019-12-04 17:46:38
7070
修改2019-12-04 17:46:38
举报
文章被收录于专栏:code秘密花园code秘密花园

以下文章来源于LeanCloud通讯,作者LeanCloudWeakish

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

参差多态的国际社区

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

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

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

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

紧密联系的开源生态

今年有 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。

让我们暂时告别 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 等注重类型安全和互操作性的静态类型语言发展势头也十分喜人。

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

结语

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 code秘密花园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档