本文翻译自 MinIO Resurrect,原载于 Hacker News。
MinIO 的开源仓库已经被正式归档了。不再维护。一个时代落幕——但开源项目没那么容易死去。
我 fork 了 MinIO,恢复了管理控制台,重建了二进制分发管道,让它重获新生。
如果你正在使用 MinIO,只需要把 minio/minio 换成 pgsty/minio。其他一切照旧。(CVE 漏洞已修复,控制台 GUI 也回来了!)
死亡证明
2025 年 12 月 3 日,MinIO 在 GitHub 上宣布进入”维护模式”。我写了一篇《MinIO Is Dead》记录此事。
2026 年 2 月 12 日,MinIO 将仓库状态从”维护模式”更新为 “不再维护”,然后正式归档了仓库。只读状态。不接受 PR,不接受 issue,不接受任何贡献。一个拥有 6 万 star、超过 10 亿次 Docker 拉取的项目,变成了一块数字墓碑。
如果说 12 月是临床死亡,那么 2 月的这次提交就是死亡证明。
今天(2 月 14 日),一篇广泛流传的文章《How MinIO went from open source darling to cautionary tale》完整梳理了整个时间线。Percona 创始人 Peter Zaitsev 也在 LinkedIn 上表达了对开源基础设施可持续性的担忧。国际社区的共识非常明确:MinIO 完了。
不是”无人维护”——而是官方的、不可逆的,完了。
回顾过去 18 个月的时间线,这并非突然死亡,而是一场缓慢、有计划的谢幕:
| 日期 | 事件 | 性质 |
|---|---|---|
| 2021-05 | Apache 2.0 → AGPL v3 | 许可证变更 |
| 2022-07 | 起诉 Nutanix | 许可证执法 |
| 2023-03 | 起诉 Weka | 许可证执法 |
| 2025-05 | 社区版移除管理控制台 | 功能阉割 |
| 2025-10 | 停止二进制/Docker 分发 | 断供供应链 |
| 2025-12 | 宣布维护模式 | 生命周期终止信号 |
| 2026-02 | 仓库归档,不再维护 | 项目终结 |
一家估值 10 亿美元、融资 1.26 亿美元的公司,花了五年时间系统性地拆解了自己建立的开源生态。
但开源永存
通常故事到这里就结束了——大家叹口气,然后继续前行。
但我想讲一个不同的故事。不是讣告,而是复活。
MinIO Inc. 可以归档一个仓库,但他们无法归档 AGPL 授予社区的权利。
讽刺的是,AGPL 正是 MinIO 自己的选择。他们从 Apache 2.0 切换到 AGPL,是为了在与 Nutanix 和 Weka 的纠纷中将其作为筹码——保留”开源”标签的同时增加执法威慑力。但开源许可证是一把双刃剑——同样的许可证现在保证了社区 fork 的权利。
一旦代码以 AGPL 发布,许可证就是不可撤销的。你可以把仓库设为只读,但你无法收回已授予的许可证。
这就是开源许可证设计的精妙之处:一家公司可以放弃一个项目,但它无法带走代码。
所以——MinIO 死了,但 MinIO 可以重生。
话虽如此,fork 只是第一步。任何人都可以点击 Fork 按钮。真正的问题不是”我们能 fork 吗”,而是“真的有人能将其作为一个生产组件来维护吗?”
我为什么接手
我并非一开始就打算接手这件事。但在 MinIO 进入维护模式后,我等了几周,看看社区是否有人站出来。没有人。所以我自己做了。
简单介绍一下背景:我维护 Pigsty——一个开箱即用的 PostgreSQL 发行版,包含 451 个扩展,跨平台编译支持 14 个 Linux 发行版。我还维护着 270+ 个 PG 扩展的构建管道、几个 PG 分支,以及几十个 Go 项目(Victoria、Prometheus 等)的所有主流平台构建。在管道里再加一个项目简直是小菜一碟。
我也不是 MinIO 的新手。早在 2018 年,我在探探运维过一个内部 MinIO fork(那时候还是 Apache 2.0),管理着约 25 PB 的数据——当时中国最早、最大的 MinIO 部署之一。
更重要的是,MinIO 是 Pigsty 中一个真正的(可选)模块。许多用户在生产环境中将其作为 PostgreSQL 的默认备份仓库。
这不是可选项——必须有人来做。 早在 2025 年 12 月 MinIO 宣布维护模式时,我就已经自己构建了 CVE 修复版本。
pgsty/minio RELEASE.2025-12-03T12-00-00Z
我们做了什么
截至目前,三件事。
1. 恢复管理控制台
这是最让社区愤怒的改动。
2025 年 5 月,MinIO 从社区版中剥离了完整的管理控制台,只留下一个简陋的对象浏览器。用户管理、存储桶策略、访问控制、生命周期管理——一夜之间全部消失。想要这些功能?买企业版。(约 10 万美元)
我们把它带回来了。
讽刺的是:这甚至不需要逆向工程。你只需要把 minio/console 子模块回退到之前的版本。MinIO 做的事情本质上就是——换了一个依赖版本,用精简版控制台替换了完整版。代码一直都在那里。
我们把它放回去了。
2. 重建二进制分发
2025 年 10 月,MinIO 停止分发预编译的二进制文件和 Docker 镜像,只留下源代码。”用 go install 自己编译”——这就是他们的回答。
对于绝大多数用户来说,开源软件的价值不仅仅是一份源代码——供应链稳定性才是关键。 你需要一个稳定的制品,可以放进 Dockerfile、Ansible playbook 或 CI/CD 流水线——而不是每次部署前都要安装 Go 编译器。
我们重建了分发渠道:
- Docker 镜像:
pgsty/minio已在 Docker Hub 上线。docker pull pgsty/minio即可使用。 - RPM / DEB 包:为各大 Linux 发行版构建,匹配原始包规范。
- CI/CD 流水线:GitHub 上完全自动化的构建工作流,确保持续的供应链稳定。
如果你使用 Docker,只需把 minio/minio 换成 pgsty/minio。
对于原生 Linux 安装,可以从 GitHub Release 页面下载 RPM/DEB 包。你也可以使用 pig(PG 扩展包管理器)轻松安装,或者配置 pigsty-infra APT/DNF 仓库:
curl https://repo.pigsty.io/pig | bash;
pig repo add infra -u; pig install minio
一切照常运行。
3. 恢复社区版文档
MinIO 的官方文档也面临风险——链接开始重定向到他们的商业产品 AIStor。
我们 fork 了 minio/docs,修复了断链,恢复了被移除的控制台文档,并部署在这里。
文档使用与原版相同的 Creative Commons Attribution 4.0 许可证,所有内容均保留并持续维护。
我们的承诺和原则
有些事情需要提前说清楚,以设定正确的预期。
不加新功能——只保证供应链连续性
MinIO 作为 S3 兼容的对象存储,功能已经完备。它是完成的软件。它不需要更多花里胡哨的功能——它需要的是稳定、可靠、持续可用的构建。
我们要做的:确保你总能获得一个可用的、完整的 MinIO 二进制文件,包含管理控制台,CVE 已修复。 RPM、DEB、Docker 镜像——通过 CI/CD 自动构建,与你现有基础设施完全兼容。不再担心 docker pull 返回空或 yum install 找不到包。
这是生产级构建,不是存档
你可能会想:”这只是另一个备份 fork,对吧?” 不。MinIO 是 Pigsty 的生产组件,许多用户将其作为 PostgreSQL 备份仓库。我们使用自己的构建——如果出了问题,我们会第一个发现并第一个修复。我们在生产环境中已经自测这些构建三个月了。吃自己的狗粮是最好的 QA。
我们修复 Bug 并追踪 CVE
如果你遇到问题,欢迎在 pgsty/minio 报告——但请不要把它当成商业 SLA。我们以开源社区项目的方式运作,尽力而为。
考虑到 AI 编码工具大大降低了修复 bug 的成本,而且我们明确不添加任何新功能,我认为维护工作量是可控的。
商标问题棘手,但船到桥头自然直
商标声明:MinIO® 是 MinIO, Inc. 的注册商标。本项目 (pgsty/minio) 是一个基于 AGPL 许可证的独立维护的社区 fork。它与 MinIO, Inc. 没有任何关联、背书或联系。本文中使用”MinIO”仅指开源软件项目本身,不暗示任何商业关联。
AGPLv3 给了我们明确的 fork 和分发权利,但商标法是另一个领域。我们在所有地方都清楚标注这是一个独立维护的社区构建。
如果 MinIO Inc. 提出商标问题,我们会配合并重命名(可能是 silo 或 stow 之类的)。在此之前,我们认为在 AGPL fork 中使用原名称进行描述性使用是合理的——而且重命名所有 minio 引用对用户没有任何好处。
AI 改变了游戏规则
你可能会问:一个人真的能维护这个项目吗?
现在是 2026 年。情况不同了。AI 编码工具正在改变开源维护的经济学。
有了 Claude Code 这样的工具,在复杂的 Go 项目中定位和修复 bug 的成本已经下降了一个数量级。过去需要一个专门团队来维护复杂基础设施项目的工作,现在可以由一名经验丰富的工程师配一个 AI 副驾驶来处理。
想想看:Elon 把 X/Twitter 的工程团队缩减到约 30 人,系统仍然在运行。维护一个不增加新功能的 MinIO fork 远没有那么令人望而生畏——你主要需要的是测试和验证的能力。
Fork It
MinIO Inc. 可以归档一个 GitHub 仓库,但他们无法归档 6 万 star 背后的需求,也无法归档 10 亿次 Docker 拉取背后的依赖图。这种需求不会消失——它只是会找到出路。
HashiCorp 的 Terraform 被 fork 成了 OpenTofu,现在活得好好的。MinIO 的情况实际上更有利——AGPL 对 fork 比 BSL 更宽松,社区 fork 没有法律灰色地带。一家公司可以放弃一个项目,但开源许可证的设计初衷就是让代码不会死。
git clone 是开源世界最强大的咒语。当一家公司决定关门时,社区只需要两个字:
Fork it.
关键要点
- 开源许可证保护社区:AGPL 一旦发布就不可撤销,公司可以放弃项目,但无法带走代码
- 供应链稳定性至关重要:对于生产环境,稳定的二进制分发比源代码更重要
- AI 改变开源维护经济学:一个人配合 AI 工具可以维护过去需要团队的项目
- Fork 是开源的终极保障:当商业公司背弃社区时,fork 是项目延续的最佳途径
- 吃自己的狗粮:自测是最好的 QA,维护者自己使用才能保证质量
参考资料: