The move away from React will force a rewrite of key WordPress front-end apps and components, including the new Gutenberg editor, which will be delayed by several weeks at least. The decision doesn’t affect most WordPress theme and plugin developers, who are free to use any framework they like, but it highlights an issue with React that is worth considering.
The anti-React stance, which was announced by WordPress creator and lead developer Matt Mullenweg, is a response to Facebook’s refusal to modify React’s BSD+Patents license. The license has caused controversy in the open source community, and WordPress is only the most recent project to ban its use.
Developers have embraced React because it makes it easier to design, build, and maintain complex front-end interfaces for the web. React is distributed under a BSD+Patents license. The BSD license is a standard open source license which allows anyone to use the code. The “Patents” component of the React license is, however, is definitely non-standard.
In brief, it says that anyone can use React for any purpose, but that they lose the right to use any Facebook-patented technology — including in React — if they sue Facebook for patent infringement. The worry is that any company that makes a significant investment in React and similarly licensed software will face a dilemma if Facebook infringes their patents: they can sue and be forced to abandon that investment or let Facebook get away with it.
The patent issue was recently brought to a head when the Apache Foundation decided that no Apache project could directly depend on React — necessitating the rewriting of a lot of code.
Facebook says that the BSD+Patents license allows it to make React and other open source projects available to the community, while reducing the number of frivolous patent lawsuits it has to deal with.
But there’s a concern that using React will cause many companies and developers to avoid using WordPress and other projects using React. For the majority of developers and companies, the BSD+Patents licenses isn’t likely to cause problems directly — most of us don’t have patents to protect. For open source projects like WordPress, it’s more complicated.
Open source projects are often used by big companies with patents — or by smaller companies that might be bought by big companies with patents. Those companies will not want to give up their right to sue for patent infringement or buy a company with products that carry that risk. The concern is that using React in WordPress will discourage a large swath of its potential user base.
For WordPress users, the most obvious impact of the project moving to a different front-end framework will be the delayed release of Gutenberg, which is expected to be a headline feature in a future WordPress release. For developers, it might be worth considering whether React is the right choice for future WordPress-related projects.