Be Warned: MinIO (popular open source object storage) may change its License from Apache to AGPL! (Update: MinIO bare-metal server will continue to be Apache V2)

Wubaoqi
3 min readDec 2, 2020

--

Photo by Matthew Henry on Unsplash

Update at 2021–01–13: just learned from MinIO’s author Harshavardhana “MinIO is 100% open-source and released under the FOSS licenses. MinIO for multi-tenancy which is based on K8s operator is available under AGPL along with other services like sidekick (sidecar load-balancer), Key management store to manage your encrypted objects, etc. MinIO server for bare-metal or single-tenant is released under Apache v2.0” (check this post’s responses for details), Thanks for your correction, and thanks for your great work at MinIO!

AWS S3 is a really great product. Amazon build a Cloud Computing Empire from S3. S3 is so cheap while still have a very high availability, so, no surprise it becomes so popular.

Although we know public cloud is the to-go place for future IT systems, but we still have many customers who are not go to public cloud yet.

So, we want to support both AWS and on premise. The first question is: is there any open source Object Storage having the same API with S3.

Yes, there is MioIO. It opens sources in: https://github.com/minio/minio

What I like about MinIO:

  1. it is open sourced under Apache License, so you can use it in commercial projects/products
  2. it is very simple, for basic single node setup, you just spawn the executable, then it works.

It is not because:

  1. whether it is fast
  2. whether it has few bugs

And because its Apache License and simple to use, it gain very popular in those days.

But I’m afraid this may be changing.

As a fans of MinIO project, I often:

  1. go to check their website https://min.io to check updates
  2. recommend MinIO to several friends to replace in house NFS

But when I find some clue in there website that they may changing license from Apache to more restrictive AGPL, I became very disappointed and feel like cheated.

Because:

  • if it is Apache License, which is a business friendly license, you can use it in commercial projects, and you can also redistributed it with your own commercial products. (You need include the License.txt in your distributions)
  • but if it is AGPL license, basically it means you can not use it in commercial projects/products.

My description is not accurate, what is mentioned in their website ( https://min.io/pricing):

and in the FAQ in the same page:

What are the licensing options available for the MinIO object storage suite?

* Commercial License

* Apache Software License v2 Open Source license and GNU AGPL v3 Open Source license

Yes, MinIO may change to use Both “Apache” and “AGPL”, please note the tricky word “and”, so we need to obey AGPL.

Although MinIO also provide Commercial License, it is based on Per Storage TB/Per Month subscription, and once you stop the subscription, you cannot use MinIO to hold existing data any more. And, this billing model makes we can not build MinIO into part of other redistribute commercial products.

I really know, as open source developers (I also contributed to several Apache licensed projects), we may wish to find some way to earn money by open source software. I think it would be fine if you still provide basic product with Apache License, but offer some advanced value-add features in commercial license. But if change a product from originally Apache License to AGPL and Commercial license, it would fail your existing open source users.

Since the Github page https://github.com/minio/minio still mentions Apache License, so I don’t know whether it will be AGPL, so I maybe wrong in this article (And I really hope I was wrong). But at meantime, I begin to search for some more permissive alternatives to MinIO. Do you have any recommendations? Thank!

--

--