Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I wonder how many CKEditor5 users are in violation of (your interpretation) of the GPL? #14314

Open
winzig opened this issue Jun 1, 2023 · 11 comments
Labels
type:docs This issue reports a task related to documentation (e.g. an idea for a guide).

Comments

@winzig
Copy link

winzig commented Jun 1, 2023

We began using CKEditor as part of our forum posting form in early 2018. At the time, it was triple licensed, including under the LGPL. This suited our needs and I never followed the inner development workings of CKEditor since, just updated versions along the way as time went on.

This week when I read about the inclusion of a Powered by CKeditor attribution that would start to show in v38, I decided to take a look at the commercial license. The pricing is absolutely insane for someone in my position, using CKEditor in a niche forum, they want 15K/euros a year.

Further, the sales and "compliance" folks start drilling in about making sure we comply with the GPL. I've been doing web programming for 28 years and have never once heard someone claim that referencing a GPL JS library on your website means you need to release all of your website under the GPL license, but that appears to be what the CKSource team's position is on this.

I still couldn't believe that this was really their take, so I looked through the issues and found this seemingly solidified here: #991 (comment)

Quoting @fredck:

..."there is a clear intention, and I confirm it, of allowing CKEditor under the GPL license only within software that is also GPL, no matter which way such software is made available for end users."

So it seems CKSource's opinion is that by licensing it under the GPL, any website that so much as <script> includes the ckeditor JS library and displays a CKEditor text editor on their page must release the source code of their website and related JS code (and perhaps even the backend code) under the GPL license as well.

Assuming this is still the opinion of CKSource, this seems like quite a major, novel interpretation of the GPL that you should probably highlight on the README of this project, somewhere near the top. Instead, there's just a passing reference to the GPL license at the very bottom of the README, with no mention that using CKEditor requires releasing your entire website as GPL.

Now, at the very TOP of the README you guys link over to the very easy "online builder" that helps you bundle the features of the editor and build it into a JS file that you can easily reference on your site: https://ckeditor.com/ckeditor-5/online-builder/

Notice that no where along the way does it ever mention the licensing terms, GPL or otherwise, let alone that dropping this file into your website means you must now release your website as GPL.

If I am misinterpreting what your sales team told me, and what fredck posted in the link above, then please tell me. But otherwise I think you owe it to your users to make it CRYSTAL CLEAR what your position is on all of this.

@winzig winzig added the type:docs This issue reports a task related to documentation (e.g. an idea for a guide). label Jun 1, 2023
@wwalc
Copy link
Member

wwalc commented Jun 7, 2023

Honestly, the GPL license is very complex and ambiguous. It is just impossible to provide a clear, easy to understand instruction for everyone and every use case on how one can be compliant with GPL and what implications of using JavaScript code it does for your website or web application.

Some projects try to clarify their interpretation on their websites:

There are also multiple (sometimes conflicting with each other) interpretations on stackexchange.com.

We believe in the good faith of users integrating CKEditor 5 in their projects and leave it up to them to interpret the consequences of using a GPL-licensed JavaScript editor.

As @fredck stated in the mentioned thread, we were seriously considering AGPL (simpler to understand). But that would block numerous great open source projects such as Drupal, WordPress, Neos, Typo3, Joomla and so on from having a chance to use it. 

The main reason behind changing the license of CKEditor 5 was the lack of balance between what we give and get back in return from organizations using CKEditor 5. We were paying thousands of dollars for products that used CKE4 inside, while not even receiving a single contribution from companies building these products. One could correctly argue that it was our choice to license CKE4 like that, but I believe we had the right to learn and adjust the license to change this situation with the new release, making it the least painful change for existing CKEditor 4 users.

To put in simple words, our primary intention was that if you create a SaaS application, for instance, CRM or legal contract management system, you should either release this application under the GPL license or buy a commercial license.

Understanding the misfortune impact of GPL on other types of open source projects, we introduced https://ckeditor.com/wysiwyg-editor-open-source/ to grant licenses compatible with e.g. MIT-licensed open source projects.

Introducing a very subtle “Powered by” logo in the bottom right corner (that in some way triggered the creation of this ticket) was another move to get something small in return from users just consuming the software. I know it is controversial to introduce it in an existing software, but what else can we do if we haven’t thought about it at the very beginning of CKEditor 5 and CKEditor 6 will be released in… 5-10 years?

We made it adjustable, we made it least intrusive (in our opinion), e.g. removing it completely for screen readers (#14118). 

As for the commercial discussion you had with the sales team, if you would like to continue, I’d prefer to switch to an email conversation, GitHub is not a place for discussing the commercial offering. We’d appreciate it if you give us one more opportunity to review your use case. 

However, if you already decided to use a different editor, because of the small “Powered by CKEditor” logo in the bottom right corner, I’d like to thank you for your really honest (and challenging) feedback and for using CKEditor for 5 years 👍

@winzig
Copy link
Author

winzig commented Jun 7, 2023

Honestly, the GPL license is very complex and ambiguous. It is just impossible to provide a clear, easy to understand instruction for everyone and every use case

Sounds like a great license to use... Have you considered the DX of offering your software under a license you yourselves cannot rectify or explain?

We believe in the good faith of users integrating CKEditor 5 in their projects and leave it up to them to interpret the consequences of using a GPL-licensed JavaScript editor.

So @fredck is wrong? He was pretty unambiguous in his take that is buried in the issue comment I quoted:

..."there is a clear intention, and I confirm it, of allowing CKEditor under the GPL license only within software that is also GPL, no matter which way such software is made available for end users."

I cannot see how your statement above and his can exist in the same universe.

As @fredck stated in the mentioned thread, we were seriously considering AGPL (simpler to understand). But that would block numerous great open source projects such as Drupal, WordPress, Neos, Typo3, Joomla and so on from having a chance to use it.

So then why not dual license it GPL/AGPL, similar to the way it was triple-licensed when we first started using it in 2018?

To put in simple words, our primary intention was that if you create a SaaS application, for instance, CRM or legal contract management system, you should either release this application under the GPL license or buy a commercial license.

An insanely-priced commercial license.

Introducing a very subtle “Powered by” logo in the bottom right corner (that in some way triggered the creation of this ticket) was another move to get something small in return from users just consuming the software. I know it is controversial to introduce it in an existing software, but what else can we do if we haven’t thought about it at the very beginning of CKEditor 5 and CKEditor 6 will be released in… 5-10 years?

Since you asked, here is what I would do if I was running CKSource:

  1. Put a Stripe no-code subscription purchase option on the CKEditor 5 homepage licensing CKEditor 5 commercially for a few reasonably priced tiers that cover 95% of use cases, let people just instantly buy it for $250/year, $500/year, $1K/year based upon some sensible usage metrics. An Enterprise option for folks that want to bundle it for sale as part of an application, or do it based on company revenue or some other metric so that the Google Docs competitors of the world are paying for an Enterprise license, and some schmuck like me that is dropping it onto his website for a rich textarea is paying something reasonable. No sales people required for 95% of these sales.

  2. Turn on the "Sponsor" repo feature for ckeditor5 repo on Github. Many people would sponsor.

  3. Switch to dual licensing for those that won't do a commercial license: AGPL licensing requires the Powered by CKEditor to appear, but you can unambiguously use it on your website without falling under GPL. GPL licensing for those that are releasing under GPL anyway, and they have the option to turn off the Powered by CKEditor label.

  4. Offer paid support licenses, standalone, for anyone to buy even if they are using the GPL version. In the early years I would have paid for support to get some answers on how to get the build process working. Appears to be only possible now with a commercial license.

The Powered by CKEditor issue is a red herring, however, as it seems based on @fredck's comments and that of your current sales/compliance team, anyone that references CKEditor.js from their website must release the source code of their website under the GPL, regardless of whether they're flying a Powered by CKEditor flag. If this is definitively not your stance, then you should clarify that here and on the issue he was commenting on. Either way, I think you owe it to your users to be explicit about this on the README of this project, and on the bundler tool I linked to on your website, which doesn't once mention the onerous licensing.

As for the commercial discussion you had with the sales team, if you would like to continue, I’d prefer to switch to an email conversation, GitHub is not a place for discussing the commercial offering. We’d appreciate it if you give us one more opportunity to review your use case.

However, if you already decided to use a different editor, because of the small “Powered by CKEditor” logo in the bottom right corner, I’d like to thank you for your really honest (and challenging) feedback and for using CKEditor for 5 years 👍

Believe me, the last thing on earth I want to spend time on now is transitioning from CKEditor to an alternative like Quill or Froala, but based on @fredck's comments, I don't see how we can use the GPL'd version, and the commercial licensing pricing is absolutely frickin' insane. I can't tell if your commercial licensing pricing is because you see every use case as the same, or just that you don't care that there are different use cases.

In my world, someone using CKEditor to build and sell a Google Docs competitor is a lot different from someone using ckeditor as a rich text editor on a basic web form, but it doesn't seem like that is reflected in pricing. And if you want to count someone that posted one comment on our site in a year as a "user" for the purposes of licensing, it seems a bit nuts.

@wwalc
Copy link
Member

wwalc commented Jun 7, 2023

@winzig if you are still considering the commercial license because "Powered by CKEditor" is too annoying on your website, please reach out to sales again as I mentioned:

> As for the commercial discussion you had with the sales team, if you would like to continue, I’d prefer to switch to an email conversation, GitHub is not a place for discussing the commercial offering. We’d appreciate it if you give us one more opportunity to review your use case.

> (...) to an alternative like Quill or Froala

https://github.com/froala/wysiwyg-editor/issues?q=is%3Aissue+is%3Aopen+xss
https://github.com/froala/react-froala-wysiwyg/issues?q=is%3Aissue+is%3Aopen+xss
https://github.com/quilljs/quill/issues?q=is%3Aissue+is%3Aopen+xss
https://github.com/quilljs/quill/issues?q=is%3Aissue+is%3Aopen+maintained etc.

@winzig
Copy link
Author

winzig commented Jun 7, 2023

To be clear, I'm only considering the commercial license because @fredck made it clear that he feels that any website that utilizes CKEditor.js in any way must release its own source code under the GPL.

Do any of the issues you flagged for Quill or Froala say "I just found out I have to release my entire website under the GPL to be compliant with their licensing terms" or "I just found out they want 15K euros/year to use their rich text editor"?

@zadam
Copy link

zadam commented Jun 26, 2023

As @fredck stated in the mentioned thread, we were seriously considering AGPL (simpler to understand). But that would block numerous great open source projects such as Drupal, WordPress, Neos, Typo3, Joomla and so on from having a chance to use it. 

There's a good reason why these projects don't accept AGPL licensed contributions (even though it is technically possible). The main problem is that any project using GPL licensed software containing an AGPL licensed component would have to publish sources to end users which would make e.g. Drupal unusable for many purposes, while "standard interpretation" of GPL in the context of web applications does not really require it.

I wonder if CKSource' interpretation of GPL has been clearly communicated to Drupal, because Drupal explicitly explains that distributing code to end users is not required:

Do I have to give my web site's code to anyone who visits it?

No. The GPL does not consider viewing a web site to count as "distributing", so you are not required to share the code running on your server.

But CKSource now claims the opposite - all Drupal deployments (containing CKEditor) should either provide complete source code or purchase a CKEditor license. Should Drupal be notified to include this (pretty important) bit into their licensing information?

@winzig
Copy link
Author

winzig commented Jul 28, 2023

@zadam Based on how everything has unfolded here, I can only assume that CKSource doesn't mind the ambiguity of the licensing terms. It could result in people paying for a commercial license when they may or may not need one, and the licensing fees are insane.

@AlexChrisF
Copy link

AlexChrisF commented Apr 29, 2024

@winzig I recently came across your post and felt compelled to share my own experience with CKEditor licensing. A few weeks ago, I inquired about a possible long-term support (LTS) contract for CKEditor 4, but the costs were prohibitively high, leading us to decline the offer. Strangely, my request was escalated to their compliance manager. Since then, it seems as though there's been an effort to find reasons to charge us for using the open source CKEditor 4.22.* and below, even though it's available under GPL, MPL and LGPL licenses.

@neongreen
Copy link

Since then, it seems as though there's been an effort to find reasons to charge us for using the open source CKEditor 4.22.* and below, even though it's available under GPL, MPL and LGPL licenses.

This sounds rather concerning. (Speaking as a CKSource customer.)

@dgm
Copy link

dgm commented Dec 10, 2024

Because of this ambiguity and hostility towards GPL2 style open source, I for one have decided to change to something like tinymce that still has a clear GPL2 offering.

@neongreen
Copy link

@dgm my understanding is that CK and Tiny have the same owner now (https://www.tiugotech.com/tools/)

@dgm
Copy link

dgm commented Dec 12, 2024

@neongreen interesting... but at least the TinyMCE website still professes the GPL2 correctly. :/

It sounds like they wish it was all Affero GPL licensed ... but it isn't.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:docs This issue reports a task related to documentation (e.g. an idea for a guide).
Projects
None yet
Development

No branches or pull requests

6 participants