In a blog post explaining the decision yesterday, WordPress' Matt Mullenweg said Automattic had hoped to officially adopt React for WordPress -- noting it has already used it for the Calypso ground-up rewrite of WordPress.com a few years ago, and had started using it for its major Gutenberg core project.
But he reveals it's changed its mind after seeing Facebook dig in behind the patent clause -- which was recently added to the Apache Software Foundation's (ASF) list of disallowed licenses.
In the ASF's 'Category X' list, where the React patent clause now resides, it writes:
The Facebook BSD+Patents license includes a specification of a PATENTS file that passes along risk to downstream consumers of our software imbalanced in favor of the licensor, not the licensee, thereby violating our Apache legal policy of being a universal donor. The terms of Facebook BSD+Patents license are not a subset of those found in the ALv2, and they cannot be sublicensed as ALv2.
Last month Facebook wrote its own blog post responding to the ASF decision -- in which it conceded it hadn't "done a good job of explaining the reasons" behind the patent clause. And went on to claim that it was necessary because Facebook's business had "become a larger target for meritless patent litigation", writing:
We decided to add a clear patent grant when we release software under the 3-clause BSD license, creating what has come to be known as the BSD + Patents license. The patent grant says that if you're going to use the software we've released under it, you lose the patent license from us if you sue us for patent infringement. We believe that if this license were widely adopted, it could actually reduce meritless litigation for all adopters, and we want to work with others to explore this possibility.
We respect third party IP, including patents, and expect others to respect our IP too. The BSD + Patents license just intends to give our teams more room to make meaningful contributions to open source while decreasing our time spent fighting frivolous lawsuits.
Regardless, Mullenweg says his concerns have not been assuaged. And he writes that he cannot, in good conscience, require users of Automattic's very widely used open source WordPress software to inherit the patent clause and associated legal risk. So he's made the decision to ditch React.
"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," he writes.
He says the decision means there will be a delay to Automattic's Gutenberg project -- of at least a few weeks -- as it's rewritten using a different library, with Mullenweg noting this may push the release into next year.
On the rewrite of Calypso, he only says this will take "a lot longer", adding: "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."
We've reached out to Facebook for comment and will update this post with any response.
The perceived risk attached to its patent clause hinges on how Facebook can revoke the patent license if a React user challenges its patents or sues the company for patent infringement -- meaning Facebook could bring a patent infringement claim against a person or entity suing it for patent infringement.
So companies, especially those with large patent portfolios, may well have concerns if they are using open source software which incorporates Facebook's React framework -- even if Automattic feels comfortable on its own account.
Some of the fiercest critics of the patent clause have dubbed React a "'Trojan horse' into the open source community".
Writing on Hacker News in the wake of the ASF's move, developer Kevinflo summed up his concerns thus: "Even if we paint all of their actions in the most favorable possible light, and even if the clause is a paper tiger as some have claimed, it doesn't matter. This is not how open source should work. We should not have to debate for years if a project's license is radioactive. Especially individual devs like myself who just want to use a great tool. We should be able to just use it, because it's open and that's what open means. This is so much worse than closed. It's closed masquerading as open."
Florenzano is now celebrating Automattic's decision to move away from React...
— Kevin Florenzano (@kevinflo) September 15, 2017
Automattic has not yet taken a decision on which library will replace React but Mullenweg says the decision will be "primarily" technical.
"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," he says, adding: "Thank you to everyone who took time to share their thoughts and give feedback on these issues thus far -- we're always listening."
Comments on his blog post are largely supportive of the move -- with one commentator calling it a "tough but important decision", and others dubbing it a "wise" and "good" decision.
Although another warns against overreaction, writing: "Don’t over-react. There has been enough turmoil & churn in the WP ecosystem in the last 5, 6 years. Fb’s business size & range makes the clause scary. They will have to give it up, eventually."