I’m also maintaining an open-source project and have spent significant time drafting our CLA, so I completely understand the concerns surrounding them.
While DCO is excellent for tracking provenance, we opted for a CLA primarily to address explicit patent grants and sublicensing rights—areas where a standard DCO often lacks the comprehensive legal coverage that a formal agreement provides.
It’s a common and sustainable practice in the industry to keep the core code open-source while developing enterprise features. Without a solid CLA in place, a project faces massive legal hurdles later on—whether that’s for future commercialization or even the eventual donation of the project to an open-source foundation like the CNCF or Apache Foundation. We're just trying to ensure long-term legal clarity for everyone involved.
Fair point on the frequency of my comments, but there’s a nuance to the CLA discussion. Even with Apache 2.0, many major projects (like those under the CNCF or Apache Foundation) require a CLA to ensure the project has the legal right to distribute the code indefinitely.
My focus on the CLA is about building a solid foundation for RustFS so it doesn't face the licensing "re-branding" drama we've seen with other storage projects recently. It’s about long-term stability for the community, not just a marketing ploy.
Simply forking it won't work. The legal risks have been well-documented. Under their AGPL + Commercial model, the moment your fork gets too popular, MinIO can just shut you down. This is exactly why the smart money and talent have already moved on to systems like RustFS, SeaweedFS, and Garage instead of trying to maintain a doomed fork.