6 ms·
TinyMCE (also) moving from MIT to GPL
- dirkc 3y agoCompared to other projects moving to their own weird licenses, GPL2+ isn't the worst outcome. It's interesting to see how the sentiment around open source is changing in the last few years
- butz 3y agoWhat does the change mean if we have TinyMCE editor in our internal CMS tool and we plan on upgrading to version 7?
- teddyh 2y agoProbably nothing. An internal tool is not “distributed”, right?
- lewisjoe 3y agoRecently 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.
- yencabulator 3y agoI needed a WYSIWYG web editor specifically for HTML[1] and landed on Fastmail's Squire <https://github.com/fastmail/Squire https://github.com/fastmail/Squire>. It's MIT so you may enjoy it too... [1]: not just the usual "we have a rich document model" that has plenty of options, but as in my input data is HTML, and conversions back and forth aren't reliable enough
- Shorn 3y ago> "It's MIT" You mean: "It's MIT at the moment", right?
- yencabulator 3y agoIt's also a very "done" software component that sees very few changes, so there's not much downside. TinyMCE feels like a company pushing a v7 just to make you remember they exist.
- _pferreir_ 3y agoTinyMCE is switching to a licensing model akin to CKeditor's.
- immibis 3y agoI hope Redis's license being changed makes more people wake up to the reality of the differences between copyleft and permissive. Permissive is, in practice, public domain. Any corporation can take your code and use it as closed-source. All they have to do is credit your name somewhere deep in the documentation, a completely meaningless gesture. They also can't sue you for copying "their" library. But that's about it.
- Mystery-Machine 3y agoCan you please clarify what's the difference between the two?
- tlocke 3y agoThe way I think of it is that with permissive licences the freedoms can be removed from the code, but with copyleft the freedoms can't be removed from the code. By freedoms I mean the freedom to study the source code, to run it for whatever purpose you want, to make modifications and to share the code with other people.
- TheChaplain 3y agoGPL forces you to always supply the source code but only if you distribute the application. E.g. if you fork Nano and sell or make binaries available for download for free, people have the right to ask you for the source code. If you don't distribute it in any form, then you don't need to.[1] With MIT you can fork, distribute and people can't demand anything. [1]: Contrary to popular misinformation, modified GPL software can be used by businesses as long as it is not distributed.
- mlichvar 3y agoAnother way to look at it is that MIT gives freedom to the developers and GPL gives freedom to the users. It's a conflict between the two groups.
- worthless-trash 3y ago> 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.
- MatthiasPortzel 3y agoIn 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 modules are included in the same executable file” and “if modules are designed to run linked together in a shared address space.” If I’m writing a JavaScript library or a server-side framework or even bare metal microcontroller code, I’m not going to use the GPL, just because it’s not at all obvious how to apply the license.
- consp 3y ago> if modules are designed to run linked together in a shared address space. How does this not apply to javascript?
- kevin_thibedeau 3y agoThat happens after distribution of "unlinked" code. GPL's copyleft doesn't apply to binaries that aren't distributed.
- panzi 3y agoBut would bundled and minified JavaScript not be very much like a binary? And isn't it distributed every time someone opens the web page?
- belorn 3y agoPrograms written in C is a bit more obvious in how tightly coupled a program is to their libraries. It takes quite a lot of intention, work and design to make a C program independent of their library dependencies. If you remove a library and the work is completely inoperative and will practically never function without reapply the library, then the legal argument that they are independent and separate works start to loose strength. For programs written in interpreted languages, it is a bit less obvious how tightly coupled a program is to their libraries. It depend a lot on the design, intended use and the environment. Some programs regardless of language is going to be heavy dependent and based on a specific library, rather than a generic API for which any library could implement. The more the program incorporates aspects of the library as part of the program, the stronger the argument is for derivative status.
- ssddanbrown 3y agoTinyMCE provided a bit more information about this change in a GitHub discussion thread here: https://github.com/tinymce/tinymce/discussions/9496 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 LGPL, with some (what I believe were) misleading guidance into meeting the LGPL (they specified rules about keeping specific branding elements). They then jumped to MIT, and since moved some of the open plugins to their commercial offering. Now they're making this change.
- mhitza 3y agoI 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 would always be LGPL. I don't know how TinyMCE even expects to monetize this thing...
- ssddanbrown 3y ago> 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".
- Exuma 3y agoWhat must one do on their project for GPL
- donatj 3y agoThere 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.
- Denvercoder9 3y agoThey can't relicense contributions, but they can add new GPL-licensed contributions. That makes the whole work a derivative work in the sense of the GPL, which means the requirements of the GPL apply to all of it. Effectively this is the same as if all the contributions were relicensed under the GPL. The only significant difference is that you can still cut out a part of the code that hasn't been touched by a GPL-licensed contribution and use it under the terms of the MIT license. None of this violates the MIT license of the original contributions, as it allows you to do basically anything, including sublicensing, with the code, provided that you retain the copyright notice.
- pjmlp 3y agoThey can, because MIT.
- alwayslikethis 3y agoThe general understanding is you can relicense MIT to GPL, but not the other way around. MIT has no requirement that you use the same license, only that the permission and attribution notice remains.
- depr 3y agoDo 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.
- tlocke 3y agoFor my projects I prefer a permissive licence, specifically the MIT No Attribution Licence. People argue that corporations will just take your code and make it proprietary. They might, but an internal fork like that means that it's difficult to benefit from improvements in the original project. So in my experience corporations don't create an internal fork, they use the code as it is. Then if they find a bug for example they will contribute the fix to the project rather than forking, because it's the easiest option. So in other words, corporations are more likely to use code that's licensed under a permissive licence, and so they're more likely to contribute, simply out of their own self interest.