速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

2020 中国开源年度报告:中国开源力量崛起,开源世界分裂趋势初现

  • 2021-01-20
  • 本文字数:4575 字

    阅读完需:约 15 分钟

2020中国开源年度报告:中国开源力量崛起,开源世界分裂趋势初现

2021 年 1 月 20 日,开源社正式发布《2020 中国开源年度报告》。在往年问卷调查的基础上,今年的报告增加了 GitHub 和 Gitee 两大开源平台的数据分析篇,结合数据分析手段和调查报告等多种形式,绘制了一份 2020 年中国开源世界的地图。


作为开源社的长期合作伙伴和中国开源运动的推动者之一,InfoQ 将该报告部分重点内容摘录如下,以飨读者。点击此链接可查看完整报告。

前言

回看 2020 年,可以称之为:世界剧变之始。很多朋友在去年,甚至“每一天都在亲历历史,每一天都是活久见!”新冠疫情与中美贸易战,在同一年加剧。而因为疫情和贸易战,世界正在加速发生变化。


在这样的历史大背景下,我们在开源界也发现了以下三个趋势:

1. 开源大发展以及由实向虚进发的趋势

从各种数据,以及我们自己的感觉都能发现:全球开源都出现一个大发展的趋势。GitHub 的活跃代码仓库与活跃用户数在高速增长(35.3% / 21.2%);Gitee 的代码仓库与用户数在以更加惊人的速度增长(192% / 162%)。


一方面,是开源这么多年一直持续的上升势头。而另一方面,则是我们的一个猜测:疫情以来,越来越多的人开始远程办公,事实上促进了更多的人有机会“斜杠化”,也就是在一台电脑面前方便地切换多种身份,以异步的方式处理多种事务,从而增加了开发者参与开源的时间和机会。


当然,同样由于远程办公,虚拟世界在人类生活中的占比,变得更大了。这样是否更好,还会引发哪些问题?作为站在隧道口的人类,其实是猜不透的。

2. 中国开源崛起以及开源世界分裂的趋势

随着越来越多中国开源项目的影响力不断增加、木兰协议的推出、开放原子基金会的成立,Gitee 的超高速增长,CODE China 的新发布,我们已经可以确信,2020 年是中国开源的崛起之年。接下来阅读报告的朋友们,应该会看到很多确切的证据。


但是,另一个值得注意的现象,也可以从下面的数据里看出来。在 GitHub 上最活跃的中国开源项目,与 Gitee 上最活跃的开源项目之间,完全没有重叠。


随着 Gitee 的继续高速发展,可以大胆预测,今后会有越来越多高质量的中国开源项目,选择在 Gitee 上开源。曾经有一位朋友提到的 “One World, Two Systems”,将会逐渐变成现实。


如果中国的开源,以一种与世界隔离的方式 “崛起”,这并不是我们希望看到的未来。

3. 开源向善以及我们尚未做好准备

疫情爆发以来,众多的开源人奉献自己的时间、精力、技术和智慧,投入到一个一个的抗疫相关的开源项目之中,也因此诞生了诸多面向医学、防疫、公益、救援的开源组织和开源项目。其中 wuhan2020 就是典型的代表。


因此,在 2020 年的中国开源年会筹办期间,我们毫不犹豫的选择了 “开源向善(Open Source for Good)”作为年会的主题,也获得了众多讲师、参会者与赞助厂商的一致认同。


但是,接下来应该怎么发展呢?为了抗击疫情而凝聚起来的人,创造的项目,积累的经验,总结的教训,应该如何“整理、封装、模块化”,并为了今后的各种意外,做好准备呢?这些都是值得长期思考并改进的领域。


作为一份力图完整、客观、全面、丰富的报告,值得探讨的问题当然不止上述这些,也欢迎朋友们阅读下面的报告,并随时与我们交流。

问卷篇

2016 年初,开源社发布了《2015 年中国开源社区参会调查报告》,随后的几年中,持续发布了开发者调查报告,旨在从多种维度呈现国内的开源发展情况。今年我们再次启程,结合数据分析手段和调查报告等多种形式,绘制一份 2020 年中国开源世界的地图。


这份问卷是每年中国开源年报的重要一环,不基于调研的分析报告不过是纸上谈兵。在往年的基础上,我们参考了其他现存的主流开发者问卷内容,并加入了一些新的视角。基于 2020 年 COVID-19 这个不容忽视的大背景,这份调查问卷进一步将视角发散到开源世界的线上协作,以及开源能够为世界带来什么等主题。


通过近 60 项左右问题的统计调查与分析,我们希望能够还原出当前中国开源社区的真实现状,从而为开源的后来人提供权威的参考。

  • 调查对象:覆盖开发者、社区成员、贡献者、学生、政府企业管理人员

  • 调查内容:主要涵盖个人信息、工作状况、开源社区以及开发者技术

  • 调查方法:以在线问卷方式搜集样本和数据,交叉对比法分析数据

  • 推广方法:线上社交媒体、博客、开源社、开源中国网站

  • 问题数量:59

  • 问题类型:单选、多选、开放性

  • 样本量:236


由于疫情,今年的问卷全部通过线上的方式传播,因此收集到的样本量相比往年较少,但仍旧能够管中窥豹,观察到中国开源世界的悄然变化。通过分析 2020 年的统计数据,并对比往年数据和其它一些公开发布的统计报告,我们有如下一些重要发现:

  • 开源参与者的主力依旧是 20-39 岁人群,相比去年比例仍在上升,而在开源社区的年龄分布中,20-30 岁人群占据了 64%,说明开发者的年龄仍在趋于年轻化;

  • 相较于 2019 年,今年参与调研的开发者中,还未工作的人群占了绝大部分,从参与者从事领域和职位分布也可以看出,这些“还未工作”人群多数指向学生群体,这和当前社会普遍追求更高学历深造有关,和本次问卷传播形式有关,但是同时也能说明开源在教育领域取得了不错的进展;

  • 开发者所从事的技术方向仍以前后端为主,其中后端开发占比约 31%,其次是 Web 前端、AI 以及大数据分析方向,占比分别为 10%、9%、9%,非技术人员以及其他行业的从业者占比均为 7%,说明开源已经越来越受到社会各界的关注;

  • 参与开源的形式由 2019 年以代码和测试为主转变为以代码和文档为主,社区和项目正在意识到文档的重要性,更多开源贡献者投入到了文档撰写中;

  • 开源活动的参与频率相较往年有所上升,这与国内愈发繁荣的开源氛围和逐渐丰富的开源活动也有关系。81% 的开发者认为开源活动对促进和推动开源社区至关重要。而对于更倾向于线上还是线下的会议,结果竟惊人地持平;

  • 在 2020 年 COVID-19 这个大背景下,各行各业都不可避免受到了冲击和影响;82% 的人认为疫情对于参加开源社区的活动产生了影响,但也具有推动作用,11% 的人认为毫无影响,7% 的人认为疫情的负面影响大于正面影响;

  • 在在线文档协作工具的使用上,石墨文档以黑马的形式由第三名一跃成为第一名,压倒了 wiki 和 Google Doc,国内正在涌现出一批优秀的协作工具,并越来越为大家认可;

  • 2020 年 9 月 9 日,中国首个开源软件基金会「开放原子开源基金会(OpenAtom Foundation)」官方正式对外发声,大家对此抱有多重期望:推广开源的理念,开源文化教育和社区建设,建立开源生态体系,对开源项目进行早期的孵化和扶持,帮助中国开源社区进行资源的整合和优化,并接轨国际开源社区。

GitHub 数据篇

本部分内容采用 GitHub 全域事件日志进行统计分析(2020 年共计 8.74 亿条),相较 2019 年的 5.46 亿条增长约 60%。并对分析出的部分项目进行人工标注,挑选出中国的个人开发者和企业组织,同时构建了科学合理的数学模型进行分析。


在开发者活跃度与项目活跃度的定义下,本次统计得到 2020 年总活跃项目数量约 5,373 万个,相较 2019 年的约 3,972 万增长约 35.3%;2020 年 GitHub 总开发者数为 5,600 多万,总活跃开发者数量约 1,446 万,相较 2019 年的约 1,19 万增加了约 21.2%

世界开源 Top10 项目


活跃度最高的项目是来自谷歌的前端跨平台开发框架 flutter/flutter,此外,源于谷歌的深度学习框架 tensorflow/tensorflow,容器编排系统 kubernetes/kubernetes 也分别位于第 5 名和第 6 名,这说明了谷歌在开源上的努力和影响力获得了业内的认可。


微软的跨平台代码编辑器 microsoft/vscode 和微软使用开源的方式来建设其 Azure 云平台的项目 MicrosoftDocs/azure-docs 分别位于第二名和第三名,表明微软在开源上的努力获得了程序员的认可。


microsoft/vscode 和 DefinitelyTyped/DefinitelyTyped 均使用 TypeScript 作为主要的编程语言,这可能与 TypeScript 的受欢迎程度急剧攀升有关。

中国开源 Top50 项目


Top50 列表中,从项目活跃度来看,第 1 名与第 50 名的项目活跃度相差超过 10 倍,说明中国开源项目之间的差距较大。


从这个列表中,我们发现,阿里在开源领域中的成绩显著。Top10 项目中上榜的项目有 4 个,除了蚂蚁金服采用 React 封装的一套组件库 ant-design/ant-design,基于 Ant Design 框架搭建的中后台管理控制台的脚手架 ant-design/ant-design-pro 和致力于配置和管理微服务的特性集 alibaba/nacos 外,饿了么(已被阿里收购)的开源项目 ElmFE/element 作为前端组件,表现也十分突出。


PingCAP 在开源领域的表现也是非常地亮眼。Top50 项目中上榜的项目有 6 个,包括由其自主设计、研发的开源分布式关系型数据库 pingcap/tidb,分布式事务型的键值数据库 tikv/tikv,文档项目 pingcap/docs-cn、pingcap/docs 等,表明 PingCAP 很重视项目文档的建设。值得关注的项目是 pingcap/tidb,该项目的 issue_comment,open_issue,pull_review_comment,merge_pull 等属性是 50 个项目中最高的,达到惊人的 52,871 和 10,981,相对比之下,issue_comment 属性下排名第二的 ant-design/ant-design 只有它的 61.5% 左右。而其 480 的开发者参与数量,与其他前端项目相较甚远,但却有着如此高的活跃度,也可以看出其社区的活跃程度。


百度在人工智能领域的表现非常不错,其深度学习平台 PaddlePaddle 占据了 6 个项目,分别是核心框架 Paddle 以及相关工具库、扩展版本和模型库 Models;此外开放自动驾驶平台 ApolloAuto/apollo 也榜上有名。


中国的 Top50 项目列表中,包括阿里的 Ant-Design 组件库,京东基于 React 前端框架的开发框架 taro,由饿了么(已被阿里收购)前端团队开源的 Vue UI 组件库 Element 等等,这说明在国内,前端群体在开源社区更为活跃;另外前端代码一般也不太涉密,因此公司在心态上更开放一些。不过这其中也有一点需要引起注意,上榜的前端项目组件库居多,但是缺少核心项目。


属于人工智能领域的项目 PaddlePaddle/Paddle、apache/incubator-tvm、Tencent/ncnn、alibaba/MNN 均在中国 Top50 项目列表中占据一席之地,这说明了国内各大公司都在大力发展人工智能领域。

Gitee 数据篇

2020 年总体项目趋势包括:

  • 2020 年 Gitee 上托管的代码仓库超过了 1500 万

  • Gitee 上的开源项目数量相比 2019 年提升 192%,是 2013-2018 年 Gitee 上开源项目的总和。

  • 2020 年 Gitee Star 数破千项目的增长率提升 132%,是 2019 年 Star 数破千项目总量的 1.53 倍。


2020 年总体用户趋势包括:

  • 2020 年 Gitee 用户总量超过 600 万

  • 2020 年在 Gitee 参与开源的用户数增长了 162%,其中 38% 是首次参与开源的用户。

总体语言趋势


虽然占比较去年(50%)有不小的下跌, 但 Java 依旧是使用最多的语言(38%),前五名的语言较去年变化较小,PHP 超越 Python 成为了第三位。


值得一提的是移动端主力语言的占比在 2020 年有较大提升,随着疫情的到来,移动开发似乎又重新被开发者们所关注,跨平台框架在 2020 年的流行也为移动开发注入了新的活力。

新兴影响力项目


新兴影响力项目即 2020 年在 Gitee 获得 Star 数最多的项目。表格中的项目除了 asyncTool 是 2019 年底新建的项目外,其余五个项目均为 2020 年 3-4 月新建。从零开始的开源项目能够在三个季度里获得较高的关注,一方面体现了开源作者们技术水平的精进,越来越多的好项目进入了大家的视野,另一方面也体现出国内关注开源的开发者越来越多,并愿意对优秀的新项目给予肯定。


查看完整报告:https://kaiyuanshe.cn/document/china-os-report-2020/

2021-01-20 16:125774

评论

发布
暂无评论
发现更多内容

企业级大数据技术框架

穿过生命散发芬芳

大数据技术 10月月更

2022-10-16:以下go语言代码输出什么?A:timed out;B:panic;C:没有任何输出。 package main import ( “context“ “fmt“

福大大架构师每日一题

golang 福大大 选择题

【ArchSummit】平安金融壹账通核心系统的微服务设计经验分享

小明Java问道之路

Java 架构 全球架构师峰会 ArchSummit 10月月更

八大排序(下)

lovevivi

c 数据结构 10月月更

CorelDRAW 2019,软件应用项目(二)

张立梵

设计师 CorelDRAW 2022 10月月更

TCP 复位攻击原理和实战复现

急需上岸的小谢

10月月更

【算法】剑指offer-调整数组顺序&&数组出现超过一半的数字

芒果酱

c++ 算法 10月月更

MAC地址与IP地址

急需上岸的小谢

10月月更

Java多线程 Future和FutureTask的区别

Yeats_Liao

后端 Java core 10月月更

SpringBoot的实体类中常用的注解

Java学术趴

10月月更

八大排序 (上)

lovevivi

c 数据结构 10月月更

【ArchSummit】阿里云原生微服务架构治理最佳实践

小明Java问道之路

Java 架构 全球架构师峰会 ArchSummit 10月月更

Java多线程 线程池Executor框架

Yeats_Liao

后端 Java core 10月月更

Smart Finance:熊市下,GameFi P2E热潮仍能得到延续

鳄鱼视界

02微信高能性复杂度分析

神奇的叶叔叔

架构实战营模块2-微信朋友圈高性能架构

冷夫冲

架构 架构训练营 架构实战营

Java多线程 Callable和Future

Yeats_Liao

后端 Java core 10月月更

SpringBoot实体类常用注解(二)

Java学术趴

10月月更

Web3.0杂谈-#006(53/100)

hackstoic

DAO Web3.0

微信朋友圈的高性能复杂度分析

小虎

架构训练营

模块二作业

Diana S

#架构实战营

kubernetes

急需上岸的小谢

10月月更

分支规范和git提交规范

默默的成长

git 前端 10月月更

前端JS规范

默默的成长

Vue 前端 10月月更

低代码探索:freemarker的模板和表达式

程序员架构进阶

低代码平台 模板引擎 10月月更 freemarker

cstdio的源码学习分析10-格式化输入输出函数fprintf---宏定义/辅助函数分析04

桑榆

源码刨析 10月月更 C++

当前Serverless的六大局限性

阿泽🧸

Serverless 10月月更

微信朋友圈架构高性能复杂度分析

π

#架构实战营 架构实战训练营9期

极客时间—架构实战营—第九期—模块二作业

阿梁

Vue 2x 中使用 render 和 jsx 的最佳实践 (2)

默默的成长

Vue 前端 10月月更

架构--作业2

李某人

架构实战营

2020中国开源年度报告:中国开源力量崛起,开源世界分裂趋势初现_开源_InfoQ编辑部_InfoQ精选文章