Live data from Hacker News

TinyMCE (also) moving from MIT to GPL

github.com

31–40 of 87 posts

Re: TinyMCE (also) moving from MIT to GPL

#31

In my opinion it’s a shame that the GPL is so clearly designed for licensing applications written in C being run by end users. When evaluated on that basis, it makes a lot of sense as a license. But there’s a lot of confusion around the license because it’s not clear how these concepts transfer to interpreted languages. The GNU FAQ for determining if two programs have been combined into a derived works asks “if the m…

> The GNU FAQ for determining if two programs have been combined into a derived works asks “if the modules are included in the same executable file” and “if modules are designed to run linked together in a shared address space.” Does it mean I can put GPL code into a separate binary, communicate with it over RPC and use it in a closed-source product without contributing anything back?

The GNU FAQ addresses this [1]. If the binaries are communicating intimate information, then they are considered combined. If they can function independently or they are based on open protocols, then they can be considered separate. Ask yourself whether a user can realistically swap in their own binary.

[1] https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation

Re: TinyMCE (also) moving from MIT to GPL

#32
post #12

Earlier quoted context omitted.

Would it be out of the question to relicense your project to GPL? I guess you want to allow people to use your work without releasing their source, but that's at odds with the fact that TinyMCE doesn't want that any more and you presumably rely on their work too. I certainly don't want to reopen any tired debates, I'm just interested in what the perspective of a downstream developer is like here.

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…

Unless your users are of the kind who re-distribute your work (or something containing/extending your work - mostly aka software developers) all the time, switching from MIT to GPL is going to be just about no hassle at all to them.

Re: TinyMCE (also) moving from MIT to GPL

#33
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…

> Honestly a better choice for a library would always be LGPL.

That's what they used originally, but I get the impression they want someone a little more forceful to move folks onto their commercial licenses.

> I (and no sane person/lawyer) would consider your project derivative work, thus except for the need to relicense the code as GPL.

I wouldn't consider it a derivative work either, but from what I know that does not matter. TinyMCE is a core part that we also currently distribute with the application. The technical details of GPL combined works can get fuzzy in these contexts as it seems like a lot of it was originally written for compiled code. There are ways we could maybe technically put it at "arms distance" but there are still considerations if users have to add that (currently core) element back in. It can help our distribution but the end result is kind of the same really. This may be more significant in my case since It's a core value to me that this project is very much "batteries included".

Re: TinyMCE (also) moving from MIT to GPL

#34

In my opinion it’s a shame that the GPL is so clearly designed for licensing applications written in C being run by end users. When evaluated on that basis, it makes a lot of sense as a license. But there’s a lot of confusion around the license because it’s not clear how these concepts transfer to interpreted languages. The GNU FAQ for determining if two programs have been combined into a derived works asks “if the m…

> The GNU FAQ for determining if two programs have been combined into a derived works asks “if the modules are included in the same executable file” and “if modules are designed to run linked together in a shared address space.” Does it mean I can put GPL code into a separate binary, communicate with it over RPC and use it in a closed-source product without contributing anything back?

More or less, it’s what happens to any app that uses a gpl db

Re: TinyMCE (also) moving from MIT to GPL

#35
post #24
post #23

Earlier quoted context omitted.

I'm not a lawyer, but my understanding is that I can create a fork of any MIT licensed project right now, and relicense it as GPL. I can't do that the other way around because GPL explicitly forbids it. > without an CLA or similar agreement assigning ownership, contributions retain copyright of their original author. Wouldn't that mean that any contribution without an CLA to an open source project is unlicensed? Mean…

> I can create a fork of any MIT licensed project right now, and relicense it as GPL A common misunderstanding, but no! You can incorporate the MIT project into your X-licensed project, and now have three parts you need to consider: the MIT project, your X project and your (presumably x-licensed) composition of the other two projects. It means, for example, that when distributing your composite project, downstream us…

The entire work can be licensed under GPL, but those parts that were MIT remain, individually, still under MIT. MIT specifically and explicitly allows for 'sublicense'ing

Re: TinyMCE (also) moving from MIT to GPL

#36
post #32

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…

Unless your users are of the kind who re-distribute your work (or something containing/extending your work - mostly aka software developers ) all the time, switching from MIT to GPL is going to be just about no hassle at all to them.

Yeah, it wouldn't affect most users, but some users will be in that group. Plus it may (stupidly) raise legal term alerts for a portion of users it won't affect. As I said, is an option but one with concerns/considerations as per my last comment.

Re: TinyMCE (also) moving from MIT to GPL

#37
post #13

In my opinion it’s a shame that the GPL is so clearly designed for licensing applications written in C being run by end users. When evaluated on that basis, it makes a lot of sense as a license. But there’s a lot of confusion around the license because it’s not clear how these concepts transfer to interpreted languages. The GNU FAQ for determining if two programs have been combined into a derived works asks “if the m…

> if modules are designed to run linked together in a shared address space. How does this not apply to javascript?

That happens after distribution of "unlinked" code. GPL's copyleft doesn't apply to binaries that aren't distributed.

Re: TinyMCE (also) moving from MIT to GPL

#38
post #26
post #20

Earlier quoted context omitted.

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

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?

Re: TinyMCE (also) moving from MIT to GPL

#39
post #21

Earlier quoted context omitted.

> The GNU FAQ for determining if two programs have been combined into a derived works asks “if the modules are included in the same executable file” and “if modules are designed to run linked together in a shared address space.” Does it mean I can put GPL code into a separate binary, communicate with it over RPC and use it in a closed-source product without contributing anything back?

That should be fine. In this setup you'd essentially have a closed source 'client' talking to a GPL 'server', which is allowed.

I am not so sure about that. I think I remember from a very very old memory that, actually, this specific case has been encountered or discussed and that the answer is no, you aren't allowed to do that. Basically, if you create your own custom protocol etc. You are just reinventing an inefficient wheel, but it's still a wheel. It's still linking.

The whole process could even be automated otherwise, nullifying the gpl effectively.

I am NOT a lawyer. And maybe it depends on the country (it seems USA has a very "what-the-law-say-exactly" while France (and maybe Europe) tend to look at the "spirit" of the law.

EDIT more about this question here ? https://news.ycombinator.com/item?id=15105920

EDIT 2:

(Rpc are listed)

https://www.gnu.org/licenses/gpl-faq.en.html

"Where's the line between two separate programs, and one program with two parts? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).

If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program."

Re: TinyMCE (also) moving from MIT to GPL

#40
post #20
post #14

There are 219 contributors going back over a decade. Did they all either consent to the repeated license changes or sign away their rights with an CLA? You can’t just relicense contributions willy-nilly - without an CLA or similar agreement assigning ownership, contributions retain copyright of their original author.

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

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