Note: this blog post was updated on 25 September 2017.
The patents grant basically amounts to this:
The patent grant says that if you’re going to use the software [Facebook] released under it, you lose the patent license from us if you sue [Facebook] for patent infringement
This means that if you’re using React.js in your startup’s code and later on down the line, Facebook patents something related to your startup and you try to sue them for patent infringement, then Facebook revokes the patent license. Their reasoning for this is that it will prevent patent trolls from suing Facebook but this doesn’t make much sense. There are other ways to protect themselves from patent trolls and it feels like this chaos is much more punishing to the open source communities around Facebook’s code.
The prominent example is CouchDB which was using React.js for their UI and is now looking for a replacement, which will likely be Preact. The commentary on reddit and hacker news has been deafening and close to unanimous. Almost all developers are against the patent grant and will be hesitant to use any Facebook code that carries that license and PATENTS file.
It seems like Facebook decided on this approach around 2 years ago and they considered one of their alternatives as “stop contributing to open source”. At the end of the day, Facebook is a business that uses open source to further their goals; they can choose not to contribute or close things up (which Google and Apple and others have done over the years).
If you’re looking to switch away from Facebook’s projects, here is a partial list of projects that include the poorly-considered patent protection:
- Yoga (which was mentioned earlier in the SourceContribute blog)
- Flow type checker
While the PATENTS file has been around for 2 years in some of these projects, its implications have only been thought through recently. This is why it’s important for all open source projects to have a clear LICENSE file in their repositories and to clear up any potential confusion as early as possible.
Update from 20 September 2017
GraphQL also seems to have been hit with patent issues. The Facebook developers are looking into what their legal options are so that developers do not have to also abandon GraphQL.
Update from 25 September 2017
As some developers on reddit have pointed out, the removal of the PATENTS grant is a good step forward but switching to the MIT license with an implicit patents grant does nothing to protect developers from patent infringement claims:
Facebook will have to provide more information on patents and what developers using their free/open source software such as React and GraphQL are protected from:
My opinion is that if Facebook has the money to buy “defensive” patents, then they also have the money to start lobbying to #EndSoftwarePatents