The search for MinIO alternatives starts from a date. MinIO's open-source repository was archived on 25 April 2026, and MinIO now sells its object store as AIStor under a commercial license [5, 6]. This research compares six open-source projects that serve self-hosted S3-compatible storage, the Ceph Object Gateway (RGW), SeaweedFS, RustFS, Garage, Apache Ozone and OpenStack Swift, from each project's own documentation and license as viewed on 8 and 9 November 2026. It measures no performance and uses no vendor benchmark.
What changed with MinIO's open-source edition
MinIO's own commits and pages date each step.
| Date | What changed |
|---|---|
| 23 April 2021 | The license changed from the Apache License 2.0 to the GNU AGPL version 3 [1] |
| 15 October 2025 | The community edition became source only, with no pre-compiled binaries [2, 3] |
| 16 October 2025 | RELEASE.2025-10-15T17-29-55Z was published, and no later release is listed [30] |
| 3 December 2025 | Maintenance mode: no new features, enhancements or pull requests [4] |
| 12 February 2026 | The README opened with "THIS REPOSITORY IS NO LONGER MAINTAINED." [2, 36] |
| 25 April 2026 | GitHub marked the repository archived and read-only [5] |
MinIO's pricing page now describes the AGPLv3 codebase as "frozen, with no new features, bug fixes, or security patches" [6]. Security fixes after the freeze go to AIStor [6, 7]. MinIO's advisory for CVE-2026-41145, published on 14 April 2026 and rated high, describes a flaw that lets anyone who knows a valid access key write objects to any bucket without the secret key. It covers every open-source release from RELEASE.2023-05-18T00-05-36Z onward and lists its fix only in an AIStor release [7].
AIStor comes in three tiers [6]. Free and Enterprise Lite joined Enterprise on 23 December 2025 [31]. Free is the full feature set on a single node, with redistribution prohibited [6]. Enterprise Lite is multi-node and self-supported below 400 TiB [6, 31]. Enterprise adds 24/7/365 support with a <4-hour SLA [6, 31]. Prices are based on usable capacity, and MinIO publishes no list prices [6].
MinIO alternatives compared
Each project describes itself in its own documentation, and the table restates those descriptions.
| Project | License | How it protects data | Also serves |
|---|---|---|---|
| Ceph Object Gateway (RGW) | LGPL 2.1 or 3 [19] | Writes into the pools of a Ceph cluster, chosen per bucket and storage class [18] | Block devices and a file system from the same cluster [17] |
| SeaweedFS | Apache 2.0 [13] | Replicates hot data and erasure-codes warm data in the background [13] | A POSIX file system, WebDAV, SFTP and table buckets [13] |
| RustFS | Apache 2.0 [14] | Erasure sets, under topology rules that follow MinIO's [14] | The Swift API, FTPS, WebDAV and SFTP [14] |
| Garage | AGPL version 3 [22] | Whole copies only, with erasure coding left out by design [16] | No file system, since POSIX compatibility is a non-goal [16] |
| Apache Ozone | Apache 2.0 [20] | Replication and erasure coding [51] | Hadoop ecosystem integration [51] |
SeaweedFS runs from one binary, with volume servers that store blobs and filer servers that add directories, files and the S3, WebDAV, SFTP and FUSE interfaces [13]. Its README also points to a SeaweedFS Enterprise Edition [13]. RustFS published its 1.0.0 release on 16 September 2026 and 1.0.4 on 25 October 2026 [47]. Garage is built for several sites joined by regular Internet connections and is developed by Deuxfleurs, a non-profit [16]. Apache Ozone serves S3 through a separate S3 Gateway component [15]. OpenStack Swift publishes a matrix of the S3 calls its S3 API answers, beside its own Swift API [29].
Ceph RGW vs MinIO
The Ceph Object Gateway is an HTTP server, radosgw, built on librados. It gives applications an interface compatible with "a large subset of the Amazon S3 RESTful API" and with a large subset of the Swift API, in one shared namespace [17]. The same cluster stores data for Ceph's block devices and file system [17]. Placement targets tie each bucket to pools when it is created, and lifecycle rules move objects between storage classes, each of which names a data pool [18]. In a multi-zone setup, zones in separate Ceph clusters each accept writes, and a bucket's data replicates to the other zones of its zonegroup [39].
MinIO's AIStor groups drives into erasure sets of 2 to 16 drives by default, fixed when a server pool initializes [28]. Ceph publishes named stable releases with dated end-of-life estimates. Umbrella, 21.2.0, came out on 28 October 2026 with an estimated end of life on 1 June 2028, and Squid's estimate is 2 December 2026 [37]. Ceph's code is licensed LGPL 2.1 or 3 [19].
Ceph's hardware guide recommends one drive for each Ceph OSD Daemon, a minimum OSD size of 1 TiB, at least 4 GB of RAM per ceph-osd daemon, and SSDs for the gateway's index and log pools when bucket data sits on hard drives [40]. Umbrella's container images need CPUs at the x86-64-v3 level [38]. On Kubernetes, Rook configures the Ceph object store, and the Cloud Native Computing Foundation (CNCF) graduated Rook on 7 October 2020 [43, 44].
Rillor's distributed storage work designs and builds Ceph clusters whose object gateway serves self-hosted S3-compatible buckets, with versioning, for datasets, model weights and checkpoints, next to block volumes and shared file systems from the same cluster. What datasets, checkpoints and weights each ask of storage is set out in storage for model training.
What "S3-compatible" covers
AWS lists 116 Amazon S3 actions, counted for this report on 8 November 2026 [8]. Each project publishes its own subset. Versioning keeps each version of an object under its own version ID, and object lock holds objects under a retention mode [11]. Ceph's S3 table marks 27 of 28 features supported and bucket replication partial, permitted only across zones [9]. SeaweedFS counts 73 S3 bucket and object operations, plus IAM and STS calls [13]. RustFS states that it "does not claim complete coverage" of S3 behavior [46]. Garage answers 501 Not Implemented for every endpoint it lacks [10].
| Feature | Ceph RGW | SeaweedFS | RustFS | Garage |
|---|---|---|---|---|
| Versioning | Supported [9] | Listed [13] | Available [14] | Missing [10] |
| Object lock | Governance and compliance modes, set at bucket creation [11] | With retention and legal hold [13] | Available [14] | Missing [10] |
| Server-side encryption | SSE-C, SSE-KMS and SSE-S3 [12] | SSE-S3, SSE-KMS and SSE-C [13] | Available [14] | SSE-C only [10] |
| Lifecycle rules | Supported [9] | Listed [13] | Available [14] | Expiration and multipart cleanup only [10] |
| Access policies | ACLs and bucket policies [9] | Bucket policies, IAM and STS [13] | IAM and policies [14] | Its own per-key, per-bucket permissions [10] |
Apache Ozone's S3 gateway lists bucket versioning, object locking and server-side encryption as not supported [15]. Swift's matrix answers yes for versioning and no for bucket notifications, lifecycle, bucket policy and object tagging [29].
Licenses: AGPL, Apache 2.0, LGPL and commercial
Garage and MinIO's archived edition carry the GNU AGPL version 3 [5, 22]. Section 13 of that license says a modified version must offer all users who interact with it remotely over a network a chance to receive its Corresponding Source [23]. SeaweedFS, RustFS, Apache Ozone and OpenStack Swift use the Apache License 2.0 [13, 14, 20, 21], which has no such clause and grants each contributor's patent license in its section 3 [52]. Ceph's code is LGPL 2.1 or 3, with its documentation under CC-BY-SA-3.0 [19]. AIStor is commercially licensed [6]. These are summaries of the license texts, not legal advice on any deployment.
Moving data off MinIO
Buckets move between S3-compatible stores at the S3 level. rclone's S3 backend lists "Ceph", "Minio", "SeaweedFS" and "Other" among its providers, and for Ceph it says to leave the region blank and set the endpoint [24]. No source reviewed states what such a copy carries over, whether object versions, object lock retention or encryption.
RustFS adds an on-disk path that runs one way, MinIO to RustFS. Its interoperability document says the default build reads MinIO's unencrypted objects, and objects MinIO encrypted with SSE-S3 or SSE-KMS read only in the opt-in rio-v2 build, with the shared master key [25]. Its README instead says MinIO on-disk compatibility is not part of the default build and that objects MinIO encrypted are not readable by RustFS [14]. RustFS marks MinIO on-disk compatibility as a preview feature [14].
Choosing among the alternatives
The comparison comes down to the S3 features the workload calls, the terms of the license, the protection model and what it fixes at setup, and the other storage types the same team needs [9, 14, 16, 18, 28]. Where checkpoints sit affects cost as well: the research on training on spot GPUs counts checkpoint egress among the costs of moving training across regions. The same self-hosting question on the serving side is worked through in self-hosted LLM vs API cost, which sets a break-even utilization.
Read the full report
The full report adds each project's feature list with its sources, the MinIO advisories and where MinIO's own pages disagree, release dates and support windows, Kubernetes paths and RustFS's one-way migration rules by build.

