Live data from Hacker News

TinyMCE (also) moving from MIT to GPL

github.com

61–70 of 87 posts

Re: TinyMCE (also) moving from MIT to GPL

#61
post #43

Earlier quoted context omitted.

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…

That's generally what LGPL is. It does get a bit murky outside of standard compiled applications though. Otherwise, I think it's generally the other way around. Permissive can be used in stronger copy-left licenses, but strongly copyleft libraries can't be used (there's a lot of detail skipped when it comes to what counts as "used" here) in works provided under a more permissive library since a permissive license doe…

You can always make two versions, one with TinyMCE and one without. The one without can be any license you want, while the one with TinyMCE would be provided under GPL.

One way many programs do in that situation is to redesign the program with plugins in mind. Those that wish to use a strict set of MIT parts can choose to do so, and those who do not care about licenses can use all parts. A alternative way some program do is to use compile flags, like ffmpeg.

It depend of course how heavily tied to TinyMCE your work is, and if multiple versions are worth it. Forking is always a possibility, but unless there is zero threat vectors I would not go that route.

Re: TinyMCE (also) moving from MIT to GPL

#62

Earlier quoted context omitted.

If I'm understanding the changes Redis made, it's FOSS until you decide you want to use their server to create a cloud service offering. Am I mistaken?

Then it isn't FOSS, because it violates freedom 0: The freedom to run the program as you wish

That's my view of FOSS as well; was asking for clarification on that.

Re: TinyMCE (also) moving from MIT to GPL

#63
Recently I was shocked when I came to know that both CKeditor and TinyMCE are now owned by the same parent company. The acquisition has happened silently, that many people think TinyMCE and CKEditor are different competing companies.

Given that they are from the same governing body, it's no surprise they want to make TinyMCE adopt CKEditor's licensing path as well.

Re: TinyMCE (also) moving from MIT to GPL

#64
post #53

Earlier quoted context omitted.

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 t…

> 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."

Re: TinyMCE (also) moving from MIT to GPL

#65
post #47

Earlier quoted context omitted.

> people have the right to ask you for the source code. People you distributed binaries to have a right to the source code via the same method that the binaries are provided in. Or at least that was my understanding.

If it's a non-commercial affair, you can give them a "written offer valid for at least 3 years" and then you don't have to actually supply it unless someone asks. In practice, this isn't a very good option to take. Much better to provide it on a "network server" as they were called at the time the license was written.

[deleted]

Re: TinyMCE (also) moving from MIT to GPL

#66
post #48

Earlier quoted context omitted.

it is because GPL is viral https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean

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

Re: TinyMCE (also) moving from MIT to GPL

#67
post #54

Earlier quoted context omitted.

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).

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).

Re: TinyMCE (also) moving from MIT to GPL

#68
post #26

Earlier quoted context omitted.

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?

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.

Re: TinyMCE (also) moving from MIT to GPL

#69
post #27

TinyMCE provided a bit more information about this change in a GitHub discussion thread here: https://github.com/tinymce/tinymce/discussions/9496 As I posted there, this directly affects my open source project which is heavily tied to TinyMCE so I may end up forking, and reducing down to what my project needs to reduce maintenance scope & burden. TinyMCE have been jumping around with their licensing. They were under…

I very briefly took a look at your project and seems to be an entire application, for which I'd expect TinyMCE would be a wrapper around input/textarea fields to add wysiwyg functionality. If that's the case, I (and no sane person/lawyer) would consider your project derivative work, thus except for the need to relicense the code as GPL. If you get that in written even better. Honestly a better choice for a library wo…

Note that there are two ways to look at derivative works.

You're describing a Venn diagram of two independent circles, LibraryA and AppB, and saying AppB does not use any code internally from LibA, share code, modify code from LibA, etc. From that perspective it's not deriving code from LibraryA. You're not wrong.

The other view is two interlocking puzzle pieces, LibraryA and AppB. Can AppB function without LibA? Is there a standard library API that we can swap those libraries out? Can AppB be built or executed if LibA is not linked at build or runtime? GPL operates at this level and is why LGPL exists. If AppB requires LibA, AppB is derivative. If AppB does not link to LibA as distributed and can function without it, but links only at runtime on the user's system, AppB is not derivative.

Re: TinyMCE (also) moving from MIT to GPL

#70
post #56

Earlier quoted context omitted.

That's generally what LGPL is. It does get a bit murky outside of standard compiled applications though. Otherwise, I think it's generally the other way around. Permissive can be used in stronger copy-left licenses, but strongly copyleft libraries can't be used (there's a lot of detail skipped when it comes to what counts as "used" here) in works provided under a more permissive library since a permissive license doe…

To me "used in" makes not much sense and I think of it as "used together with", but I might be wrong. Just because main() comes from that one object file and not the other, does that really make so much difference? In my assumption you just have to provide the source and clearly state which parts are under which license. Anyone can fork your MIT code and base their GPL program on it anyway. So providing your program…

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.
Post reply on HN