Proposal: Dual licensing Gutenberg under GPL v2.0 and MPL v2.0

This post is to gather feedback about a proposal to dual license GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. under GNU General Public License, v2 (GPLGPL GNU General Public License. Also see copyright license. v2) and the Mozilla Public License v2.0 (MPL v2.0). Full context can be found on this issue on GitHub that was opened to gather feedback about the MPL v2.0 proposal. On that post, there are some positive comments from people who would like to use Gutenberg in their software, but who are currently limited by the GPL v2 license.

I’m posting this here to bring some visibility to this ticketticket Created for both bug reports and feature development on the bug tracker.. I’d also like to propose the following, if there is no blockerblocker A bug which is so severe that it blocks a release. found by dual licensing:

  1. List all contributors (this can be automated via the GitHub API).
  2. Create a GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. ticket to explain the change, pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” all contributors and ask them to write a predefined comment to either “approve” or “reject” the dual licensing request. This was done in other big open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. projects like rubinius (switched from BSD to MPL), mpv (switched from GPL to LGPL).
  3. Wait for contributors to reply.
  4. Contact contributors who do not reply in a timely manner to get their response.
  5. After all contributors respond, or when the target date is reached (e.g., one year in the future), remove or rewrite code from contributors who rejected the dual licensing and from contributors who didn’t reply.
  6. Switch the licensing scheme to GPL v2 + MPL v2.

The idea here is to keep some of the WordPress-specific modules under the GPL v2.0 only; some of them are not needed and not relevant for using Gutenberg in another software. Ideally, there would be a different way of bundling the project for being used in WordPress or in a non-GPL software.

Note that a similar license change has happened on Aztec-Android and Aztec-iOS.

Please comment on this post, or on the GitHub issue, if you have thoughts about this dual licensing idea or the ideas on how to make the change happen if this seems feasible.