On React and WordPress

## Metadata
- Author: [[Matt]]
- Full Title: On React and WordPress
- Category: #articles
- Document Note: ---
tags: [#react, #wordpress, #opensource, #licensing, #facebook]
- #react
- #wordpress
- #opensource
Author: Matt Mullenweg
Source: Matt Mullenweg's Blog
Reference: [On React and WordPress](https://ma.tt/2017/09/on-react-and-wordpress/)
date created: {{date:2024-09-26}} {{time:14:30}}
---
# Title: On React and WordPress
## Table of Contents:
- 📝 [Summary](#📝-summary)
- 📖 [Main Content](#📖-main-content)
- 🗒️ [Notes](#🗒️-notes)
- 📖 [References](#📖-references)
- 🗣️ [Paraphrase](#🗣️-paraphrase)
- 📰 [Newsletter](#📰-newsletter)
- ✅ [Action Items](#✅-action-items)
- 🧪 [Hypotheses](#🧪-hypotheses)
- 📊 [Methodology](#📊-methodology)
- ❓ [Questions](#❓-questions)
- 🔮 [Future Research](#🔮-future-research)
- 💡 [Implications](#💡-implications)
- 🧠 [Learning Styles Assessment](#🧠-learning-styles-assessment)
- 📊 [Accessibility Assessment](#📊-accessibility-assessment)
- 🌍 [DEIB Assessment](#🌍-deib-assessment)
- ✅ [Logical Validity](#✅-logical-validity)
- 🔍 [SEO Evaluation](#🔍-seo-evaluation)
- 🎯 [Conclusion](#🎯-conclusion)
## 📝 Summary:
In this article, Matt Mullenweg discusses Facebook’s React library and its implications for WordPress. Specifically, he highlights the licensing concerns regarding React’s patent clause, which led WordPress to choose an alternative framework for Gutenberg. Mullenweg explains the decision process behind moving away from React despite its technical advantages.
## 📖 Main Content:
Matt Mullenweg’s post primarily focuses on the patent clause embedded in Facebook’s React library. Despite React’s popularity and its advanced features, WordPress had to reconsider using it for Gutenberg because the patent clause posed potential legal risks for open-source projects. He also discusses how the decision was driven by the community’s values and long-term sustainability of the project. Ultimately, WordPress opted for an alternative JavaScript framework that better aligned with open-source principles.
### 🗒️ Notes:
- Facebook’s React library included a patent clause that could be legally risky for open-source projects.
- WordPress initially intended to use React for its new Gutenberg editor but decided against it due to the patent issues.
- The decision was about preserving WordPress’s values and long-term sustainability.
- WordPress considered technical advantages of React but prioritized the open-source ethos.
- WordPress chose to adopt another JavaScript framework that aligned better with its licensing and ethical stance.
## 📖 References:
- Matt Mullenweg, [On React and WordPress](https://ma.tt/2017/09/on-react-and-wordpress/)
## 🗣️ Paraphrase:
1. Mullenweg explains that although React is a technically superior choice, WordPress must align with its open-source community values, which led them to explore alternatives due to Facebook's restrictive patent clause.
2. He highlights that the decision to move away from React wasn’t just technical but also ethical, as it was essential for WordPress to avoid any legal ambiguities that could compromise the project’s open-source nature.
## 📰 Newsletter:
In this issue, we cover Matt Mullenweg’s critical decision on Facebook’s React library and its implications for WordPress. The licensing issue surrounding React led the WordPress team to explore other options for Gutenberg, despite React’s technical benefits. This is a great example of how WordPress balances innovation with the long-term health of its open-source community. If you're interested in learning more about WordPress’s future development and why they chose a different framework, check out Matt’s full post [here](https://ma.tt/2017/09/on-react-and-wordpress/). Stay tuned for updates on new plugins and community initiatives in this issue!
## ✅ Action Items:
- Explore the implications of licensing in open-source projects, particularly when adopting external libraries.
- Prioritize open-source principles over short-term technical benefits when making decisions about WordPress tools and libraries.
- Continue advocating for transparency in corporate licensing structures within the WordPress community.
## 🧪 Hypotheses:
- Alternative JavaScript frameworks can meet WordPress’s technical needs while avoiding potential legal risks associated with proprietary licenses.
- Maintaining open-source values in software development contributes to long-term community trust and sustainability.
### 📊 Methodology:
- Research and compare legal clauses in open-source vs. proprietary licenses.
- Conduct interviews with core contributors to understand the decision-making process behind the React transition.
### ❓ Questions:
- How do licensing terms like Facebook’s patent clause affect the adoption of frameworks in open-source projects?
- What alternative JavaScript frameworks could offer the same technical benefits as React without licensing issues?
### 🔮 Future Research:
- Investigate the long-term effects of WordPress’s decision on the development of Gutenberg and its ecosystem.
- Explore how other open-source projects handle similar licensing dilemmas with popular libraries.
### 💡 Implications:
- Future research could influence the adoption of JavaScript libraries in open-source communities and create guidelines for evaluating licensing risks.
- It may also impact corporate decisions around how they license and distribute open-source projects.
### 🧠 Learning Styles Assessment:
1. **Visual Learners (Spatial)**:
- **Present**: No visual aids present in the article.
- **Improve**: Add diagrams or flowcharts to explain React’s patent clause and the decision-making process.
2. **Aural Learners (Auditory-Musical)**:
- **Present**: No auditory elements in the article.
- **Improve**: Provide an audio version of the article or embed a podcast discussion on the topic.
3. **Verbal Learners (Linguistic)**:
- **Present**: The article uses clear, descriptive language.
- **Improve**: Include links to further reading on JavaScript frameworks and licensing.
4. **Physical Learners (Kinesthetic)**:
- **Present**: No hands-on elements.
- **Improve**: Suggest practical exercises for exploring the legal implications of licensing in open-source projects.
5. **Logical Learners (Mathematical)**:
- **Present**: The article offers a step-by-step logical argument.
- **Improve**: Include a breakdown of the technical vs. legal pros and cons of React and alternatives.
6. **Social Learners (Interpersonal)**:
- **Present**: No collaborative elements.
- **Improve**: Encourage readers to join forums discussing licensing issues in open-source projects.
7. **Solitary Learners (Intrapersonal)**:
- **Present**: The article provides a reflection on WordPress’s values.
- **Improve**: Include journaling prompts for readers to reflect on the importance of open-source principles.
8. **Naturalistic Learners**:
- **Present**: Not applicable.
- **Improve**: No changes needed.
### 📊 Accessibility Assessment:
- **Screen Reader Compatibility**: Ensure alt-text for any embedded images or links.
- **Improve**: Add an audio version for accessibility.
- **Keyboard Navigation**: Test for proper keyboard navigation and ensure all links are accessible.
### 🌍 DEIB Assessment:
- **Cultural Relevance**: The article is relevant for the global WordPress community.
- **Improve**: Provide translations in multiple languages to reach a broader audience.
- **Inclusive Language**: The language is neutral and avoids exclusionary terms.
- **Neurodiversity Support**: Short paragraphs and headers make the content digestible.
- **Representation**: The focus is on a corporate decision rather than diverse perspectives.
- **Improve**: Introduce voices from underrepresented groups in open-source projects.
### ✅ Logical Validity:
- **Sound Deductive Reasoning**: Mullenweg’s conclusion logically follows from his premises regarding the risks of using React.
- **Causal Reasoning**: The cause-and-effect relationship between licensing and long-term project health is clear and well-supported.
- **Coherent Counterarguments**: He briefly acknowledges React’s technical superiority but provides a well-reasoned argument for avoiding it due to licensing.
### 🔍 SEO Eva
- Document Tags: [[react]] [[wordpress]] [[wpdrama]]
- Summary: Big companies like to bury unpleasant news on Fridays: A few weeks ago, Facebook announced they have decided to dig in on their patent clause addition to the React license, even after Apache had s…
- URL: https://ma.tt/2017/09/on-react-and-wordpress/
Big companies like to bury unpleasant news on Fridays: A few weeks ago, [Facebook announced](https://code.facebook.com/posts/112130496157735/explaining-react-s-license/) they have decided to dig in on their patent clause addition to the React license, even after Apache had said [it’s no longer allowed for Apache.org projects](https://issues.apache.org/jira/browse/LEGAL-303). In their words, removing the patent clause would "increase the amount of time and money we have to spend fighting meritless lawsuits."
I'm not judging Facebook or saying they're wrong, it's not my place. They have decided it's right for them — it's their work and they can decide to license it however they wish. I appreciate that they've made their intentions going forward clear.
A few years ago, Automattic used React as the basis for the [ground-up rewrite of WordPress.com we called Calypso](https://developer.wordpress.com/calypso/), I believe it's one of the larger React-based open source projects. As our general counsel wrote, [we made the decision that we'd never run into the patent issue](https://github.com/Automattic/wp-calypso/issues/650#issuecomment-235086367). That is still true today as it was then, and overall, we’ve been really happy with React. More recently, the WordPress community started to use React for [Gutenberg](https://make.wordpress.org/core/2017/02/17/dev-chat-summary-february-15th-4-7-3-week-3/), [the largest core project we've taken on in many years](https://ma.tt/2017/08/we-called-it-gutenberg-for-a-reason/). People's experience with React and the size of the React community — including Calypso — was a factor in trying out React for Gutenberg, and that made React the new de facto standard for WordPress and the tens of thousands of plugins written for WordPress.
We had a many-thousand word announcement talking about how great React is and how we're officially adopting it for WordPress, and encouraging plugins to do the same. I’ve been sitting on that post, hoping that the patent issue would be resolved in a way we were comfortable passing down to our users.
That post won't be published, and instead I'm here to say that **the Gutenberg team is going to take a step back and rewrite Gutenberg using a different library**. It will likely delay Gutenberg at least a few weeks, and may push the release into next year.
Automattic will also use whatever we choose for Gutenberg to rewrite Calypso — that will take a lot longer, and Automattic still has no issue with the patents clause, but the *long-term consistency* with core is worth more than a *short-term hit* to Automattic’s business from a rewrite. Core WordPress updates go out to over a quarter of all websites, having them all inherit the patents clause isn’t something I’m comfortable with.
I think Facebook’s clause is actually clearer than many other approaches companies could take, and Facebook has been one of the better open source contributors out there. But we have a lot of problems to tackle, and convincing the world that Facebook’s patent clause is fine isn’t ours to take on. It’s their fight.
The decision on which library to use going forward will be another post; it’ll be primarily a technical decision. We’ll look for something with most of the benefits of React, but without the baggage of a patents clause that’s confusing and threatening to many people. Thank you to everyone who took time to share their thoughts and give feedback on these issues thus far — we're always listening.
***Update:** This post received an incredible response from the wider web and open source community, and [a few days later Facebook reversed their position](https://ma.tt/2017/09/facebook-dropping-patent-clause/).*, On React and WordPress, Matt, 01j8re6ejv2mj10gcry7d9z8r4.