Hacker News new | ask | show | jobs
by depr 810 days ago
Do you mean CLA?

I said the same thing about the recent Redis change. Apparently, the old contributions are still under the old license, and new contributions will be GPL. Because the old license is MIT, those contributions can be incorporated in the new GPL version.

So there the old contributions are not relicensed and there is no need for it. If the old license were GPL and they wanted to move to e.g. BUSL, then they would have to ask all the contributors because GPL doesn't allow that.

2 comments

Drew Devault forked Redis, made the fork LGPL, then got so many questions that he created a fun little licensing quiz:

https://fosstodon.org/@drewdevault/112156829031615403

Can anyone explain why the answer to the second question (https://fosstodon.org/@drewdevault/112156847020462949) is "no"? The MIT license grants all the rights that the GPL requires to be granted for derivative works (it is GPL-compatible). Is the problem here just that they don't distribute or offer the source code of the GPL-licensed library along with the pre-built binaries?
The answer to 2) surprises me. I mean, they only said MIT and didn't explicitly state that they provide the source and didn't say that they use a library under GPL. I guess if they provide the source with the binary and make the licenses of the used libraries clear it is ok? Having your part under MIT doesn't change the license of the library. MIT is not more but less restrictive than GPL.

Also shouldn't the answer to 5) be: Depends on what exactly the licenses of the used libraries are, but usually lol no?

> and didn't say that they use a library under GPL.

The situation is exactly that: a GPL library incorporated into an MIT project:

"You wrote a library in Rust and uploaded it to Cargo using the GPL license. Someone grabs it via cargo and uses it in their own project, which is distributed with the MIT license."

I see. Thanks!
Yes. The fact that the MIT license is compatible means that the MIT license allows you to fulfill the terms of the GPL—you can fulfill both at the same time. However, fulfilling the (more permissive) terms of the MIT license does not mean that you have fulfilled the terms of the GPL.

A GPL-non-compatible example would be a Business Source License or something non-free. It’s impossible for you to merge a BSL project and a GPL project, because the GPL would require that the result be usable for any purpose, and the BSL would require that the result is not used in production.

I would like to know too. I suspect the question should have been phrased "they offer pre build binaries but no source code".
I'm aware of that, but I'd like to know what specifically violates the GPL in the posed scenario. Your very link states that it's okay to distribute combinations of GPL-licensed code with code licensed under another, GPL-compatible license (which MIT is).
> Your very link states that it's okay to distribute combinations of GPL-licensed code with code licensed under another, GPL-compatible license (which MIT is).

The same answer in the FAQ (https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean) contains a caveat mentioned by Tomte's sibling comment (https://news.ycombinator.com/item?id=39840391): the distribution as a whole must be GPL-licensed.

Suppose that you wrote an MIT-licensed Hello World function (one work) and have a copy of someone else's GPL-licensed FizzBuzz function (a separate work). If you distribute both works together (in the same repository, for example) then the combination (a new work) must be under the same GPL version (or a later version, if the license notice for the FizzBuzz function that function says something like "or any later version" [1].

If you write and then distribute a Fibonacci function which calls someone else's GPL'd add function (or your Fibonacci function body includes code from that GPL'd add function), then your distributed Fibonacci function must be under the same GPL version (or a later one, if the license grant lets you).

[1] https://www.gnu.org/licenses/gpl-3.0.en.html

"provided the combination is released under the same GNU GPL version"

That‘s not happening in Drew‘s second scenario.

Confuses me too. Maybe its because they didn't say that the code was also distributed and that they didn't explicitly say that they use a certain library that is under the GPL?
It's the very act of distribution that contains the problem. If you use a GPL'd work in another work, your distribution of the other work must be GPL'd as well. GPL'd part + non-GPL'd-but-compatible part = GPL'd whole, but the parts still exist on their own under their respective original licenses.

See Tomte's sibling comment to yours (https://news.ycombinator.com/item?id=39840391) and my own other comment (https://news.ycombinator.com/item?id=39841923).

But then they will sell you a license to use the whole project including their GPL bits. It's legal, but it's kind of a bait and switch and can be perceived negatively by the community. It's similar to what was done to Akka.