Gutenberg: Discussion: Proposition to dual license Gutenberg under GPL v2.0 + Mozilla Public License v2.0

Created on 2 Jul 2020  Â·  14Comments  Â·  Source: WordPress/gutenberg

This is a proposal to change the Gutenberg licensing scheme. Dual license it under GNU General Public License, v2 (GPL v2) and the Mozilla Public License v2.0 (MPL v2.0).

Reasons for switching from GPL v2.0 only

Gutenberg supports two main platforms, the web and the native mobile apps. The GPL v2.0 license is a blocker for distributing the Gutenberg library in proprietary mobile apps. Currently the only known users of Gutenberg on mobile are the WordPress mobile apps which are under GPL v2.0 (WordPress for Android, WordPress for iOS). Mobile apps under the GPL v2.0 are not common and this limits Gutenberg usage in many apps.

Rich text editor libraries in the mobile space are lacking. There is no well known open source rich text editor for Android or iOS. We believe that Gutenberg could be a key library for many mobile apps, but that will never happen with the GPL v2.

The WordPress-Mobile organisation is in the process of switching the license on AztecEditor-Android and AztecEditor-iOS (currently GPL v2) for the same reason.

Why the Mozilla Public License v2.0 (MPL v2.0)

  • It's less restrictive than the GPL and LGPL. MPL licensed software can be combined with other material if the files are separated (see paragraph 1.7 Larger Work and 3.3 Distribution of a Larger Work in the MPL v2.0). This allows proprietary mobile apps to integrate Gutenberg.
  • It's a copyleft license, like the GPL, every derivative work must be licensed under the same license. Unlike the BSD or MIT licenses, no one can distribute the code under different terms. It forces anyone modifying Gutenberg to contribute back with their changes (bug fix, new feature, etc.).
  • It's compatible with the GPL v2 (see paragraph 1.12 Secondary License and 3.3. Distribution of a Larger Work in the MPL v2.0), so integration into WordPress and the WordPress apps won't be a problem.

The purpose of this ticket is to get Gutenberg contributors' thoughts on the license change.

Npm Packages [Type] Discussion

Most helpful comment

Hi! I'm so incredibly happy to see this discussion! (I previously proposed doing this here).

I'm going to throw in my 2 cents into the hat, in case this makes any difference.

For context: I'm the tech lead for Nozbe Teams, a collaborative todo app. Our tech stack is essentially React on web and React Native on iOS and Android. We're a tiny company, and so we share >80% of app's codebase between these 3 platforms.

Our app sorely lacks a WYSIWYG editor. We had a working implementation on web, but we decided to scrap it, because there was no way to port it on iOS and Android. There are pretty much no viable rich text editors for iOS or Android, yet alone both. But even then, shipping three completely separate, but somehow compatible editors would be a vast amount of work.

And you know yourself, making a good rich text editor from scratch is incredibly hard. It's not something we could do ourselves.

Gutenberg (or even just parts of it like AztecEditor) could solve this problem for us, if it wasn't for the licensing.

It's 100% understandable why you don't want companies to profit off of your work by releasing it under MIT. I support that decision.

Of course I am biased, but MPL (or LGPL) solves most of the downside for you, while exposing you to the upside.

While we might not be big enough to be able to tackle a challenge of developing a rich text editor from scratch, we're big enough to contribute features and bug fixes to open source projects (and we do - for react-native, multiple RN community packages, and our own two popular frameworks for React apps: WatermelonDB and zacs).

I'm sure there are many organizations like this. As was noted in the top comment, no one outside of WordPress uses Gutenberg, while also there is no viable alternative other than Gutenberg. Multi-platform development keeps growing in strength, so there is a lot of thirst for a great multi-platform rich text editor. If it was an option for companies to use, I think a lot would. And yeah, they'd get something for free, but they'd be forced to contribute - to you- any improvements they make.

All 14 comments

There is nearly 80 WordPress packages at the moment. It feels like all those that have a note in README file thar are WordPress specific should stay on “GPL 2.0 or later”, e.g. @wordpress/editor,@wordpress/edit-post, @wordpress/edit-site or @wordpress/edit-widgets, etc. There is also a set of packages used only for development purposes that could be relicensed as MIT, e.g. @wordpress/jest-puppeteer-axe. My point is that we could continue using GPL as a default license but be more liberal in choosing different license types for smaller subset of code. It would be great to take all that into account as well.

Hi! I'm so incredibly happy to see this discussion! (I previously proposed doing this here).

I'm going to throw in my 2 cents into the hat, in case this makes any difference.

For context: I'm the tech lead for Nozbe Teams, a collaborative todo app. Our tech stack is essentially React on web and React Native on iOS and Android. We're a tiny company, and so we share >80% of app's codebase between these 3 platforms.

Our app sorely lacks a WYSIWYG editor. We had a working implementation on web, but we decided to scrap it, because there was no way to port it on iOS and Android. There are pretty much no viable rich text editors for iOS or Android, yet alone both. But even then, shipping three completely separate, but somehow compatible editors would be a vast amount of work.

And you know yourself, making a good rich text editor from scratch is incredibly hard. It's not something we could do ourselves.

Gutenberg (or even just parts of it like AztecEditor) could solve this problem for us, if it wasn't for the licensing.

It's 100% understandable why you don't want companies to profit off of your work by releasing it under MIT. I support that decision.

Of course I am biased, but MPL (or LGPL) solves most of the downside for you, while exposing you to the upside.

While we might not be big enough to be able to tackle a challenge of developing a rich text editor from scratch, we're big enough to contribute features and bug fixes to open source projects (and we do - for react-native, multiple RN community packages, and our own two popular frameworks for React apps: WatermelonDB and zacs).

I'm sure there are many organizations like this. As was noted in the top comment, no one outside of WordPress uses Gutenberg, while also there is no viable alternative other than Gutenberg. Multi-platform development keeps growing in strength, so there is a lot of thirst for a great multi-platform rich text editor. If it was an option for companies to use, I think a lot would. And yeah, they'd get something for free, but they'd be forced to contribute - to you- any improvements they make.

@gziolo good point, it makes sense to keep some packages under the GPL. Ideally we would have a way to bundle a GPL-free version of gutenberg (for the web and mobile).

I realize this has succeeded already for the Android Aztec Editor! That's great!

@maxme - is there any chance that the react-native-aztec editor in this repository might have its license changed as well? We were thinking of writing our own adapter to take advantage of the new MPL-licensed Android package, but it'd save us work if we could reuse and contribute to the existing package.

@hsource yes we can do that after the license on the iOS version of the Aztec Editor is changed.

We got other inputs and dual licensing Gutenberg under GPL v2.0 + MPL v2.0, even if it's a bit redundant, it seems like the best solution for WordPress users and contributors.

It's redundant because the MPL v2.0 is explicit about compatibility with GPL v2.0. Dual licensing will make this compatibility crystal clear for everyone.

I updated the title and the content of that ticket.

The iOS license change just got merged! I'm pushing for my company to use React Native Aztec instead of rolling our own rich text editor, and a change to the react-native-aztec license would help with that! What needs to happen for that?

Finally some great news. Actually that is one of the reasons why in SolidMVC micro-framework (that is MIT-opensourced) for WordPress, and where we bind all variables to view in the controller, we do not have support not for “Great_Widget extends WP_Widget” nor the Guttenberg blocks (we use shortcodes only instead, that does not have that ‘extend’ thing), besides that Guttenberg itself, is on React (MIT licensed), but that was troublesome for SolidMVC to fully support Guttenberg for commercial system via Envato and other portals, and even SolidMVC micro-framework port to Laravel framework.

Noting here that this has been proposed on Make/Core including a process by which to gain approval for and implement dual-licensing for Gutenberg: https://make.wordpress.org/core/2020/09/21/proposal-dual-licensing-gutenberg-under-gpl-v2-0-and-mpl-v2-0/.

Isn't the MPL compatible with the GPL?

If it is, can't you choose to just license under the MPL?

@maxme - is there anything we can do to help this? I know it's probably not high-priority, but I think I'd be able to contribute to the react-native-aztec package at work if it gets merged! For example, I realized that the support for toggling formatting is pretty incomplete, and I can see some quick fixes that I'd be happy to send PR's for

@hsource, the process to change the Gutenberg licensing scheme will take some time (months).

In the meantime we can extract the react-native-aztec wrapper and switch it to MPL. Let me double check something first, I'll get back to you. We might do this quickly.

@hsource, we're going to revive this repo https://github.com/wordpress-mobile/react-native-aztec . We'll switch the license to MPL soon and pull the modifications from WordPress/gutenberg in there.

@maxme - that sounds great! Thanks for the update. I'm looking forward to contributing once it's revived.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nylen picture nylen  Â·  3Comments

youknowriad picture youknowriad  Â·  3Comments

franz-josef-kaiser picture franz-josef-kaiser  Â·  3Comments

pfefferle picture pfefferle  Â·  3Comments

cr101 picture cr101  Â·  3Comments