On React Licensing

September 25, 2017

It has been an interesting couple of months in the open source software licensing world. A few weeks ago, there was some controversy over Facebook’s use of a BSD + Patents license on its open source contributions. While this patent grant was not new, it has gained some publicity over its use as applied to React.

Adam Wolff at Facebook tried to clarify the issue a few weeks ago:

As our business has become successful, we’ve become a larger target for meritless patent litigation. This type of litigation can be extremely costly in terms of both resources and attention. It would have been easy for us to stop contributing to open source, or to do what some other large companies do and only release software that isn’t used in our most successful products, but we decided to take a different approach. 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.

It seems reasonable when explained this way, but that didn’t stop many organizations from removing React from their future product development roadmaps.

Matt Mullenweg wrote about how the Wordpress team would no longer use React for its new ventures:

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.

Then, last week Facebook released another update changing the license for React and other projects to the MIT license starting this week:

Next week, we are going to relicense our open source projects React, Jest, Flow, and Immutable.js under the MIT license. We’re relicensing these projects because React is the foundation of a broad ecosystem of open source software for the web, and we don’t want to hold back forward progress for nontechnical reasons.

This is great news. I think the entire community was very surprised to see this change. This is a credit to the way the open source community should work, and it’s wonderful to see that Facebook is willing to be open minded and participate in what’s best for the community.

I spend a lot of time working on React-based projects for startups and larger companies so I’m happy to see that this should no longer be an issue.