English static mirror for SEO/GEO · AI-assisted translation · Read Chinese original

RustFS: A Rust-based, Apache 2.0 Alternative to MinIO's AGPL S3 Storage

Forum topic · ✨步子哥 · 2026-09-18

Summary

RustFS is an emerging open-source distributed object storage system written in Rust and released under the permissive Apache 2.0 license, positioned as a drop-in alternative to MinIO, which uses the restrictive AGPLv3 license. Because AGPL triggers open-source obligations even for network-delivered services, many enterprises (including Google, Alibaba, and Tencent) restrict AGPL dependencies, limiting MinIO's adoption despite its popularity. RustFS offers full S3 API compatibility, distributed and single-node modes, versioning, WORM object locking, server-side encryption, erasure coding with self-healing, bucket and site replication, IAM/OIDC integration, and a preview of S3 Tables (Iceberg REST Catalog) for data lake workloads. Its Rust implementation provides compile-time memory safety and zero-cost abstractions, though the main differentiation is commercial (Apache 2.0) combined with security (Rust). The project remains early-stage with a small community but has published benchmarks comparing throughput against MinIO on constrained 2-core/4GB hardware.

Why MinIO's AGPL License Is a Problem

MinIO is a popular, Go-based, S3-compatible object storage system—but it ships under AGPLv3. Unlike GPL, which triggers open-source obligations only on distribution, AGPL also triggers when software is offered as a network service. In theory, running a public-facing S3 service on MinIO could require open-sourcing your entire server-side codebase, including business logic. Google bans AGPL dependencies internally, and Chinese tech giants (Alibaba, Tencent, ByteDance) maintain similar red lines.

Alternatives are limited: Ceph is heavy and complex, AWS S3 is expensive, and self-building is infeasible for most teams. This gap is what RustFS targets: a MinIO-equivalent rewritten in Rust, released under Apache 2.0.

What Is RustFS?

RustFS is an S3-compatible distributed object storage system written in Rust, under Apache 2.0. Its two differentiators reinforce each other:

1. License: Apache 2.0 (permissive, business-friendly) vs. MinIO's AGPLv3 2. Language: Rust (memory safety, zero-cost abstractions) vs. Go (GC + runtime)

Feature Matrix vs. MinIO

| Feature | RustFS | Notes | |------|--------|------| | S3 Core API | ✅ | Full S3 compatibility | | Distributed / single-node modes | ✅ | Scale out or minimal deploy | | Versioning | ✅ | Object history | | Object Lock (WORM) | ✅ | Compliance retention | | Server-side encryption | ✅ | SSE-S3 / SSE-KMS | | Bitrot protection | ✅ | Silent corruption detection | | Erasure coding + self-healing | ✅ | Data redundancy | | Bucket & site replication | ✅ | Cross-region sync / DR | | Lifecycle management | ✅ | Auto-tiering/expiry | | IAM / OIDC / SSO | ✅ | Enterprise identity integration | | Swift API, SFTP/FTPS/WebDAV | ✅ | Multi-protocol | | Kubernetes Helm | ✅ | Cloud-native deployment | | S3 Tables (Iceberg REST) | 🧪 Preview | Data-lake native |

S3 Tables: Toward Data-Lake-Native Object Storage

AWS re:Invent 2024 introduced S3 Tables, natively integrating the Iceberg table format so S3 itself manages table metadata and manifests—removing the need for separate catalog services like Glue, Nessie, or Polaris. RustFS brings this to open source: its Iceberg REST Catalog–compatible implementation lets PyIceberg, DuckDB, and Spark connect directly, without AWS. The feature is in Preview, but the direction is clear: object storage is evolving from "storing files" to "storing tables."

Bitrot Protection

Object data silently corrupts: individual bits flip on disks/SSDs without filesystem detection, and backups faithfully copy the corruption. At petabyte scale, hundreds of bits may flip daily. RustFS computes SHA-256 or Highway Hash checksums per object block and verifies on read, mirroring MinIO's approach—Rust's std::simd makes SIMD-accelerated hashing easier than Go's assembly/cgo route.

Rust vs. Go: The Language Choice

  • Go strengths: fast development, mature concurrency (goroutines/channels), rich ecosystem, single-binary deployment
  • Rust strengths: compile-time memory safety (no data races), zero-cost abstraction, no GC pauses, direct system access
Since object storage is I/O-bound, RustFS's motivation is likely less raw performance than memory safety—eliminating buffer overflows and similar bugs in a system handling user data, authentication, and public APIs. The strategy: Apache 2.0 solves the commercial problem; Rust solves the security problem.

Benchmarks

RustFS's README embeds a stress-test video comparing throughput against MinIO on intentionally modest hardware: 2-core Intel Xeon Sapphire Rapids 8475B, 4GB RAM, 15Gbps network, 4×40GB SSDs. On constrained hardware, Go's GC pauses become more frequent, favoring Rust. MinIO has not publicly responded.

The License War: AGPL vs. Apache 2.0

> RustFS is released under the permissible Apache 2.0 license, avoiding the restrictions of AGPL.

This is a business statement, not a technical one. AGPL advocates (MongoDB, Elastic, MinIO) see it as protection against cloud vendors monetizing open source without contributing back; Apache 2.0 advocates argue AGPL scares off enterprise adopters. Precedents are mixed—Elastic's move to AGPL led to the OpenSearch fork, while MongoDB's shift to SSPL preceded stock gains. RustFS's choice is pragmatic: it wants enterprise adoption, not license purity.

The Rust Moment for Object Storage

Rust has steadily absorbed C/C++ territory: the Linux kernel, Windows kernel, Cloudflare's Pingora, AWS's Firecracker. Object storage is next. As the foundation of Kubernetes persistent volumes, AI training pipelines, and data lakes, a shift from Go to Rust raises the memory-safety bar for the whole cloud-native stack.

RustFS is early-stage (298 stars vs. MinIO's 50k+), but the combination of Apache 2.0 + Rust + S3 compatibility + Iceberg REST is unique in the field. For teams avoiding AGPL, it's a project to watch.

---

Project: https://github.com/rustfs/rustfs Docs: https://docs.rustfs.com/ License: Apache 2.0 | Language: Rust | Stars: 298 (GitHub Trending, 2026-09-18)

Tags

#rustfs#minio#object-storage#rust#agpl#apache-2.0#s3-compatible#apache-iceberg

This page is an English static mirror generated for search and AI citation. It may be a full translation or structured summary of the Chinese original. Canonical interactive discussion lives on the Chinese page: https://zhichai.net/topic/178634962