跳到主要内容

OpenLeaderboard 开源生态数据洞察(2025.1)

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

OpenRank 指标是对工信部电子标准院的“信息技术 开源治理”系列标准中评价指标的开源实现,能够有效反映开源项目在开发者中的协作影响力,从而帮助我们了解开源世界,发现开源趋势,洞察开源事件。

热点事件1:Ghostty 重磅发布,归来仍少年

  • 数据事实:根据 OpenDigger 数据显示,Ghostty 项目在发布后的 5 天内,该仓库就吸引到超过 530 位开发者参与,超 1000 条讨论,获得超过 1.6 万 Star,OpenRank 强势突破 100,定格 105。

  • 详情分析:Ghostty 是一款运行在 MacOS 或 Linux 系统上的终端模拟器,通过使用本地 GPU 资源可以使终端拥有更丰富的功能和流畅的使用体验。2024.12.26,Ghostty 项目经过 2 年多的私仓开发后终于开源并正式发布 1.0 版本,而其作者正是在 23 岁时创立了 HashiCorp 的 Mitchell Hashimoto。这位只想做码农的创始人在 2016 年辞去 CEO 的职务,担任 HashiCorp 的 CTO,2021 年底又辞去 CTO 职务回归个人程序员并于 2023 年底离开了他一手创建的开源上市公司。根据数据显示,Ghostty 项目创建于 2022 年 3 月,代码量超百万行,在最初的两年间,这个项目均由 Mitchell 一人独立开发,直到 2024 年年中才有其他开发者参与进来,但 Mitchell 依然是该项目的主力开发人员,贡献了项目超过 90% 的代码。

  • 作者点评:作为创建了 HashiCorp 的创始人,Mitchell 热爱代码,是 Vagrant、Consul、Terraform、Vault 等一众云计算知名开源项目的创始工程师和核心开发者。开源世界代码为王,虽已是亿万富翁,但他还是那个热爱代码的少年,这或许也是这个项目备受开发者关注的重要因素之一。

  • 进阶阅读:

热点事件2:生成式 AI 赋能具身智能,Genesis 正式发布

  • 数据事实:根据 OpenDigger 数据显示,Genesis 项目自 2024.12.19 发布以来,该仓库在 10 天内吸引到超过 500 位开发者参与讨论,有 21 人成为项目贡献者,获得近 2 万 Star,OpenRank 定格 85。

  • 详情分析:Genesis 是一个结合了生成模型能力的具身智能研究平台,这个研究平台由通用物理引擎、机器人仿真平台、照片级渲染系统和数据生成引擎构成,而其中的数据生成引擎使用了生成式 AI 技术,可以将自然语言转换成各类不同模块的训练数据。该项目由 MIT-IBM 沃森人工智能实验室的首席科学家淦创博士带领的团队所开发,该团队在 2023 年底发表论文介绍了一个利用生成式 AI 技术为机器人提供无限学习数据并全自动化训练的框架 RoboGen,引发了全球关注。经过一年多的开发,RoboGen 框架正式开源为具身智能研究平台 Genesis 并引爆全网。

  • 作者点评:具身智能作为人工智能领域的前沿研究方向,其相关的开源研究平台并不多,2019 年由 Facebook 开源的 Habitat 平台是标志性项目之一。而生成式 AI 爆发以来,不少科学家也在研究如何将该技术应用于具身智能领域并加速智能机器人的发展,淦创博士的团队在发表论文后基于扎实的理论基础潜心打造科研平台,深度融合生成式 AI 技术,相信未来在该领域会有突出的贡献。

  • 进阶阅读:

本月推荐项目

eliza

  • eliza 是一个面向个人开发者的轻量级 AI 智能体框架,可赋能个人快速创建自己的 AI 智能体和工作流。该项目 2024.7 开源以来主要以开发为主,2024.12 全网爆火,Star 数已突破 1 万,12 月全月活跃开发者共计 441 人,OpenRank 已达到 149。
  • 仓库地址:https://github.com/elizaOS/eliza

blink.cmp

  • blink.cmp 是一款用于 Neovim 编辑器的代码补全插件,与目前流行 Copilot 不同,该插件是传统的基于文本索引和模糊检索的补全工具。该插件以高效为其特点,在 2 万索引量下可以做到毫秒级响应,因此受到 Neovim 用户的喜爱。该项目 2024.10 开源,12 月全月活跃开发者共计 294 人,OpenRank 来到了 108。
  • 仓库地址:https://github.com/Saghen/blink.cmp

关于 OpenDigger 标签工作的思考与规划

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

这段时间,对 OpenDigger 的标签做了一次较大的更新,主要是新增了一批项目和企业的标签,以及对国家和地区的开发者占比做了统计,主要用于 BenchCouncil 中的榜单发布(全球行政区划开发者 OpenRank 排行榜, 全球企业 OpenRank 排行榜, 全球项目 OpenRank 排行榜)。因此也有了一些新的思考,这里分享一下,也希望可以抛砖引玉,看接下来如何进一步规划和优化 OpenDigger 的标签体系。

总体而言,OpenDigger 的标签工作分为两部分,标签体系建设和标签工具建设。标签体系的重点在于如何构建以一套有效且易维护的标签结构,而标签工具则是使用怎样的技术方案来实现和维护上述的标签体系。

标签体系建设

OpenDigger 的标签体系早期是源于 OpenDigger 本身的数据需求而逐渐建立起来的。主要是各类数据报告中需要有不同的指标聚合方式,尤其是如企业、国家维度的聚合,所以最初的设计中最主要标注的也就是企业、国家的数据,后续又陆续增加了基金会、技术领域和项目群的相关标签。然而随着标签数据越来越多,维护的难度也开始逐渐上升,缺乏顶层设计的缺陷也逐渐凸显。截止到 2024 年 12 月,已经有上千个标签,涵盖 200 多家企业、数十个基金会和 500 多个项目,这也需要 OpenDigger 建立一套标准化的标签体系,方便后续的持续维护和进一步拓展。

总体而言,早期标签的加入是需求驱动的,并没有进行顶层的统一设计,因此结构上也是趋向于扁平化的,即每类标签单独在一个文件夹下,通过标签之间的 ID 进行交叉引用。但在过去一段时间丰富标签的过程中,发现目前主要的标签需求之间其实存在某种关联性,这种关联性也进而导致了后续的一些设计上的变化,例如:

  • 项目一般都是由某个实体发起,后续可能捐献给基金会的,因此项目可以不单独使用某个目录,而是在其对应的发起实体的目录下维护。
  • 项目发起的实体可以是个人、企业、高校、政府机构(如美国退伍军人事务部、英国司法部)、研究机构(如欧洲核子研究中心)等。这些实体的类型不一而足,但大多与各国当地的机构结构有关,因此总体上虽然结构相似,但在不同国家也会有细微的差异。
  • 对于上述的各类实体,需要一套标准化可行的分类方式,这种分类方式不仅体现在维护性上,而且也是后续各种聚合查询的基础,因为构建在这套标签体系之上的指标查询工具将使用这套标签体系来进行查询。

基于上述的一些反思,因此对于指标体系的建设可以从几个方面来说:

指标结构

从指标结构上来说,之前是扁平化展开的,国家、企业、基金会、高校、机构、项目都是放在同级目录下的,然后会进行交叉引用,例如国家会以高校、企业、基金会等为子标签。然而上述的标签其实都是从项目发起方的角度来看的,因此应该可以构建在同一个目录下,形成“行政区划”-“发起机构”-“开源项目”的三层结构。

  • 行政区划一级主要是指地区信息,如国家,当然也可以更进一步细化到省市一级。
  • 发起机构则是指在法律上实体注册在这些行政区划内的机构,这些机构本身可以进一步进行分类,关于这个分类方法后续再进一步讨论。
  • 项目就是 GitHub、Gitee 上的组织或仓库群构成的开源项目,同一个开源项目可以包含多个组织或仓库,也可以托管在多个平台上。

上述的发起方角度应该是整个标签体系构建的基础,在此基础之上,可以进一步增加其他的并行标签内容,如项目类型、技术领域等,这些标签均以项目标签为基础构建,即它们仅可引用项目级标签为自己的子标签,而不能单独使用平台上的仓库或组织为自己的标签数据内容。即当某个领域出现一个新的项目要标注时,需要先鉴别其对应的发起方及其所在的行政区划,并设置好这些数据后引用该项目标签,而不要直接使用仓库或组织数据。

行政区划

行政区划是发起方所属国家或地区的信息,这部分事实上已经有一些标准可以直接采用。例如 OpenDigger 目前使用 ISO 3166 标准进行国家标注,国家和地区编码部分使用的是 ISO 3166-1 alpha-2 标准,该标准下所有国家和地区使用一个 2 位的英文字母进行标识,同时也包含该国家对应的全称,而恰好 GitHub 发布的全球开发者区划分布也是按照该标准发布(区别在于该数据将欧盟作为一个一级区划),因此较容易进行关联性建立。而对应的 ISO 3166-2 标准则进一步对国家和地区内部的一级行政区划进行了定义,因此国家和国家内部的一级行政区划可以完全使用 ISO 3166 系列标准进行定义。

发起主体

这部分需要比较专业的知识,可能本人的理解也有出入,欢迎指出。

如上所述,发起主体与各国中对于法律实体的定义有关,因此情况也最为复杂。相对而言,高校、政府机构、研究机构是相对明确简单的,而企业和基金会是最为复杂的。

以中美的差异为例,对于大部分企业而言其结构是相似的,尤其是私营企业主要以独资企业、合伙企业、有限责任公司、股份有限公司等形式为主,在 OpenDigger 的标签体系中可以不做额外的区分,就是公司/企业标签即可。主要难点在于基金会的分类:

在中国的实体分类中,一般性企业属于工商部管理范畴,而社会团体、民办非企业单位和基金会则属于民政部管理范畴,这也是为什么国内部分唯二的开源基金会(开放原子开源基金会、重庆开工开物开源基金会)都注册在民政部,其对应的统一社会信用代码以 53 开头,即民政部下属基金会属性单位。可见基金会在中国是一个独立的法人实体类型。且在中国,法律认可的非营利性组织也只有社会团体、民办非企业单位和基金会三类。

但在美国的法律体系中,并不包含一种名为基金会的法人实体,所有的非营利组织在美国都属于企业性质,只是分类会略有不同,主要都在 501(c) 分类下。常见的非营利组织类型包括慈善组织 501(c)(3),如 Apache 基金会就是这类组织;还有商业联盟性质的 501(c)(6),如 Linux 基金会就属于这类组织。它们在财务规定和监管层面有一定的差异,这也是为什么近年来 Linux 基金会可以通过企业捐赠快速扩张发展,而 Apache 基金会则更加佛系的根本原因之一。

也正是由于上述区别,基金会这个名称在中美有了很大的差异,在中国是一类非常明确的法人实体类型,而在美国基金会是非营利组织可选的一种注册名称而已。如美国的连接标准联盟与 Linux 基金会相同也是一个 501(c)(6) 组织,但其名称确为"联盟"。而正是由于这种命名的随意性,使得追踪海外基金会变得非常困难,例如一些自称为基金会的组织,我们甚至在网上无法查证其组织类型以及是否真的是非营利性的组织。

另外一个有趣的差别是,在美国,在一般性企业和非营利性组织之间,还存在一种叫做 PBC(Public Benefit Corporation) 的企业类型,即公益法团。如最近大火的社交平台 Bluesky 背后的公司即属于这类。该类型是一种具有公益性质的营利性组织。对应中文语境中的“社会企业”,但在中国,目前“社会企业”还并非一种具有法律认可的实体类型,主要是由中国慈展会定期进行公开评定,可给各类企业或非营利性组织进行非正式的社会企业认证。当然,在 OpenDigger 的标签体系中,这类还是统一被归为企业类型。

综上所述,在发起主体层面,除明确的高校(University)、政府机构(Agency)、研究机构(Institution)外,其他则分为公司(Company)和非营利组织(NPO)。则在各国法律体系下,基金会均属于非营利组织范畴,而基金会排名对比时则也是与其他非营利组织统一排名,如行业联盟等。

社区项目

虽然上面提到在新的设计中,我们希望为所有项目均找到对应的法人实体发起方。但在现实中,依然会存在没有明确发起人的项目,或发起人希望该项目是完全社区驱动的,又或者发起人为个人的项目,这类项目难以对应到具体的法人实体,因此需要一个社区项目类型来涵盖这部分项目。

需要注意的是这里的社区也只是一种无明确发起方的分类方式,而社区(Community)本身并不是 OpenDigger 标签体系中的一部分。这是由于我发现社区本身的定义非常宽泛和模糊,一个企业项目也可以称自己为社区,一个兴趣团体也可以称自己为社区,因此这会导致该标签可能被滥用,而其对应的排行也就没有太多意义了。不过可能确实存在某些群体需要一个独立身份的情况,后续可能根据需求的变化会进一步细化这部分设计。

总结

因此最新的设计下,总体的标签结构示例应该为:

label_data
├── division # 行政区划
│ ├── cn # 中国
│ │ ├── gd # 广东
│ │ │ └── huawei # 华为
│ │ │ └── openharmony
│ │ └── zj # 浙江
│ │ └── alipay # 蚂蚁集团
│ │ └── tugraph
│ └── us # 美国
│ ├── ca # 加利福尼亚州
│ │ └── linux_foundation # Linux 基金会
│ │ └── valkey
│ └── md # 马里兰州
│ └── apache_software_foundation # Apache 软件基金会
└── technology # 技术领域
├── cloud_native # 云原生
│ ├── platform # 平台
│ └── runtime # 运行时
└── database # 数据库
├── graph # 图数据库 -> 引用 :division/cn/zj/alipay/tugraph
└── kv # 键值数据库 -> 引用 :division/us/ca/linux_foundation/valkey

标签工具建设

标签工具建设是更加偏向技术的一部分,是上述标签体系的具体实现。该实现不仅需要考虑到上述标签体系的所有能力和业务需求,同时也需要向下适配与数据库交互的结构以及标签数据的常见运算,如集合的交并差等。

目前的标签工具是使用 TypeScript 编写的,直接在运行时基于标签数据文件在内存中构建整套标签数据,可实现基础的运算和标签关系查询能力。但长远而言,从可扩展性以及查询效率上,还是希望标签数据可以直接落库,则最终的指标查询只需要做一个联表查询即可。

但由于存在多层标签的父子标签溯源问题(如某个项目是哪个国家发起的),这种溯源在数据库中需要递归 CTEs 特性的支持,而 OpenDigger 目前底层的 ClickHouse 版本尚不支持该特性,因此需要等待 ClickHouse 升级后再进行改造。

OpenLeaderboard 开源生态数据洞察(2024.12)

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

OpenRank 指标是对工信部电子标准院的“信息技术 开源治理”系列标准中评价指标的开源实现,能够有效反映开源项目在开发者中的协作影响力,从而帮助我们了解开源世界,发现开源趋势,洞察开源事件。

热点事件1:BlueSky 爆火背后,美国大选与 AI 浪潮

  • 数据事实:根据 OpenDigger 数据,GitHub 上 BlueSky 的多个仓库出现了数据激增,包括其自研的去中心化社交媒体协议仓库 atproto 和客户端仓库 social-app。其组织下所有仓库 11 月的活跃开发者总数同比增长 173% 达到 1082 人,所有仓库星标数增长 5.8k,OpenRank 总值同比增长 67%,达到了 340 分。

  • 详情分析:BlueSky 是前 Twitter CEO 杰克·多尔西创建的一个独立项目,使用全新的自研 AT 社交网络协议开发,旨在实现一个去中心化的社交媒体。11 月 5 日美国大选以来,部分对大选结果不满的用户选择离开 Twitter 寻找新的社交平台,BlueSky 成为了他们的一个重要选项,而大选一周后,其客户端应用也登顶了苹果 App Store 美国区的免费榜应用榜榜首。另外 11 月 16 日,Twitter 平台更新其隐私权政策(Privacy Policy),允许三方平台利用其用户数据进行生成式 AI 训练,而随后 BlueSky 官方发文表示不会使用用户数据进行生成式 AI 的训练,该事件也导致大量高质量内容创作者开始迁移到 BlueSky 平台以保护自己生产的数字化内容。该平台截止 2024 年 9 月全平台注册用户约 1000 万,11 月以来多个事件导致其平台用户激增,截止 11 月 20 日,该平台注册用户数已突破 2000 万。

  • 作者点评:技术世界从不是独立存在的,现实中的事件会以不同的方式反映到开源社区中。而生成式 AI 的火爆也开始使其底层矛盾愈加凸显,开发者和用户会用自己的真实行动来投票。

  • 进阶阅读:

热点事件2:Redis 尝试控制周边项目,Valkey 社区持续增长

  • 数据事实:根据 OpenDigger 数据,Redis 的 Rust 客户端仓库 rust-rs 在 2024 年 11 月活跃开发者数量增长 54% 达到 40 人,其中大部分参与了关于 Redis 公司希望其作者转让项目而引发的讨论 Issue。而 2024 年 3 月分叉的 Valkey 社区则持续增长,在各项数据层面都已全面超越 Redis 主仓库。

  • 详情分析:2024 年 11 月 25 日,Redis 的 Rust 客户端项目 rust-rs 的作者 Armin Ronacher 在仓库上开启了一个 Issue 讨论关于该项目与 Reids 公司的关系,称 Redis 公司要求将其项目控制权进行转让,而 Redis 的 PHP 客户端 Pedis 的维护者表示也收到了同样的要求。事实上这已经不是 Redis 公司第一尝试控制周边社区项目了,在 2020 年至 2024 年间 Redis 公司分别将 Redis 的社区客户端 Jedis、Redis-py 和 Lettuce 转移至其 GitHub 组织中。而与此同时也有开发者担忧社区客户端被 Redis 公司控制后新版本是否会与 Valkey 不再兼容。Valkey 是 2024 年 3 月 Redis 公司宣布修改其项目许可证后分叉出的社区,由原 Redis 项目中来自 AWS、阿里云、Google、腾讯云等云厂商的核心开发者牵头成立,目前已托管在 Linux 基金会中。在 Redis 社区分裂后,Valkey 项目稳定发展,而 Redis 项目已逐渐不再活跃,根据 OpenDigger 数据,11 月 Valkey 主仓库的 OpenRank 已达 71 分,而 Redis 的主仓库则从 3 月份的 62 分将至 27 分。

  • 作者点评:软件所有权不仅仅是代码的归属问题,更涉及到项目的可持续发展和社区的信任。当一个开源项目的所有权转移到一家商业公司手中时,社区成员往往会担心项目的中立性和开放性会受到影响。Redis 和 Valkey 的未来会向哪个方向发展,还需要进一步的跟踪观察。

  • 进阶阅读:

本月推荐项目

Julia

  • Julia 是 2009 年开始开发的一款面向高性能数值分析和计算科学的动态编程语言,并在 2018 年发布了 1.0 版本。后续一直稳定的持续发展,随着语言内核的持续完善,目前的开发重心也逐渐转向上层的标准库支持。2024 年 11 月,社区将线性代数相关的标准库从主仓库中抽离为一个独立仓库并转移了与其相关的上千个 Issue 到新仓库中。由于这种迁移在日志中会被记录为新建 Issue,因此该仓库也被数据洞察注意到。而 Julia 本身的发展也非常稳定,截止 2024 年 11 月,其所有仓库 OpenRank 值已达到 242 分。
  • 仓库地址:https://github.com/JuliaLang/julia

Zen Browser

  • Zen 浏览器是一个基于 Firefox 内核开发的开源浏览器,自 2024 年 4 月开源,8 月后突然火爆,11 月仓库参与开发者人数达 882 人。该项目以其优秀的用户体验深受用户的喜爱,所有试用体验类文章都不乏溢美之词。如分屏显示功能作为受众多用户喜欢的一项功能,目前在 Chrome 浏览器中依然只能通过插件进行实现。根据 OpenDigger 数据,该仓库 11 月 OpenRank 值达 262 分,强势增长 48 位进入全球仓库 OpenRank 榜 63 名。
  • 仓库地址:https://github.com/zen-browser/desktop

OpenLeaderboard 开源生态数据洞察(2024.11)

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

OpenRank 指标是对工信部电子标准院的“信息技术 开源治理”系列标准中评价指标的开源实现,能够有效反映开源项目在开发者中的协作影响力,从而帮助我们了解开源世界,发现开源趋势,洞察开源事件。

热点事件1:Linux 移除俄罗斯维护者,华为发布原生鸿蒙操作系统

  • 数据事实:根据 OpenDigger 数据,OpenHarmony 自 2019 年 8 月开源以来,OpenRank 成长迅速,已经成为中国排名第一的开源社区。目前 OpenHarmony 社区项目主要托管于 Gitee 平台,共计仓库数超 2000 个,总计贡献者超 8000 人,社区活跃开发者数量超 15000 人。有包括润和软件、软通动力、深开鸿、九联科技(按贡献者数量排名)等在内的 70 多家科技单位参与共建。

  • 详情分析:在 2024 年 10 月下旬,Linux 社区由于“合规性要求”,从 Linux 内核维护者名单中移除了十余名俄罗斯开发者,Linus 在随后的邮件列表中对其他开发者的质疑作出了强硬回复。此事件在开源领域引起了广泛关注,凸显了地缘政治对开源技术社区影响的日益加深。事实上,技术领域受地缘政治影响的现象并不新鲜,早在 2019 年 5 月,华为就因被美国商务部列入实体清单而无法使用谷歌开发的安卓操作系统。作为应对,华为在同年 8 月推出了鸿蒙操作系统,并将其核心代码以 OpenHarmony 项目的形式开源,并于 2020 年 5 月捐赠给开放原子开源基金会。经过五年多的发展,OpenHarmony 已成为中国 OpenRank 排名最高的开源项目群。2024 年 10 月底,华为基于 OpenHarmony 的研发成果,正式发布了完全自主研发的原生鸿蒙系统,标志着 OpenHarmony 项目的成熟。

  • 作者点评:技术本身无国界,但技术从业者有国籍。在国际局势发生重大变化的背景下,我们既需保持开放合作的姿态,也必须随时准备主导和发展自己的核心技术领域。只有这样,我们才能借助科技的力量推动国家发展,并确保在全球竞争中具有强劲的竞争力。

  • 进阶阅读:

热点事件2:开源之夏收官在即,全球暑期活动异彩纷呈

  • 数据事实:根据 OpenDigger 数据,由于受到十一国庆长假影响,中国大部分项目十月的 OpenRank 会出现普降。然而由于 OSPP、GSoC 等项目的火热,今年参与的相关的项目在 10 月总体而言有逆势 3.5% 的增长,上千人参与到暑期活动之中。

  • 详情分析:OSPP(开源之夏)和 GSoC(Google 编程之夏)在十月都迎来了收官,据官网数据显示,OSPP 和 GSoC 2024 年的项目数量都再创新高,分别达到了 561 个和 1133 个项目。根据 OpenDigger 数据洞察显示,除上述两个耳熟能详的暑期项目外,此类暑期期间面向高校学生群体的开源活动在全球各地也越来越多涌现出来。如在印度发起的 GSSoC24(GirlScript 编程之夏)项目也在十月正式启动,其发放证书的仓库中有超过 2000 名学生进行登记,使得该仓库被数据洞察注意到。而由韩国的 Woowa 社区发起编程培训课程也优先针对学生群体,因此暑期期间格外活跃,在他们的 GitHub 组织中,涉及到 Java、Android 和前端的应用开发学习项目,相关的 10 个学习仓库在 2024 年 10 月共收到了超过 4500 个学习 PR,而且学习讨论异常热烈,有超过 28000 个 PR Review 评论,因此多个仓库登上 OpenLeaderboard 十月全球榜。

  • 作者点评:近年来,面向高校学生的开源暑期活动越来越多,形式也越来越丰富。开源不仅孕育了海量优秀的软件,也为高校学生提供了大量的编程学习和实战的机会,此类的活动和课程已经成为推动学生技术成长和创新能力发展的重要平台。

  • 进阶阅读:

本月推荐项目

freeCodeCamp

  • freeCodeCamp 是一个非常受欢迎的在线学习平台,旨在通过交互式的学习方式教授编程和 web 开发技能。它是完全免费的,提供了丰富的课程资源,包括数千个编程挑战、项目、算法和前端开发实践。其主仓库以 40 万的 star 数常年稳居 GitHub star 榜第一。2024 年 10 月,freeCodeCamp 参与到了 Hacktoberfest 活动中,该活动为这个本就非常活跃的项目带来了更多的开发者,当月有 380 名开发者参与到协作之中,最终开出了 435 个 PR 并有 2200 多条讨论,助力该项目最终 OpenRank 当月增长 50% 定格 151。
  • 仓库地址:https://github.com/freeCodeCamp/freeCodeCamp
  • 点评:freeCodeCamp 和 Hacktoberfest 都是 2014 年开始的项目,历经十年发展,两个项目的结合依然可以迸发出强大的创造力。

Bolt.new

  • 2024 年 10 月初,WebContainer 项目的开发公司 StackBlitz 发布了他们新产品 Bolt.new,该产品深度集成了基于大语言模型的 AI 助手和基于 WebContainer 技术的 Web IDE,因此可以在浏览器本地进行代码生成以及 Node.js 的代码运行,从而使得基于 Node.js 的软件项目可以完全在本地浏览器中完成开发、调试和部署的一站式工作。该产品的推出受到了众多开发者的追捧,其在 Twitter 上的发布贴有超 60 万次浏览,而该仓库仅开源一个月时间,收到了超过 6600 个 Star,超过 1100 名开发者参与到社区讨论和协作,最终 OpenRank 定格 163。
  • 仓库地址:https://github.com/stackblitz/bolt.new
  • 点评:随着大语言模型的出现,编程生产力得到了显著提升,而 WebContainer 等技术的发展则彻底改变了应用的运行和部署方式,使得服务器应用可以直接在浏览器中运行和调试。这两种技术的结合为开发者提供了前所未有的便利和体验,极大激发了他们的热情与创造力。

Hackpad

  • Hackpad 是由全球各地的高中生极客组成的 Hack Club 发起的一个有趣的黑客松项目。Hackpad 开放一个仓库用于在活动期间接收任何开发者提交的迷你键盘的设计,包括 PCB 板设计、硬件模型设计以及对应的程序软件,从而可以创作出各种有趣的迷你键盘。而组织方则会在活动结束后对合入的方案制作实体键盘发放给参赛者。该仓库在 2024 年 10 月有 178 位参与者提交了 287 个 PR,也助力该仓库 OpenRank 定格 100 分。
  • 仓库地址:https://github.com/hackclub/hackpad
  • 点评:开源协作平台提供了全球性社区发展的沃土,而 Hack Club 这种由青少年组成的全球性技术社区让人眼前一亮,他们的组织中不乏有趣的想法和活动,让人看到了年轻人的想象力与执行力。在严肃的企业软件之外,也让人们意识到最初的黑客精神,就是 just for fun!

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 HugeGraph16
2潘**44.955上海交通大学MatrixOne19
3姬**39.475陇东学院Spring Cloud Alibaba19
4孟**34.52重庆邮电大学Apache SkyWalking18
5刘**25.838西安电子科技大学OpenMessaging10
6王**25.15电子科技大学MegEngine(旷视天元)13
7谭**24.831华中科技大学GraphScope12
8张**19.65西安电子科技大学泰晓科技9
9乔*19.016武汉大学Apache RocketMQ社区14
10周**18.924中国科学院大学openEuler 社区9
11黄**18.115成都信息工程大学CubeFS15
12朱**17.194华东师范大学OpenDigger14
13应**16.561杭州电子科技大学Volcano社区10
14李**14.307华东师范大学OpenDigger14
15丛**14.045山东大学Apache HugeGraph12
16徐*13.995华东理工大学Apache Kvrocks (Incubating)8
17刘*13.865华中科技大学Apache HugeGraph16
18陈**13.452浙江大学Curve6
19张**12.606西安邮电大学Linux内核之旅开源社区16
20兰**12.581四川大学DLRover8

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

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

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

OSPP 2022 年度学生贡献度排行榜
#学生姓名OpenRank学校参与社区活跃月数
1唐**42.181华东师范大学Apache ECharts29
2程*40.912浙江大学Karmada23
3杨*35.699中国传媒大学Element Plus22
4朱**31.264东北大学Apache Dubbo23
5容*25.844百色学院Apache APISIX27
6黄**24.218福州大学Apache RocketMQ 社区12
7孟**24.177重庆邮电大学Apache Pulsar30
8宋**22.948复旦大学Apache SkyWalking27
9陈*19.426北京邮电大学Milvus25
10范**16.426University College London, University of LondonApache Pulsar8
11张**14.617华东师范大学DevLake17
12赵**13.8北京邮电大学OpenMLDB5
13杨*13.085西安邮电大学Curve18
14崔**12.279桂林电子科技大学MegEngine(旷视天元)28
15叶**11.502College of William and MaryAlluxio6
16韩**9.98北京邮电大学KubeVela15
17张**9.443湖南工业大学科技学院Apache DolphinScheduler9
18杨**9.157中国原子能科学研究院Jina AI10
19吴**9.077浙江大学Linux内核之旅开源社区9
20吴**8.831New York UniversityHypercrx30

后续持续贡献分析

我们可以看到,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 项目。

上图数据更新于 2025.1

从宏观数据来看,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 创始人