Live data from Hacker News

TinyMCE (also) moving from MIT to GPL

github.com

81–87 of 87 posts

Re: TinyMCE (also) moving from MIT to GPL

#81
post #43

Earlier quoted context omitted.

That's definitely an option, but I originally chose the MIT due to the simplicity & low friction/requirement for users, and for me it'd be a shame to change that, especially as it could impact users that have been using my software over the last 8 years. While I've gained a lot of understand & respect for GPL licenses over the years of being involved in open source, I'd still have a preference for MIT for this partic…

I thought when your program/library has a more permissive license you can use a GPL library without changing your license. You just need to make this clear so that someone using your code knows that it also pulls in GPL code and thus they cannot be more restrictive (e.g. closed source) than GPL. Only your program will be MIT licensed, the GPL library stays GPL of course. (And since MIT is more permissive anyone can f…

> I thought when your program/library has a more permissive license you can use a GPL library without changing your license.

No, if it meets the definition of a single work (which is the only time the GPL has an effect on licensing the other material at all), the whole thing must licensed under the GPL. Within certain bounds, to allow compatibility, additional restrictions from the upstream licenses may be imposed, and for things you own you may give additional pernissions (but you cannot add permissions to upstream software included, and downstream licensors under the GPL can remove your additional permissions.)

Re: TinyMCE (also) moving from MIT to GPL

#82
post #77

Earlier quoted context omitted.

Confirming what panzi is saying here, ssddanbrown you do not need to relicense your work. GPL and MIT are compatible. GPL only requires that you distribute the _combined_ work as GPL. So, your github project remains MIT and others can use your code under that license, but when _they_ link to TinyMCE and distribute, that distribution must include source code and also be licensed GPL as a whole.

The “user-does-the-linking” theoretical loophole has been discussed to death on Usenet for decades. The opinion of the FSF (as advised by their lawyers), and the general consensus, is that does not work. If a program A is designed to work connected to, and only connected to, a GPL program B, then program A is considered to be a derived work of A, as evidenced by its unusable state without B.

What does that mean for proprietary drivers for Linux? They aren't shipped with Linux/a Linux distribution, Nvidia doesn't ship any Linux, but they can only be used with Linux.

Re: TinyMCE (also) moving from MIT to GPL

#83
post #82
post #77

Earlier quoted context omitted.

The “user-does-the-linking” theoretical loophole has been discussed to death on Usenet for decades. The opinion of the FSF (as advised by their lawyers), and the general consensus, is that does not work. If a program A is designed to work connected to, and only connected to, a GPL program B, then program A is considered to be a derived work of A, as evidenced by its unusable state without B.

What does that mean for proprietary drivers for Linux? They aren't shipped with Linux/a Linux distribution, Nvidia doesn't ship any Linux, but they can only be used with Linux.

It means exactly what you think: Linux cannot permit proprietary drivers. Long ago, someone made a thought experiment and predicted what would happen if proprietary Linux drivers were officially allowed: https://lwn.net/Articles/162686/>

See also: https://www.kernel.org/doc/html/latest/process/stable-api-no...>

Re: TinyMCE (also) moving from MIT to GPL

#84
post #77

Earlier quoted context omitted.

Confirming what panzi is saying here, ssddanbrown you do not need to relicense your work. GPL and MIT are compatible. GPL only requires that you distribute the _combined_ work as GPL. So, your github project remains MIT and others can use your code under that license, but when _they_ link to TinyMCE and distribute, that distribution must include source code and also be licensed GPL as a whole.

The “user-does-the-linking” theoretical loophole has been discussed to death on Usenet for decades. The opinion of the FSF (as advised by their lawyers), and the general consensus, is that does not work. If a program A is designed to work connected to, and only connected to, a GPL program B, then program A is considered to be a derived work of A, as evidenced by its unusable state without B.

And that's not what I mean. I understand the linking issue. What I'm saying is that the GPL does not force or require someone to relicense their code. Their code is theirs. They only have to license the distribution as a whole with the GPL to be GPL compliant.

You can look at any Linux (or BSD) distribution for hundreds of examples of BSD/MIT code linked to GPL code. The BSD/MIT code packages are not "relicensed" as GPL, but the Linux distribution, as a whole, is distributed as GPL.

Re: TinyMCE (also) moving from MIT to GPL

#85
post #77

Earlier quoted context omitted.

The “user-does-the-linking” theoretical loophole has been discussed to death on Usenet for decades. The opinion of the FSF (as advised by their lawyers), and the general consensus, is that does not work. If a program A is designed to work connected to, and only connected to, a GPL program B, then program A is considered to be a derived work of A, as evidenced by its unusable state without B.

And that's not what I mean. I understand the linking issue. What I'm saying is that the GPL does not force or require someone to relicense their code. Their code is theirs. They only have to license the distribution as a whole with the GPL to be GPL compliant. You can look at any Linux (or BSD) distribution for hundreds of examples of BSD/MIT code linked to GPL code. The BSD/MIT code packages are not "relicensed" as…

I don’t think that’s true. If a program A is a derived work of B, and B is GPL, I don’t think you are allowed to license A as MIT. It’s legally the same as if you’d taken code from B and altered it; you aren’t allowed to license that under MIT, either.

The many examples of MIT/BSD linked to GPL code are, I believe, cases of either:

1. The GPL code using the GNU C library exception, like the GNU C library. Or libraries licensed using the LGPL. Any MIT/BSD code is allowed to link with that, because the exception in the licence explicitly permits it.

2. The link is done at “arm’s length”; i.e. the MIT/BSD is not actually requiring the GPL code, and so is not considered a derived work.

or possibly

3. The GPL code is the code which links to the MIT/BSD code, which is obviously allowed, as the whole thing is then distributable under the GPL.

Do you have any examples where none of these are the case?

For futher information, I suggest reading the GPL FAQ: https://www.gnu.org/licenses/gpl-faq.html>

Re: TinyMCE (also) moving from MIT to GPL

#86
post #85

Earlier quoted context omitted.

And that's not what I mean. I understand the linking issue. What I'm saying is that the GPL does not force or require someone to relicense their code. Their code is theirs. They only have to license the distribution as a whole with the GPL to be GPL compliant. You can look at any Linux (or BSD) distribution for hundreds of examples of BSD/MIT code linked to GPL code. The BSD/MIT code packages are not "relicensed" as…

I don’t think that’s true. If a program A is a derived work of B, and B is GPL, I don’t think you are allowed to license A as MIT. It’s legally the same as if you’d taken code from B and altered it; you aren’t allowed to license that under MIT, either. The many examples of MIT/BSD linked to GPL code are, I believe, cases of either: 1. The GPL code using the GNU C library exception, like the GNU C library. Or librarie…

Your (3) is ssddanbrown's case. The whole must be distributable under the GPL.

Nothing changes with ssddanbrown's repo, license, or anything. At a future time should they "code it out" and substitute another non-GPL library, their code is still MIT.

From the GPL FAQ, emphasis mine:

FAQ (#IfLibraryIsGPL): If a library is released under the GPL (not the LGPL), does that mean that any software which uses it has to be under the GPL or a GPL-compatible license?

A: Yes, because the program actually links to the library. As such, the terms of the GPL apply to the entire combination. The software modules that link with the library may be under various GPL compatible licenses, but the work as a whole must be licensed under the GPL. See also: What does it mean to say a license is “compatible with the GPL”?

Note, "work as a whole" here means the runnable, binary distribution or downloadable. The source that accompanies the downloadable binary may still be in separate archives with their original licenses. Again, this is exactly how Linux distributions work.

Re: TinyMCE (also) moving from MIT to GPL

#87
post #80

Earlier quoted context omitted.

This sounds like a very sane option to take, id like it to be codified in a license. Eternal availability sounds like a real hassle to maintain.

It is codified...

You're right! thanks for the education.

"b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge."

Post reply on HN