AGPL: an ambiguous pile of crap

I need an object storage solution for SacMusic’s local development. I was looking at MinIO, but their take on the AGPL is pretty dang viral:

Combining MinIO software as part of a larger software stack triggers your GNU AGPL v3 obligations.

The method of combining does not matter. When MinIO is linked to a larger software stack in any form, including statically, dynamically, pipes, or containerized and invoked remotely, the AGPL v3 applies to your use. What triggers the AGPL v3 obligations is the exchanging data between the larger stack and MinIO.

Compare this to MongoDB’s interpretation of the AGPL:

To say this another way: if you modify the core database source code, the goal is that you have to contribute those modifications back to the community.

Note however that it is NOT required that applications using mongo be published.  The copyleft applies only to the mongod and mongos database programs.  This is why Mongo DB drivers are all licensed under an Apache license.  You application, even though it talks to the database, is a separate program and “work”.

Totally opposite takes. No one seems to agree.

This is useless. There’s never been a court case that has forced clarification of what constitutes a “covered work” in the AGPL v3. And there’s likely not going to be a Google or a Microsoft going to court to clarify: the consequences of all services that touch AGPL code becoming open source would be devastating to their respective businesses.

Meanwhile, free software folks in the Hacker News threads are accusing companies like Google that avoid AGPL of spreading “FUD” to undermine open source. I’m not sure if they all actually believe that: I suspect that at least some believe in its vitality and are hoping to put companies in a “gotcha” situation to advance their fight for free software.

So the AGPL v3 has become the Schrödinger’s cat of licenses: it’s totally fine to use with your proprietary software as long as the licensed software is unmodified, or it will literally destroy your business. It exists in a super position, inhabiting both states at once until we open the box in the US federal court.

Useless.


Update: Jim Salter has a blog post on the Klara website that says I can use MinIO without worrying so long as I don’t modify its code. It’s still murky, but Jim’s opinions are usually pretty dang solid.

Leave a comment