十年前,有人想做一个实验:让所有开源贡献者都能直接推送代码、合并PR、共同维护项目。

“we are all part of this.”

十年后,这个实验按下暂停键。

3135人曾在这里贡献代码,84个项目累计收获近10万颗GitHub星标,每月被下载超过1.5亿次——但最后,所有的重担都压在一个人身上。

这个人,撑不动了。

一个理想主义的诞生

2014年前后,Jannis Leidel厌倦了独自维护开源项目的疲惫。

他是Django的核心开发者,也是Python软件基金会(PSF)的成员。他太清楚一个人扛着项目走的滋味了——bug要修、PR要审、issue要回,有时候凌晨三点还在处理紧急安全漏洞。

于是他做了个决定:建一个“人人都有推送权限”的开源社区。

这就是Jazzband。

没有复杂的审批流程,没有严格的权限等级。任何加入的人都可以push代码、triag issues、合并PR。听起来有点疯狂?确实。Jannis自己都说,这个设计的前提是“最坏情况不过是有人不小心合错了PR”。

但在2014年,这个假设是成立的。

那时候GitHub还算是一片净土,提交代码的是活生生的人,PR的质量有基本保障。Jazzband像是一个理想主义的乌托邦——所有人都是维护者,所有人都是主人翁。

十年数据,抵不过一个现实

十年间,Jazzband的成绩单其实挺漂亮的:

  • 84个项目,3135名成员(覆盖除南极洲以外的所有大洲)
  • 约93000颗GitHub星标
  • 1312次PyPI发布
  • 月下载量超过1.5亿次

这里跑出了不少明星项目:

  • pip-tools月下载2300万次
  • prettytable月下载4200万次
  • django-debug-toolbar在Jazzband待了8年,最后进了Django官方教程
  • django-axes平均每13天发布一个版本,129个版本一路小跑出来

这些数字够漂亮吧?

但数字背后,藏着一个没人注意到的致命问题:

这3135人里,几乎只有Jannis一个人在干活。

“Jazzband was always a one-roadie operation.”

他在文章里写得轻描淡写,但意思很清楚:十年了,一直都只有他一个“roadie”(舞台技术人员)。每次有人主动提出帮忙,他试过,但永远留不住人。志愿者来了又走,没有制度、没有结构、也没有钱。

于是:

  • 每个项目转移,要他批
  • 每个维护者权限,要他改
  • 每个基础设施决策,要他做
  • 每个PyPI发布权限,要他点头

71个项目,全部卡在他一个人身上。

2017年就有人发出警告

其实问题不是突然出现的。

早在2017年,就有人问过Jannis:这样能持续吗?

2021年,他在DjangoCon Europe上直接说了:这个“社交编程”实验没有创造出公平的社区,没有可持续的解决方案,除非有钱进来。

他当时列了路线图:重构基础设施、扩大管理团队、制定正式规范、去找资金支持。

结果呢?

什么都没发生。

image

PSF的财政赞助是唯一落实的东西,但那点钱只够cover基本运营。Jannis后来进了PSF董事会,还当上了主席——这份工作很重要,他不后悔,但Jazzband能分到的时间就更少了。

然后,AI来了。

AI不是借口,却是最后一刀

2024年开始,GitHub迎来了一场“slopocalypse”。

大量AI生成的垃圾PR和issue涌进来,10个里只有1个能达标。curl项目被迫关闭了bug bounty,因为确认率跌到了5%以下。GitHub自己都扛不住,最后出了个“kill switch”直接禁用PR。

这对Jazzband来说是致命的。

它本来就是靠“人人可以推送”的开放模型活着的。当提交者从人变成AI脚本,当10个PR里9个是垃圾,这个模型就彻底没法玩了。

“一个组织如果给每个加入者推送权限,那就没法安全运营了。”

这不是危言耸听。XZ Utils的后门事件还记得吧?2024年,一个 lone maintainer 累倒了,恶意的“志愿者”趁机填上了空位。

Jazzband也怕这种情况。

于是,项目开始流失。基础设施开始掉链子。信任发布(trusted publishing)没法支持,需要管理员权限的项目卡住不动。

一切都在往下塌。

有人接盘,但问题没解决

好消息是,不是所有项目都无家可归。

Django Commons接过了部分项目——5个管理员,15个活跃项目,包括django-debug-toolbar、django-simple-history这些老牌工具。他们从第一天就解决了治理问题。

image

但非Django的项目呢?pip-tools、contextlib2、geojson、tablib……

Jannis说:“我不知道有什么equivalent。”

这句话读起来挺心酸的。一个做Python工具起家的组织,最后发现自己的工具项目没处可去。

结尾

Jannis在文章里写:

“我开始Jazzband是因为独自维护开源太累了。结果我成了71个项目的单点故障——这讽刺我不至于看不出来。”

但实验还是成功的。项目有人维护了,代码发出去了,人与人合作了。

至于那些下载量、那些stars、那些被全世界使用的包——

“ anyways, the projects will move on to new homes, and that's fine. That was always the point.”

image

这就是开源的日常。理想主义者搭起台子,唱了十年戏,观众坐满了,观众席空了,最后台子也要拆了。

至于那些坐收渔利的大公司——

60%的维护者至今没拿到过一分钱。

we are all part of this。

但“all”里,好像永远少了一些人。

【MiniMax-M2.5锐评】:十年理想主义败给AI垃圾和一个人扛所有的老故事——开源圈的“共用困境”从来不是技术问题,是钱和人性的问题。

参考链接:
https://jazzband.co/news/2026/03/14/sunsetting-jazzband