Live data from Hacker News

Minio Changes License to AGPL

github.com

131–140 of 150 posts

Re: Minio Changes License to AGPL

#131
post #93
post #83

Earlier quoted context omitted.

Some companies have no AGPL policy. e.g : https://opensource.google/docs/using/agpl-policy/

The entire CNCF apparently has a no AGPL policy. We just found out this week that we cannot update and redistribute Grafana anymore with our CNCF projects, (or if we do we will be on very shaky legal footing.)

For anyone else wondering: Cloud Native Compute Foundation https://www.cncf.io/

> a Linux Foundation project that was founded in 2015 to help advance container technology[1] and align the tech industry around its evolution.

> It was announced alongside Kubernetes 1.0, an open source container cluster manager, which was contributed to the Linux Foundation by Google as a seed technology. Founding members include Google, CoreOS, Mesosphere, Red Hat, Twitter, Huawei, Intel, Cisco, IBM, Docker, Univa, and VMware

-- https://en.wikipedia.org/wiki/Cloud_Native_Computing_Foundat...

Re: Minio Changes License to AGPL

#132
post #23

Earlier quoted context omitted.

Based on [1] it sounds like even if you "link" to AGPL licensed code over a network, unmodified or not, it would require you to also license your own code as AGPL? That sounds pretty far reaching, if I'm reading it correctly. [1] https://softwareengineering.stackexchange.com/a/107931/28221

I didn’t downvote you. No, that’s not the case. Here’s a better explanation: https://writing.kemitchell.com/2021/01/24/Reading-AGPL.html Basically, if you ever need to use agpl stuff, do not embed or add your proprietary ip to a modified version. Use a sidecar. Only embed features you don’t care about.

I don't think that essay supports what you said. (It's incredibly well written by the way, thanks for linking it.) Near the end it asks:

> If you build a larger web service by combining network services that call each other over HTTP, rather than libraries or snippets of code linked or pasted together, does “Corresponding Source” include the source for those other services? What if each service is containerized, encapsulated in its own operating system? Do those operating systems count as “System Libraries” or “generally available programs” shield the application code they run?

Note that the author is asking a question here. It's not entirely clear (AFAIK, IANAL, etc) what precisely constitutes "linking" when it comes to the (A)GPL.

A thought experiment. Evil Corp takes a GPL licensed program and modifies it to communicate via file descriptors instead of linking with it at compile time and directly calling its functions. They proceed to distribute a separate proprietary product that makes use of the GPL program for many of its core functions. They claim that this isn't a violation of the GPL because they haven't "linked" with any GPL'd code. This is clearly a violation of the spirit of the GPL, but is it a violation of the letter?

Re: Minio Changes License to AGPL

#133
post #29

Earlier quoted context omitted.

Correct - you would need to open source your entire app (or at least a strong arguement can be made that you must do so). "The primary risk presented by AGPL is that any product or service that depends on AGPL-licensed code, or includes anything copied or derived from AGPL-licensed code, may be subject to the virality of the AGPL license. " Almost all larger places have very strict bans on evening touching AGPL - htt…

> you can look at the code, but can't use it in your own projects unless they are open source too or pay for the commercial license. Please, stop spreading ridiculous FUD. You can use copylefted code in your own projects without any restriction. It is only when you distribute this copylefted code (e.g., by letting users run it in your computer) that you need to publish your modifications to it. And then, this is only…

> this is only relevant when you have modified the copylefted code

If I write a program that uses a GPL licensed library but never modify that library, it still infects my entire program. I have created a derivative work under copyright law. It doesn't matter that I never modified the original code that I received.

So if my proprietary SaaS web app makes use of an unmodified AGPL licensed library in order to perform a single computation ...

Re: Minio Changes License to AGPL

#134
post #124

Earlier quoted context omitted.

I'm not conflating anything. > 1. Re-licesing the whole project is absolutely a thing. Again, it's really not. Seriously. I don't like the idea of asking someone else to waste their time over a simple disagreement, however you're publicly providing incorrect advice and it's harmful. Thus, please point me to something, anything with some legal bearing that mentions relicensing. What you mean is "sublicense". They're f…

Now I'm just confused. Do you believe it is okay for minio to unilaterally - and without prior permission from contributors - change the license of their project to the AGPL while also preserving the license of thirdparty Apache-licensed contributions? If you do, then we are in complete agreement. If you do not, do you believe that there are two distinct copyrightable works involved here? (the individual Apache-licen…

He gets an F for effective communication from me, but he's technically correct by my reading. They can sublicense (which creates a weird franken-license) but they can't (unilaterally) relicense.

Without a CLA in place Minio can't unilaterally "change the license to the AGPL" (your words). What they can do is add the terms of the AGPL to each existing file, in addition to (but not instead of!) the Apache terms that are already there. The end result is AGPL with a few extra but very permissive clauses tacked on.

Going forward, any newly created files need not carry the Apache terms at all (obviously).

The changesets prior to this event remain licensed under _only_ the Apache license. (Well, actually, they could sublicense those too but there'd be no point because you could just get an unmodified copy from someone else.) Future changesets fall under the combined terms of the Apache and AGPL licenses. To be clear, this isn't dual licensing (ie pick one) but rather "all of the above". You simultaneously have to comply with all the terms from both licenses. Which, notably, means you can't remove the Apache notice or list of contributors (among other things).

Re: Minio Changes License to AGPL

#135
post #93
post #83

Earlier quoted context omitted.

Some companies have no AGPL policy. e.g : https://opensource.google/docs/using/agpl-policy/

The entire CNCF apparently has a no AGPL policy. We just found out this week that we cannot update and redistribute Grafana anymore with our CNCF projects, (or if we do we will be on very shaky legal footing.)

Why? Is there some document going into more detail ?

Re: Minio Changes License to AGPL

#136
post #101

Earlier quoted context omitted.

"You can't relicense something that is Apache 2.0 as AGPL. You need explicit approval of every single contributor" is false. Anyone can take an existing Apache 2.0 project and change the license to AGPL 3.0. This does not require the approval of any prior contributor. Of course people can continue using versions released under Apache 2.0 under the terms of that license, but even then "approval of every single contrib…

> Anyone can take an existing Apache 2.0 project and change the license to AGPL 3.0. No, you cannot. The very page you've linked to makes this clear: > Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works This is precisely what I've written. You can also apply the AGPLv3, you cannot remove the Apache 2.0. The contributions made under Apache 2.0…

You're reading it wrong.

If we were to read this like a piece of computer code, the incompatibility would be mutual. GPL code does not permit further restrictions. "You cannot remove Apache 2.0" would be a further restriction. Ergo, you couldn't incorporate.

It's just that this isn't how you read or interpret legal text.

The linked page is correct. You can incorporate/sublicense Apache code into GPL code. You can't do the reverse.

Re: Minio Changes License to AGPL

#137
post #49

Earlier quoted context omitted.

> You only have a problem if you modify anything in the source code of minio that you host. And even in that case, you only need to share your modifications of minio, not anything about the rest of your system. Doesn't seem too much of a problem, to begin with.

A lot of companies I've worked for had a blanket ban on AGPL. This is not a problem with the license, it's a problem with those companies. But it's still going to be a pain for the people who work there.

> This is not a problem with the license, it's a problem with those companies. But it's still going to be a pain for the people who work there.

This sounds like a general problem, unrelated to licensing. If you work in companies with shitty policies, you are in for a world of pain.

Re: Minio Changes License to AGPL

#138
post #96

Earlier quoted context omitted.

IANAL, but you're obviously not one either. A lot of what you said is false. You don't read legal text like a piece of code. Contracts and licenses don't work like that. It took me a long time to wrap my head around this. Contracts and licenses are built on: 1) Things need to be substantially the same. If I offer to build a house for you with Brand X super-plywood flooring, and it's sold out, I can build it upgraded…

On the topic of software engineers exhibiting poor comprehension... > IANAL, but you're obviously not one either. That ought to have been clear from the first two sentences of my comment. > I can't imagine any court will care about 4b being on a per-file versus per-repo basis. You can imagine all you like. I'll leave that to the courts themselves. Suggesting people (even with a superfluous IANAL disclaimer) make lega…

Most of this is nonsense, but I'll point out a few things:

> "Infringement and damages are unrelated concepts"

No. They're the same concept. Infringement is okay if there are no damages. That's how a lawyer reads a contract. You're merely confusing types of damages. There are many ways to calculate damages. You're describing statutory damages. You usually run the calculation all ways, and take the greatest number which applies (but not always). That's how you might get into hundreds of thousands of dollars of damages for an MP3 collection.

> "unless you're sitting down with a lawyer (which let's face most open source projects are not)"

No, this isn't right. Most major free software projects do have access to lawyers. I've worked on several, and what I did was always reviewed by in-house counsel (and not just one organization). Even if there isn't a corporate sponsor, that's what a lot of the free software / open source not-for-profits do. I've had conversations with volunteer counsels too. Most minor projects generally won't need a sit-down session with a lawyer, but if they want access for whatever reason, it's not rocket science either:

1) Look into your social network. I have 3 or 4 lawyers who went to the same college I did. When I have a legal question, I do call them up. For something as simply as the nonsense you're spouting, any lawyer can set you straight.

2) If you are doing work at a company above a hundred people, it will have an in-house counsel. Shoot them a quick email. Most are friendly; that's what they're there for.

3) If you're not (1) or (2), you probably have someone like me in your network.

4) And if all else fails, you can go to the right meetup.

My experience is that for a volunteer project, open source, or similar, most lawyers are glad to chat.

> "Just read the damn license"

This is just about the worst advice on HN. Your options:

1) Read the license with a lawyer

2) Read the license as well as articles from actual lawyers about the license

3) Learn enough about law to read the license correctly.

You're misreading the licenses, and that's what's dangerous. It's kind of like referring people to WebMD over a doctor.

Re: Minio Changes License to AGPL

#139
post #135
post #93

Earlier quoted context omitted.

The entire CNCF apparently has a no AGPL policy. We just found out this week that we cannot update and redistribute Grafana anymore with our CNCF projects, (or if we do we will be on very shaky legal footing.)

Why? Is there some document going into more detail ?

https://github.com/cncf/foundation/blob/master/allowed-third...

I haven't read the details, or ever seen this policy before (I'm new to both projects) but it was summarized by one of our counterparts at the Linux Foundation here:

https://twitter.com/cra/status/1384859663615864833

Tl;dr: licenses must be approved for use, and the CNCF has this list of allowed licenses, AGPL is not on it. The CNCF is in the business of distributing permissively-licensed software is the short version I guess. I don't understand, I don't work on the legal side, I am a dev and I support end users.

It seems if your Apache 2.0 licensed project needs to modify and distribute as modified an AGPL project, (which for Grafana it seems likely we will need to do at some point, the Linkerd project already has needed to do this if I understood correctly) then you cannot distribute them together, or something about this becomes much more complicated. Chris says they are going to try to work something out, but when a component has made a decision to re-license with a restrictive-copyleft license such as AGPL,

I don't know what there is that can be done to fix it. I hope they come up with something.

Maybe the CNCF adopts AGPL too, (which would mean that then all those "viral-GPL" FUD-spreaders will have been right...) that seems counter-productive if that is the outcome. (So I hope they come up with something else than that!)

Everyone is within their own rights to do whatever they want with the output of their own labor, I just wanted to help dispel the notion that only exploitative companies are affected by this change.

If the "why" rather than the mechanical/legal "what" is what you're after, this is the CNCF position paper on the topic: https://www.cncf.io/blog/2017/02/01/cncf-recommends-aslv2/

> Proponents of copyleft licenses have argued that these licenses prevent companies from exploiting open source projects by building proprietary products on top of them. Instead, we have found that successful projects can help companies’ products be successful and that the resulting profits can be fed back into those projects by having the companies employ many of the key developers, creating a positive feedback loop.

Re: Minio Changes License to AGPL

#140
post #16

Earlier quoted context omitted.

> forking minio and then going closed source with their modifications? Which is somewhat bizarre given that aims to MinIO emulate a closed-source system. Open source businesses usually use AGPL or similar to prevent "Big Cloud" from stealing their business, this is a very strange inverted approach and I can't figure out why.

There are many companies that might use and modify a S3 compatible object storage. The world does not run exclusively on AWS, Azure and GC.

Correct, but that misses the point I was making entirely. Running S3/Elastic/API-X wherever you'd like is a separate issue to the kind of problem that Elastic faced with AWS. AWS soaked up a huge amount of Elastic's potential market, because they are so big and entrenched. Only AWS, Azure, and GCP are big enough to do that - and I don't see anyone "stealing" a reasonable degree of S3 customers from AWS by using Minio (let alone any business model that Minio might be exploring).
Post reply on HN