当前位置:首页 > 科技资讯 > 正文

MinIO宣布进入维护模式,开源与商业的双重挑战

一个拥有近60k个GitHub Star的明星开源项目——高性能分布式对象存储服务MinIO,于12月3日突然变更其开源策略,宣布项目进入“维护模式”:这个代码库未来只进行维护性更新,不再提供新功能改进,现有的Issue、PR将不再被主动处理。

这一消息一出,引起了许多人的惊讶。一时间,社区内各种反应不断。

有人表示理解,有人则感到困惑,也有人提出批评。甚至有社区论坛直接判定“MinIO已死”,并创建了「RIP MinIO」的帖子,以表达不满。

MinIO宣布进入维护模式,开源与商业的双重挑战 MinIO 维护模式 开源项目 商业化 第1张

那么,这个在许多对象存储场景中仍被广泛使用的项目,为什么会做出这样的选择?让我们一起探讨。

一个下载量高达10亿次的开源项目成长历程

对于MinIO的成长历程,相信很多技术人都曾见证。MinIO最初成立于2014年,由Anand Babu Periasamy、Garima Kapoor和Harshavardhana等人共同创立,旨在应对私有云/混合云环境中对高性能对象存储的需求。

当时,企业云存储需求快速增长,AWS S3成为事实标准,但许多企业希望在本地或私有云环境中使用类似S3的对象存储。在此背景下,MinIO应运而生。

MinIO团队选择用Go语言开发,设计为一个轻量、高性能且与Amazon S3 API完全兼容的对象存储服务。这使得依赖S3的应用或基础设施能更顺畅地迁移到自建环境或私有云中。

同时,MinIO从一开始就采用Apache License 2.0开源协议,方便开发者和企业自由使用。因此,它迅速在开发者社区和企业用户中流行起来。

数据显示,MinIO在开源社区方面表现活跃:它拥有超过1,400个依赖包,在GitHub上拥有约58.9K Star和6.5K Fork。在Docker Hub上,MinIO镜像下载量已超过10亿次。在国内市场,MinIO被阿里巴巴、腾讯、百度等超过9,000家企业采用。

MinIO此前的三次变化

然而,近来MinIO的“想法”逐渐改变,导致后续动作频频。它先后变更了项目的开源协议、删除开源版本中原有的一些功能以及停止社区版二进制分发,逐渐与开源理念背道而驰,并向商业化战略靠拢。

一变:开源协议从Apache 2.0变为APGLv3

MinIO原本采用Apache 2.0,允许用户自由使用、修改和再发布。但2019年,MinIO决定把开源协议改为APGLv3,要求服务提供者必须开放源代码。

理由是随着项目流行度提升,部分大公司可能直接用MinIO做商业SaaS或云服务,而几乎不贡献回社区。这导致MinIO的维护面临巨大资源压力。变更协议是希望能保障项目利益和社区贡献。

尽管存在争议,但MinIO最终在2021年完成协议变更。

二变:删除开源版部分功能

今年5月,MinIO团队再次“出手”,在当时的Minio CE版本中删除了控制台管理功能。理由是为了降低免费版本的维护成本并推动企业版商业化。

社区版用户仍可通过源码自行构建控制台或使用第三方工具,但官方不再提供现成的管理界面。

三变:停止社区版二进制分发

今年10月,MinIO官方宣布“停止分发免费的Docker镜像”。在GitHub项目中的README中写道:

仅源码分发

重要提示:MinIO社区版现在仅以源码形式分发。我们将不再提供社区版的预编译二进制版本。

安装最新版MinIO社区版

使用MinIO社区版有两种方式:

1. 从源码安装(推荐):go install github.com/minio/minio@latest

2. 使用提供的Dockerfile构建Docker镜像

旧版二进制发布

  • GitHub Releases: https://github.com/minio/minio/releases
  • 直接下载: https://dl.min.io/server/minio/release/

这些旧版二进制不会再收到更新。我们强烈建议使用源码构建以获得最新功能、漏洞修复和安全更新。

MinIO宣布进入“维护模式”意味着什么?

如今,这是MinIO第四次也是最后一次调整其开源项目的发展方向,直接进入了“维护模式”。

“维护模式”指的是开发重心从持续推出新功能转向确保现有功能稳定可靠。

  1. 项目成熟:功能稳定,已满足大部分用户需求。
  2. 开发者资源有限:原作者或核心团队希望减少工作量或投入新项目。
  3. 生态被替代:新技术或框架出现,原项目不再是首选但仍有用户。
  4. 战略选择:避免频繁更新带来的不稳定风险。

那MinIO进入“维护模式”属于哪种情况?

  • 代码库仅进行维护性更新
  • 不接收新功能、增强或Pull Request
  • 关键安全修复可能评估
  • 现有issue和Pull Request不再主动处理
  • 社区支持通过Slack尽力而为

开源与商业的双重挑战

归根结底,这是开源与商业可持续性之间长期存在的矛盾。

对于MinIO官方的操作,许多人并不意外。不过,这几乎也为MinIO 11年的开源生涯画上了句号。

参考: