GitHub 2020 数字洞察报告
开源软件已经成为人类数字社会的基石, 是全人类共同努力的结晶, 开源协作对人类数字文明的发展起到了巨大的推动作用。 GitHub 作为全球范围内最主要的开源协作平台, 无数个开源社区在其上孕育而生, 其背后海量的开发者行为数据蕴含了大量的个体贡献规律、 群体协作模式、 社区健康状况、 生态发展趋势、 以及商业战略价值。
《GitHub2020数字洞察报告》是由X-lab开放实验室发起,联合多家科研机构与开源社区所共同完成的—个反映全球开源现状与趋势的开源项目。报告涵盖了当今全球开源的帜本情况分析、开发者分析、项目分析、领域案例、每月之星等众多内容,希望以此绘制人类的开源数字生态地图”,推动开源社会创新,繁荣开源数字文明。
2020 注定是个不平凡的数字,开源的 2020 也是如此。
即便是在新冠疫情肆虐的今天,开源依旧大发展,甚至发展的更加迅速。从各项数据指标都能发现:GitHub 的日志数 2020 年达到了 8.6 亿条,相较 2019 年增长了 42.6%;活跃代码仓库达到了 5,421 万个,相较 2019 年增长了 36.4%;活跃开发者数达到了 1,454 万人,相较 2019 年增长了 21.8%。
管理学大师彼得·德鲁克曾经说过:“你如果无法度量它,就无法管理它”(If you can not measure it, you can not manage it),进而也无法提高它,而软件行业至今也还没有找到一个可以有效度量软件开发生产效率(Productivity)的方法。
整个开源生态系统更是如此,个体如何度量、社区如何度量、管理者如何利用这些数字做更好的决策,这些都是问题。但在我们看来,这些既是挑战,也是机遇。要想有效的开展开源治理的工作,就难以绕开度量的问题,GitHub 全域数据给予了我们这样一个极佳的机会。
度量也是一把双刃剑。度量具有极强的引导性,它会激励你重视并改善能够度量的元素,但也可能使你忽视无法度量的元素并使之恶化。在全球大规模的开源社区与生态构建的过程当中,如何找到合理的度量,并合理的利用这些度量呢?希望本报告能够给大家带来一些启示,这也是本报告的重要目的之一。
今年的《GitHub 2020 数字洞察报告》主要的变化包括:
- 整个报告的迭代以开源项目的形式协作完成,涉及数据、代码以及文字内容;
- 提出更加全面的度量指标,以及更加科学的计算方法;
- 用更加专业化、丰富的手段进行数据可视化与洞察;
- 在活跃度的基础上,更加关注时间维度、多样性维度、协作网络维度上的信息;
- 首次提出开源星系(OpenGalaxy)与开源象限(OpenQuadrant)的概念,并进行了落地实现;
- 增加了单个项目开发者协作网络的深度分析案例;
- 增加了短期内受到大量关注的开源每月之星内容。
本次报告的主要开源洞察概述如下:
- 全球开源事业大发展,社区活跃行为、开发者数量、开源仓库数量均大幅提升;
- 开源软件生产流水线自动化程度大幅提升,多样化的数字协作机器人成为主流;
- 基于海量数据的活跃度模型能够有效地持续反映开发者与社区的整体状况;
- 主流开发者的工作时间具有较强规律,并和工作时间开始重合,公司化开源成为绝对主流,996 开源项目开始出现;
- 美洲开发者分布最多,欧洲拥有最高的单时区开发者比例,亚洲开发者数量依然较少,中国相较其他亚洲国家具有较高的开源活跃度;
- JavaScript 和 Python 依旧是语言排行榜上的冠亚军,HTML 和 CSS 在全域开发者语境下更受欢迎,而 TypeScript 和 Rust 语言则上升明显;
- 谷歌、微软等老牌企业依旧为活跃的开源贡献大户,国内的企业阿里活跃度排名第一,PingCAP 的表现则非常亮眼;
- 第一次通过开源星系认识 GitHub 开源项目的全貌,主流技术领域的开源生态已经形成,新的开源社群则不断涌现,极少量项目还是协作孤岛;
- CNCF、LF、Apache 等基金会在技术领域上各有侧重,通过开源象限能够进一步区分同类项目的发展阶段与成熟水平;
- 开发者时区分布图和协作网络成为开源社区多样性与健壮性的有效分析手段,能够更好地指引社区经理的开源治理工作。