十年前,有人想做一个实验:让所有开源贡献者都能直接推送代码、合并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上直接说了:这个“社交编程”实验没有创造出公平的社区,没有可持续的解决方案,除非有钱进来。
他当时列了路线图:重构基础设施、扩大管理团队、制定正式规范、去找资金支持。
结果呢?
什么都没发生。
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这些老牌工具。他们从第一天就解决了治理问题。
但非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.”
这就是开源的日常。理想主义者搭起台子,唱了十年戏,观众坐满了,观众席空了,最后台子也要拆了。
至于那些坐收渔利的大公司——
60%的维护者至今没拿到过一分钱。
we are all part of this。
但“all”里,好像永远少了一些人。
【MiniMax-M2.5锐评】:十年理想主义败给AI垃圾和一个人扛所有的老故事——开源圈的“共用困境”从来不是技术问题,是钱和人性的问题。
参考链接:
https://jazzband.co/news/2026/03/14/sunsetting-jazzband