当前位置: 首页 > 后端技术 > Python

GitHub 2020 数字洞察报告:JavaScript 和 Python 蝉联冠亚军,HTML、CSS 全域语境下更受欢迎

时间:2023-03-26 18:49:50 Python

GitHub2020DigitalInsights报告:JavaScript和Python继续分冠亚军,HTML和CSS在全球范围内更受欢迎数字文明的发展起到了巨大的推动作用。GitHub是世界上最重要的开源协作平台,无数的开源社区诞生于其上。其背后海量的开发者行为数据,蕴含着大量的个体贡献规则、群体协作模型、社区健康状况、生态发展趋势等。和商业战略价值。《GitHub 2020?数字洞察报告》是由X-lab开放实验室发起,多家科研机构和开源社区共同完成的反映全球开源现状和趋势的开源项目。报告涵盖当今全球开源整体形势分析、开发者分析、项目分析、领域案例、月度明星等诸多内容,希望绘制出一幅人类“开源数字生态地图”,推动开源社会创新,繁荣昌盛。开源数字文明。2020年注定是一个不平凡的数字,开源2020也是如此。即使在新冠疫情肆虐的今天,开源仍在发展,甚至发展得更加迅猛。从各项数据指标可以发现:2020年GitHub日志数量达到8.6亿条,相比2019年增长42.6%;活跃码仓数量达到5421万个,较2019年增长36.4%;积极发展参与人数达到1454万人,比2019年增长21.8%。管理大师彼得·德鲁克曾说过:“Ifyoucan'tmeasureit,youcan'tmanageit”(如果你不能衡量,你无法管理它),然后你就无法改进它,软件行业一直没有找到可以有效衡量软件开发生产力(Productivity)的方法。对于整个开源生态系统尤其如此。个人如何衡量,社区如何衡量,以及管理者如何使用这些数字做出更好的决策,这些都是问题。但在我们看来,这些既是挑战也是机遇。要想有效开展开源治理工作,很难绕开衡量的问题。GitHub全球数据给了我们这样一个极好的机会。指标也是一把双刃剑。度量标准具有很高的指导意义,可以激发您重视和改进您可以衡量的内容,但它也可能导致您忽视和加剧您无法衡量的内容。在全球大型开源社区和生态建设过程中,如何找到合理的指标并合理利用这些指标?希望这份报告能给大家带来一些启示,这也是本报告的重要目的之一。今年的《GitHub 2020 数字洞察报告》主要变化包括:整个报告的迭代以开源项目的形式协同完成,涉及数据、代码、文本内容;提出了更全面的指标和更科学的计算方法;数据可视化和数据洞察;在活跃度的基础上,更加关注时间维度、多样性维度、协作网络维度的信息;首次提出开源星系(OpenGalaxy)和开源象限(OpenQuadrant)的概念,并进行落地实施;增加了单个项目开发者协作网络的深度分析案例;新增了短期内备受关注的开源月刊明星内容。本报告的主要开源洞察总结如下:全球开源事业快速发展,社区活跃行为、开发者数量、开源仓库数量均有大幅增长;开源软件生产线自动化程度大幅提升,多样化的数字化协作机器人成为主流;海量数据的活动模型,能够有效、持续地反映开发者和社区的整体情况;主流开发者的工作时间有很强的格局,开始与工作时间重叠,企业开源成为绝对主流,996开源项目开始出现;美洲开发者最多,欧洲单一时区开发者比例最高,亚洲开发者数量仍然较少。与亚洲其他国家相比,中国的开源活跃度更高;JavaScript和Python仍然是语言排行榜的前二名,HTML和CSS在全球开发者的语境中更受欢迎,而TypeScript和Rust语言上升明显;老牌公司如谷歌和微软仍然是开源的积极贡献者,国内公司阿里在活跃度上排名第一,而PingCAP的表现非常可观;首次通过开源星系了解GitHub开源项目全貌,主流技术领域的开源生态已经形成,新的开源社区不断涌现,极少数项目仍然是协作的孤岛;CNCF、LF、Apache等基金会在技术领域各有侧重,通过开源象限可以进一步区分同类项目的发展阶段和成熟度;开发者时区分布图和协作网络已成为开源社区多样性和健壮性的有效分析方法,可以更好地指导社区管理者进行开源治理工作。以下是正文《GitHub 2020 数字洞察报告》。一、总体情况从整体数据来看,2020年全年GitHub全球事件日志总量约8.6亿条,较2019年的6.1亿条增长约42.6%,是增长最快的一年在过去的五年里。基于项目和开发者行为数据,这份报告显示,2020年GitHub活跃项目约5421万个,活跃开发者账户约1454万个,分别比2019年增长36.4%和21.8%。GitHub2015-2020事件日志数、活跃仓库数、活跃账户数总体情况2.开发者分析开源世界的核心是为开源做贡献的开发者,就像社区一样ApacheWay倡导的OverCode,由开发者组成的社区是开源的活力源泉。本报告将从全球开发者活动、GitHubApps使用情况、开源开发者典型工作时间、全球开发者时区分布、开发者语言分布等多个角度对2020年GitHub全球开发者进行全面分析。全球开发者活跃度通过统计全球开发者活跃度和活跃仓库数,我们得到GitHub全球开发者活跃度和单个开发者活跃仓库数的分布情况如下:开发者活跃度和活跃仓库数根据分布图统计,活跃用户数在2000以上的开发者为5445人,占域内开发者总数的不到6/10000。大部分开发者的活跃度在区间[0,500],占开发者总数的99.45%,说明大部分开发者仍处于低活跃状态。观察曲线的尾部,我们发现开发者的活跃库数在尾部出现了反弹。事实上,一些未经过滤的自动化协作账号的活跃仓库数量是巨大的,远远超过正常人类开发者,所以尾部形成了一个V型曲线。此外,我们通过活跃度统计了全域活跃度排名前10的开发者,其中8个账号为GitHubApps,另外两个账号为自动化协作开发者账号。GitHub2020年全球开发者账号活跃度统计Top10自动化协作机器人运行在服务器端,可以同时为多个项目服务,因此拥有极高的活跃度和协同仓库数量。本文涉及的活动等详细计算方法请参考完整报告。GitHubApps的使用是世界上最活跃的开发者账户之一,其中大部分是GitHubApps。因此,本报告对GitHubApps数据进行了相关统计。对数比(logratio)的变化如图所示。从图中可以看出GitHubApps活跃账号数和日志占比。GitHubApps自2016年上线以来,近年来发展迅速。从原木占比来看,2019年与2018年相比增长了288%,2020年与2019年相比增长了141%,达到12%以上。未来,基于GitHubApps的自动化协作机器人将更广泛地应用于项目的自动化协作,更好地帮助开源项目管理大规模协作。全局日志时间分布由于GitHub事件日志有详细的时间戳信息,可以通过时间维度的统计分析得到洞察。例如,在UTC标准时间,全球工作时间分布如图所示。2020年GitHub全球日志时间分布如果我们认为主流开发者的正常工作时间是每天9:00-21:00,从全球来看,我们可以看到GitHub平台上的开发者主要来自欧洲和欧洲美国领先。并且周末的活跃度明显低于工作日,这也与GitHubOctoverse2020报告中更多的开发者使用GitHub来工作,而不是仅仅基于兴趣进行开发相吻合。全球开发者时区分布开发者地域分布一直是开源项目全球化指标的重要方面。通过统计GitHub全球开发者活跃度前50000名的开发者,我们得到全球开发者在各个时区的预估分布,如图所示。根据2020年GitHub全球时区开发者数量分布,在高活跃度开发者中,美洲(美国、加拿大、南美)的开发者分布最广。虽然单个时区的开发者占比不是最高的,但整体开发者占比高达33%左右。欧洲在单一时区的开发人员比例最高。亚洲的开发者数量仍然很少,但与其他国家相比,中国和俄罗斯的开发者在开源方面仍然更加活跃。另一方面,由于人口分布,太平洋地区的开发商比例最低。3.项目分析全球项目的整体数据是基于开发者活跃度的定义,我们也给出了开源项目活跃度的计算方法。在给定的活跃度计算方法下,过滤GitHubApps相关账号的协作行为,2020年有效活跃项目总数约为1167万个。这些项目的活跃度分布和参与项目的开发者人数分布如下图所示。根据GitHub2020项目活跃度分布和参与开发者人数统计,2020年项目活跃度值最高为971.1,但活跃度高的项目数量非常少,99.95%以上的项目havelowactivity值为10,即大多数项目处于低活动状态。此外,项目参与开发者数量高达85546人,即2020年最多有85546名开发者参与同一个项目。但71.21%的项目开发者人数不足10人,这意味着在2020年,GitHub上的大多数项目参与者将少于10人。Top20ProjectActivity根据项目活跃度的定义,我们对2020年的活跃项目进行了活跃度统计和排名,这里列出了全球Top20项目。GitHubTop202020年全球项目活跃度同时,我们也通过各种渠道收集了中国开源项目榜单,也给出了中国项目活跃度排名,如下表所示。GitHub2020年中国项目活动Top20从这份榜单中,我们发现PingCAP在开源领域的表现非常亮眼。Top20项目中有6个项目上榜。阿里在开源领域的成就也很不错。前10名项目中有2个项目。百度在人工智能领域的表现非常出色,其深度学习平台PaddlePaddle占据了2个项目。中国项目Top20榜单包括阿里的Ant-Design组件库、京东基于React前端框架的开发框架taro、饿了么前端团队开源的VueUI组件库Element(被收购)阿里)等,说明在国内,前端群体在社区中更加活跃;另外,前端代码一般不会太保密,所以公司也比较开明。但是,有一点需要注意。大部分前端项目组件库上榜,缺少核心项目。重大开源项目的背后,基本都有科技公司的支持。我们统计了2020年科技公司维护的开源项目的活跃度,结果如下表所示。GitHub2020中国企业开源项目活动概览在国内企业的开源数据中,我们可以看到阿里巴巴的数据在很多指标上都表现非常出色,有些甚至是其他公司的总和,在社区中它在转型/开放方面也做得很好。OpenGalaxy通过活动数据统计得到的结果会受到自动化协作行为的影响,不同生命周期阶段的项目活动可能不具有可比性。因此,在本报告中,我们介绍了一个全球项目协作网络,开源星系——OpenGalaxy。GitHub2020全球项目协作网络——OpenGalaxy2020GitHub2020年最活跃的协作网络图,由221,000个开源项目组成。图中节点的大小表示项目的影响力,节点的颜色表示节点所属的协同聚类结果。在协作网的影响力评估下,GitHub2020全球影响力最高的Top20项目如下表所示。OpenGalaxy2020全球项目影响力Top20可见VSCode的影响力从活跃度的第五跃升至第一,比排名第二的flutter高出约64.7%,成为全球影响力第一具有巨大的优势。项目。事实上,这是因为VSCode在成为全球最流行的IDE的同时,也与其他领域的顶级项目产生了大量的协作关联。OpenGalaxy的特点是优秀的项目会与优秀的开发者相关联,这样影响力指数就不会因为自动化行为而膨胀,算法稳定性好。影响力指数变化的背后必然意味着开发者群体的发展。活跃行为的迁移更能反映项目影响力在整个GitHub领域的状态。更多详细信息可以在完整的报告文本中找到。4.案例分析本报告提出了一种OpenQuadrant方法,从影响力、全球化和社区规模这三个核心特征来分析开源项目的绩效。基于对开源象限的分析,用散点图来表示。横向和纵向维度分别是项目影响力指标和项目全球化指标。为了便于可视化,我们将以上两个指标以对数的形式呈现,同时使用图上圆点的大小来描述参与项目的活跃人数,用来反映社区规模的一个项目。基于以上,开源象限将整个平面划分为四个区域,即:前瞻性:该区域的项目影响力强,全球化程度高;Leading:该领域项目影响力强,但项目国际化程度低;代理:落在该领域的项目影响力弱,但项目全球化程度高;孵化:落在该区域的项目影响力较弱,同时项目的全球化程度也较低。基金会项目分析CNCF的英文全称是CloudNativeComputingFoundation,即“CloudNativeComputingFoundation”。下图是CNCF下云原生领域开发者的时区分布。可以看出,该领域开发者的时区分布与全球项目开发者的时区分布比较接近,说明CNCF云原生领域的项目全球化程度较高。CNCF下云原生领域开发者时区分布CNCF下云原生领域开源象限分析及可视化结果如下图所示。无论是影响力、全球化程度,还是社区开发者数量,Kubernetes项目当之无愧。LFAI&Data是CNCF旗下云原生领域的开源象限,是Linux基金会旗下的综合性基金会,支持人工智能、机器学习、深度学习、数据等领域的开源创新。LFAI&Data下数据和人工智能领域的开源象限分析可视化结果如下图所示。可以看到,这个领域有很多项目在全球化上做得比较好,非常符合人工智能在全球流行的趋势。LFAI&DataApacheSoftwareFoundation(ASF)旗下的数据与人工智能开源象限成立于1999年,是根据501(c)条款在美国成立的非营利性公益慈善组织。该基金会的使命是为公众利益提供软件。Apache下大数据领域开源象限分析可视化结果如下图所示。可以看出,该领域的项目总体分布较为分散,Spark、Flink、Hadoop等明星项目占据前列。Apache下大数据开源象限Apache软件基金会中国项目开源象限分析可视化结果如下图所示。可以看出,该领域的四个项目Echarts、Skywalking、Dubbo和Shardingsphere都处于第一方阵,体现了强大的实力。更具体的Apache软件基金会中国项目开源象限详见报告全文。VSCode案例分析作为开源生态中的一颗北极星,VSCode项目在2020年依然保持旺盛的生命力。今年VSCode共生成了206645条记录,比2019年的121490条记录翻了近一倍;今年,VSCode的年平均活跃度得分为385,在全球项目中排名第7;今年,已有46,639名开发者(包括协作机器人账号)活跃在该项目中。航母发出了强有力的合作信号。同时,我们通过项目中开发者之间的协作关系,为VSCode2020搭建了一个开发者协作网络,如图。VSCode项目开发者协作网络在这个由20000多名开发者组成的协作网络中,节点是开发者账号,边是协作关系,节点的大小就是对应开发者账号的活跃度。在这个协作网络中,位于网络核心的较大节点是VSCode的核心团队成员。他们不仅活跃度高,而且与其他开发者的协作度也很高。这群人的人数在一百人左右。紧靠在外面的是VSCode的重度用户或贡献者,他们可以随时提交Issue或PR以供讨论或贡献。这个团体的人数以千计。最外围和数量最多的开发者是VSCode的普通用户和偶尔的贡献者,他们中的大多数只是提出问题或讨论他们关心的问题。5.每月之星除了Top项目,GitHub上还有一些项目在短期内受到了开发者的大量关注。这些项目可能是现象级的项目,也可能成为未来的顶级项目。这些项目可能与社会热点有关,例如与新冠疫情相关的项目、与学生毕业后找工作相关的项目等。发现这些项目并解释为什么这些项目在短期内受到很多关注是很有趣的。因此,“月度之星”的这一部分列出了2020年每个月都受到开发者大量关注的项目。以下是我们选择的项目。详情请见报告全文:1月:microsoft/playwright2月:wuhan2020/wuhan20203月:CSSEGISandData/COVID-194月:labuladong/fucking-algorithm5月:design-resources-for-developers6月:CnC_Remastered_Collection7月:JaidedAI/EasyOCR8月:geekxh/hello-algorithm9月:cli/cli10月:developer-roadmap11月:ytdl-org/youtube-dl12月:beurtschipper/Depix驱动的可视化工具主要是给大家提供一个新的视角来观察今天的开盘sourceworld,再结合各自的行业经验,获得真知灼见。从这个年报开始,我们也把这项工作作为一个开源项目来运营,逐步缩短发布周期,甚至可以按需提供个性化的点播服务。如果您发现任何数据错误或遗漏,欢迎您向项目的GitHub仓库提交Issue或PR。本报告正文采用CC-BY-4.0许可协议。详情请参阅完整报告。7.致谢《GitHub 2020 数字洞察报告》由X-lab开放实验室发起,“元光闪耀”开源科技媒体策划,联合华东师范大学数据科学与工程学院、开元学会、上海开源信息技术协会、开源社会工程学会(筹)等科研机构、开源社区研究所共同完成。春节期间从零开始,通过在线远程协作,在十天内完成了报告的全部内容,来自美国和欧洲的顾问和专家提出了意见和建议。本次数字洞察报告的主要撰稿人包括:赵胜宇、王薇、周天一、翁振杰、王皓月、夏小亚、朱香凝、杨明、宁泽鑫、林海明、王富正、史敬奔、娄泽华、顾Yeming、LiSiying等特别感谢作为项目顾问的吴雪(雪歌)和Kate(杨佳)为数字洞察报告提供的指导和建议。我们欢迎更多的开源爱好者加入我们,共同推动全球开源事业的发展。完整报告内容请点击“传送门”获取,或通过以下链接获取:http://oss.x-lab.info/github-...