5

I would like to design a web app with a free and paid tier that will include a WYSIWYG editor. I'm considering the following options

  • CKEditor - GPL
  • TinyMCE - LGPLv3
  • QuillJS - BSD 3-Clause
  • SlateJS - MIT

I'd like to use CKEditor or TinyCME editor because they seem highest quality, but I am struggling to understand the implications of GPL and LGPL for a web app. I think the license states anything using code licensed under GPL must also be licensed under GPL. Here are my questions...

  1. Is it correct that if I wrote a React web app using one of those two editors I would have to license my project under GPL or LGPL as well and make all source code publicly available?
  2. Where does the effect of GPL and LGPL end? Would I have to share my backend code too, and all related scripts and config like Dockerfiles or just frontend code?
  3. If I went this route and made a commercial product using the GPL license, what is stopping some random person from just cloning my code and selling or freely hosting a copy of my site?
  4. What are some examples of successful commercial consumer web or native applications that use the GPL or LGPL license?
6
  • 1
    Git is GPL. Github.com is not. And that's legally ok Commented Jan 17, 2020 at 0:24
  • @planetmaker That doesn't seem the same as my case. Github isn't actually using the code from Git in their website, they just host and read the output from it. If the Github website actually incorporated code from Git it would need to be licensed under GPL wouldn't it? Github.com is not open source
    – pyjamas
    Commented Jan 17, 2020 at 1:41
  • 2
    They don't distribute the software. So it doesn't matter much what license it has. For SAAS you only have to watch out for agpl and similar Commented Jan 17, 2020 at 2:10
  • 1
    @planetmaker Github the company uses libgit2, which can be linked with proprietary software. Libgit2 is a separate project from git, so git's license is irrelevant.
    – amon
    Commented Jan 17, 2020 at 20:50
  • 1
    @amon I was not implying that GitHub does anything illegal. As long as they don't use anything AGPL-like on their end they're fine doing it anyway, as the code doesn't leave their premises. Commented Jan 20, 2020 at 8:49

1 Answer 1

5

Disclaimer: I am not a lawyer and this is not legal advice.

GPL is a copyleft license. It means that you legally obliged to distribute derivative work under the same or equivalent license (see here https://en.wikipedia.org/wiki/GNU_General_Public_License#Linking_and_derived_works for instance).

LGPL is a more relaxed license in this regard and allows publishing derivative work under a different license if it uses LGPL-licensed component/code as a linked library without modification (https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License).

So:

  1. It is correct that if you use GPL-licensed component in your work you must publish your own work under GPL license
  2. I am not sure regarding this one. Technically, all front-end javascript code is already "distributed". But I am keen to understand further implications.
  3. Nothing stops them from doing it. In fact, it is a rather welcomed thing to do under copyleft licenses.
  4. TinyMCE is used very widely by commercial products. I know about several commercial projects using it, but I am not sure I can name them. The question of using TinyMCE (and LGPL components) in general was covered here in more details: Bypass LGPL license using wrapper library
2
  • 1
    Correction on #2: the LGPL ends at the edges of the licensed code. The GPL is rather fuzzier.
    – Mark
    Commented Jan 18, 2020 at 3:18
  • Regarding #3: Usually the trick is your system should be solving some non-trivial problem, and that the maintenance and optimisation requires a lot of work. Your GPL code will then be your "advertisement" to the services that you provide, such as hosting, consultation, etc.
    – ed9w2in6
    Commented Jun 4 at 6:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.