跳到主要内容

OSPP 2023 深度洞察报告

· 阅读需 15 分钟
赵生宇
X-lab 开源博士 / OpenDigger 作者
王伟
华东师范大学 教授 / X-lab 创始人

背景介绍

开源之夏 OSPP 是中国科学院软件研究所发起的“开源软件供应链点亮计划”系列暑期活动,旨在鼓励高校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展,至今已成功举办五届(2020 ~ 2024),X-lab 开放实验室从第一届就开始深度参与。

OpenDigger 作为一直以来深入参与 OSPP 的开源数据研究项目,也在此就 OSPP 2023 年的数据做一次深度的分析,也算是对 OSPP 社区的一次回馈。

OSPP 2023 宏观数据

根据 OSPP 社区的数据报告,2023 年度,OSPP 总共发布了项目 593 个,有学生中选项目共计 504 个,最终结项项目为 421 个,结项率高达 71%

OSPP 2023 年度高校贡献度排行榜
项目总数中选项目数结项项目数结项率(%)高校数量
593increase/decrease91
504increase/decrease56
421increase/decrease73
71increase/decrease2
144increase/decrease13

最终结项项目大部分除了个别与操作系统内核相关的社区使用了自己的 git 仓库外,大部分社区均托管于 GitHub(298 个)、Gitee(112 个)等代码托管平台上,平台的总体分布如下:

从结项项目的学生所属高校来看,结项的 421 个项目由分别来自 144 所高校的学生最终完成,其中北京邮电大学、浙江大学、华中科技大学以 20 个以上的学生数量领跑各高校,具体的分布如下所示:

年度贡献度分析

除了上述一些统计数据外,我们也希望可以给出一些更加深入的洞察,例如每个高校中不同学生在社区中具体的贡献度等,这种精细化的分析也有助于我们进一步观察学生在整个过程中对于项目的协同参与程度,而不仅仅局限于学生是否仅是完成了一个特定的任务。

注意:受限于 OpenDigger 目前的底层基础数据,下述分析将仅包含 GitHub、Gitee 平台上的数据。

我们使用了 2023 全年的贡献度数据和社区 OpenRank 算法对参与到各社区学生的参与度进行了详细的分析,最终统计到各高校总体贡献度前 20 名如下表所示:

OSPP 2023 年度高校贡献度排行榜
#高校名称OpenRank参数学生数人均 OpenRank
1
华中科技大学
67.3increase/decrease43.57
21increase/decrease3
3.21increase/decrease1.89
2
浙江大学
61.23increase/decrease16.62
23increase/decrease9
2.66increase/decrease2.9
3
北京邮电大学
60.19increase/decrease35.17
27increase/decrease5
2.23increase/decrease0.75
4
西安电子科技大学
60.05increase/decrease37.86
13increase/decrease4
4.62increase/decrease2.15
5
复旦大学
59.7increase/decrease7.51
4increase/decrease8
14.93increase/decrease10.58
6
西安邮电大学
55.67increase/decrease24.09
10increase/decrease3
5.57increase/decrease3.14
7
华东师范大学
54.15increase/decrease19.2
13increase/decrease2
4.17increase/decrease2.5
8
电子科技大学
50.6increase/decrease35.74
14increase/decrease8
3.62increase/decrease1.14
9
重庆邮电大学
48.92increase/decrease24.29
5increase/decrease3
9.78increase/decrease2.53
10
上海交通大学
48.34increase/decrease40.83
6
8.06increase/decrease6.8
11
杭州电子科技大学
41.99increase/decrease34.6
11increase/decrease8
3.82increase/decrease1.35
12
陇东学院
39.48new
1new
39.48new
13
中国科学院大学
37.36increase/decrease23.15
18increase/decrease10
2.08increase/decrease0.3
14
南京大学
33.9increase/decrease32.41
17increase/decrease15
1.99increase/decrease1.25
15
同济大学
21.35increase/decrease15.98
6increase/decrease4
3.56increase/decrease0.87
16
武汉大学
19.02increase/decrease11.33
1increase/decrease3
19.02increase/decrease17.09
17
东南大学
18.57increase/decrease8.54
8increase/decrease3
2.32increase/decrease0.32
18
北京工业大学
18.52increase/decrease18.52
3increase/decrease2
6.17increase/decrease6.17
19
成都信息工程大学
18.11new
1new
18.11new
20
福州大学
16.21increase/decrease8.01
5increase/decrease4
3.24increase/decrease20.98

我们在给出了高校总体贡献度的同时也给出了校人均 OpenRank 贡献度,可以看到华中科技大学、浙江大学、北京邮电大学依凭学生数量优势依然排在贡献榜前三位,但也有些高校因为很高的人均 OpenRank 贡献度而上榜,如复旦大学、陇东学院、武汉大学、成都信息工程大学等,他们在学生数量上并不占优,但因为个别学生的贡献度较高而使得最终的排名较高。

为了进一步观察学生的贡献情况,我们也对学生贡献者进行了 OpenRank 贡献度的排名,OpenRank 前 20 的学生如下:

OSPP 2023 年度学生贡献度排行榜
#学生姓名OpenRank学校参与社区活跃月数
1
王**
50.361
复旦大学
Apache HugeGraph
16
2
潘**
44.955
上海交通大学
MatrixOne
19
3
姬**
39.475
陇东学院
Spring Cloud Alibaba
19
4
孟**
34.52
重庆邮电大学
Apache SkyWalking
18
5
刘**
25.838
西安电子科技大学
OpenMessaging
10
6
王**
25.15
电子科技大学
MegEngine(旷视天元)
13
7
谭**
24.831
华中科技大学
GraphScope
12
8
张**
19.65
西安电子科技大学
泰晓科技
9
9
乔*
19.016
武汉大学
Apache RocketMQ社区
14
10
周**
18.924
中国科学院大学
openEuler 社区
9
11
黄**
18.115
成都信息工程大学
CubeFS
15
12
朱**
17.194
华东师范大学
OpenDigger
14
13
应**
16.561
杭州电子科技大学
Volcano社区
10
14
李**
14.307
华东师范大学
OpenDigger
14
15
丛**
14.045
山东大学
Apache HugeGraph
12
16
徐*
13.995
华东理工大学
Apache Kvrocks (Incubating)
8
17
刘*
13.865
华中科技大学
Apache HugeGraph
16
18
陈**
13.452
浙江大学
Curve
6
19
张**
12.606
西安邮电大学
Linux内核之旅开源社区
16
20
兰**
12.581
四川大学
DLRover
8

通过对于学生个体的分析,一些贡献度极高的学生就可以清晰的看到,例如来自陇东学院的姬同学在 Spring Cloud Alibaba 社区、来自成都信息工程大学的黄同学在 CubeFS 社区、来自武汉大学的乔同学在 Apache RocketMQ 社区的参与,他们都仅凭一己之力将自己学校的总体贡献度拉入到高校前 20。

同时上表也给出了这些同学从 2023 年 1 月到 2024 年 7 月中在参与项目中的活跃月数,可以看到前 20 位的同学的活跃月数均达到了 6 个月以上,而上述提到的几位同学贡献时长都达到了 12 个月以上,这里也体现出了 OpenRank 鼓励长期贡献的价值取向。

相应的,我们也给出了 2022 年学生贡献排名前 20 位的同学:

OSPP 2022 年度学生贡献度排行榜
#学生姓名OpenRank学校参与社区活跃月数
1
唐**
42.181
华东师范大学
Apache ECharts
29
2
程*
40.912
浙江大学
Karmada
23
3
杨*
35.699
中国传媒大学
Element Plus
22
4
朱**
31.264
东北大学
Apache Dubbo
23
5
容*
25.844
百色学院
Apache APISIX
27
6
黄**
24.218
福州大学
Apache RocketMQ 社区
12
7
孟**
24.177
重庆邮电大学
Apache Pulsar
30
8
宋**
22.948
复旦大学
Apache SkyWalking
27
9
陈*
19.426
北京邮电大学
Milvus
25
10
范**
16.426
University College London, University of London
Apache Pulsar
8
11
张**
14.617
华东师范大学
DevLake
17
12
赵**
13.8
北京邮电大学
OpenMLDB
5
13
杨*
13.085
西安邮电大学
Curve
18
14
崔**
12.279
桂林电子科技大学
MegEngine(旷视天元)
28
15
叶**
11.502
College of William and Mary
Alluxio
6
16
韩**
9.98
北京邮电大学
KubeVela
15
17
张**
9.443
湖南工业大学科技学院
Apache DolphinScheduler
9
18
杨**
9.157
中国原子能科学研究院
Jina AI
10
19
吴**
9.077
浙江大学
Linux内核之旅开源社区
9
20
吴**
8.831
New York University
Hypercrx
30

后续持续贡献分析

我们可以看到,OSPP 拉动了大量高校的优秀学生在校期间就深入参与到开源社区的贡献之中,那么这些学生后续的活跃情况如何呢?为此我们也进行了更长期的跟踪分析,看一下在 OSPP 结束之后,还有多少的同学继续留在社区中持续的参与贡献。

上图是 2022 年 1 月到 2024 年 7 月所有结项学生的贡献度变化情况,我们可以看到虽然在每年的 9 月份是一个贡献高峰期,但在全域的贡献上保持了一种相对稳当的状态,说明学生们除了参与 OSPP 以外,后续也持续的参与到了开源世界其他项目的贡献之中,也说明 OSPP 为他们打开了一扇通往开源世界的大门。

学生全域贡献度排行榜
学生姓名OpenRank学校参与项目
杨*
315.068
中国传媒大学
YunLeFun/status
YunYouJun/valaxy
element-plus/element-plus
姬**
148.622
陇东学院
alibaba/spring-cloud-alibaba
spring-cloud-alibaba-group/spring-cloud-alibaba-group.github.io
apache/hertzbeat
刘**
136.224
杭州电子科技大学
iyear/tdl
iyear/pure-live-core
devstream-io/devstream
唐**
132.826
华东师范大学
hypertrons/hypertrons-crx
X-lab2017/open-wonderland
X-lab2017/open-research
郑**
132.375
浙江大学
eunomia-bpf/eunomia-bpf
eunomia-bpf/bpftime
eunomia-bpf/bpf-developer-tutorial
刘**
107.148
电子科技大学
SciSharp/LLamaSharp
SciSharp/TensorFlow.NET
Oneflow-Inc/oneflow
容*
91.659
百色学院
apache/apisix-ingress-controller
apache/apisix
apache/apisix-helm-chart
崔**
89.637
桂林电子科技大学
PaddlePaddle/Paddle
PaddlePaddle/PaddleSeg
openvinotoolkit/openvino
左*
89.047
哈尔滨医科大学
Well2333/nonebot-plugin-bilichat
djkcyl/BBot-Graia
IceTiki/ruoli-sign-optimization
林**
88.883
华东交通大学
Undertone0809/promptulate
PKUFlyingPig/cs-self-learning
langchain-ai/langchain

我们可以看到除了 OSPP 的开源社区外,很多同学还大量参与了其他开源社区的贡献,而来自陇东学院与百色学院的两位同学则是长期参与到了自己参加的 OSPP 的社区之中,成为了稳定的贡献者甚至 Committer。

Redis 修改开源协议!云厂商真的在白嫖开源社区吗?

· 阅读需 11 分钟
赵生宇
X-lab 开源博士 / OpenDigger 作者

缘起

2024 年 3 月 21 日,著名的键值数据库开源项目 Redis 背后的公司 Redis 的 CEO Rowan Trollope 宣布修改项目的许可证类型,从原先的 BSD 开源协议修改为 RSALv2SSPLv1 双协议。

这次的许可证变更主要是为了保护 Redis 自己的商业化利益,避免云厂商免费使用开源版本提供 Redis SaaS 收费服务。这样的操作其实并不少见,之前如 Confluent、MongoDB、Elastic 等公司就对旗下的开源项目进行过类似的许可证变更以保护自己的权益。而这次 Redis 的操作却引发了很多开发者的愤怒,其中很重要的原因就是 Redis 社区中包含了大量外部的贡献者参与,这种单方面的协议修改显然是破坏社区和伤害这些贡献者的行为。

那么到底是谁在深度的参与 Redis 的社区贡献呢?

深入

从下面的图中可以看出,自 2020 年至今,从每年 Redis 项目社区 OpenRank 前十位的开发者贡献度来看,Redis 项目社区其实一直在趋向于多元化,Redis 内部开发者的贡献比例从 2020 年的将近 80% 逐年下降,截止到 2024 年第一季度,贡献度前十位的开发者中 Redis 内部的贡献比例已经不足四成,AWS、阿里云、腾讯云、爱立信等众多厂商均已常年深度参与到了 Redis 社区的贡献之中,并且贡献强度都还在逐年增加。

2020 年 6 月底,Redis 的最初作者 Salvatore Sanfilippo(@antirez)发表博客退出了 Redis 社区的日常维护工作,将社区维护任务交由当时还名为 RedisLabs 的 Yossi Gottlieb(@yossigo)和 Oran Agra(@oranagra),同一时间上述两人发文表示将开启新的社区治理模式,并与 Itamar Haber(@itamarhaber)率先组成 Redis 社区的核心开发小组,次月 AWS 的 Madelyn Olson(@madolson)和阿里云的赵钊(@soloestoy)加入核心开发小组,而这个五人小组也是直到这次 Redis 修改许可证之前一直稳定的 Redis 社区的核心小组。

除了上述提到的六位核心开发者外,腾讯云的朱彬彬(@enjoy-binbin)是因为长期参与 Redis 而加入了腾讯云数据库产品部,而阿里云除了赵钊外还有三位开发者出现在了历年贡献前十位的榜单之中。整体而言,目前 AWS、阿里云、Google、腾讯云等云厂商日常参与到 Redis 社区贡献的共有近 20 人,云厂商在 Redis 社区的投入还是显而易见的,这与大众意识中云厂商白嫖开源社区的印象大相径庭。

分裂

也正是由于大量云厂商贡献者的参与,在 Redis 宣布修改许可证后,AWS 的 Madelyn Olson 便立即发起了一个 Redis 的 Fork 项目 Valkey,并计划将其托管在 Linux 基金会,而 Google、爱立信都已明确表示将投入支持 Valkey 社区的发展。

而其他的云厂商的开发者也将几乎别无选择的将迁移到 Valkey 项目中,因为新的 Redis 对云厂商的排斥使他们没有办法继续留在 Redis 社区中进行贡献。而 Redis 似乎也没有打算再让社区深度参与到后续的研发中,根据几位中国 committer 的反馈,GitHub 上 redis-committers team 的权限已在一周内被回收,取消了外部 committer 的仓库写权限和 Issue/PR 的管理权限,现在他们在 Redis 项目中里的权限,其实就跟普通用户完全一样了。

“除了参与到 Redis 社区具体的功能贡献外,我们也会将在云产品中积累包括功能、性能、稳定性和可观测性等等方面的修复和改进贡献会社区,同时云产品丰富的用户基础也为上游社区传递了大量业务场景中的真实需求。我们相信这是我们的责任,也相信一个蓬勃发展的开源社区值得我们去维护。”阿里云的赵钊提到。

从数据上来看,在 2024 年 Redis 贡献前十位的开发者中,除了 Redis 公司的两位研发人员外,剩下有七位都已经参与到了 Valkey 项目的研发当中,这意味着事实上 Valkey 项目已经成为新的社区进入了正常的运作,而 Redis 公司的研发人员后续将独立开发维护 Redis 项目。

上图数据更新于 2024.9

从宏观数据来看,Redis 社区近半年的 OpenRank 协作影响力维持在 80 左右,而 Valkey 在三月仅开源十天,OpenRank 已飙升至 40 左右,达到了 Redis 项目的一半。从社区参与开发者人数来看,Redis 基本维持在每月 100 人左右的规模,在三月因为许可证修改有不少开发者在 Redis 社区进行讨论,导致参与人数翻倍,达到了 220 人,而 Valkey 开源十天,参与人数达到了 146 人,已超过了 Redis 的日常规模。

总体来看,Redis 社区的分裂之势已无法逆转,随着 Valkey 捐献到 Linux 基金会,相信会有更多开源开发者参与到 Valkey 的贡献和研发之中。

涟漪

就像 OpenRank 算法背后的主张,这个世界总是相互联系和影响的,任何的事件将不仅仅会影响到自己,而是会波及到与其相关的其他部分。就像在 2023 中国开源年报中,我们通过数据发现,2023 年 9 月 Unity 修改收费策略,直接导致开源游戏引擎 godotengine 在当月迎来了其开源以来的最大一波增长,这个开源已经超过十年的项目的 8 万 Star 中有超过 1 万 Star 是来自 2023 年 9 月,游戏开发者们用对开源的支持回应了 Unity 的决策。

而 Redis 的协议变更除了带来了一个新的分叉社区 Valkey 以外,也有很多对键值数据库有需求的开发者开始关注到与 Redis 相关的其他开源项目。Apache 软件基金会的 kvrocks 就是其中之一。与 Redis 是内存型键值数据库不同,kvrocks 是一款磁盘型键值数据库。从下图可以看到,三月份 kvrocks 的各项指标数据都有一波明显的增长,可能也是因为它是基金会项目,在这个开源项目背后的企业可以跳过设定的社区规则单方面随时更改许可证的时代,托管在基金会的项目会让开发者更有安全感一些。

结语

云厂商吸血开源项目在过去几年来一直是被开源开发者们所诟病的,但一切都在悄悄发生着变化,有更多的云厂商也意识到社区的重要性,愿意投入人力甚至物力到自己以来的开源社区中去,以保证自己的云服务可以更好的与上游协同发展。

在未来,我们相信开源社区的上下游可以更好的协作从而形成共赢多赢。有效的开源贡献和影响力评价是形成更健康更有效的协同机制的前提,发现那些真正贡献的开发者,让他们创造的也能够属于他们。

OpenRank 资源清单

· 阅读需 2 分钟
王伟
华东师范大学 教授 / X-lab 创始人