The Apache Foundation recently announced that Facebook's BSD+Patents open source license has been disallowed for inclusion with Apache products. The resulting fallout has caused gnashed teeth and much soul searching for React developers and Facebook has so far refused to reconsider.
According to Facebook, the BSD+Patents license is meant to protect them from patent trolls. Facebook's engineering director Adam Wolff explains that
As our business has become successful, we've become a larger target for meritless patent litigation. 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.
Facebook's statement 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" means that if you sue Facebook for infringement of any patent, you lose the patent grant for React. That said, patent attorney Dennis Walsh argues that the whole issue is a "paper tiger" because, among other reasons, it's not clear there are any React-related patents or patent applications.
To determine patent liability asserted by Facebook, we need to assess Facebook’s various patents and their claims. Or more specifically, which Facebook patents claim any underlying React technology? ... This is not a trivial question. But in my cursory search, and the crowd sourcing behind this Facebook clause, that answer is zero....Moreover, it would suprise me given the USPTO and courts general disfavor of software patents if Facebook had anything patentable in React, much less actually patented.
In adding the license to their Category X list, the Apache Foundation says that:
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.
Apache's decision is a problem because Facebook's React library has been widely adopted by projects that also code licensed in ways the foundation approves. Developers are thus faced with removing React.js from their projects if they want to stay on the right side of Apache's terms. In a fierce discussion on Hacker News, user kevinflo wrote that developers contributing to React without being paid by Facebook have a "moral obligation to stop", adding that React is a "trojan horse into the open source community" to "deepen their war chest".
Raul Kripalani argues that startups should not use React because the use of React would discourage acquisitions by bigger players who may want to sue Facebook for some unrelated reason. Of course, the world is full of companies and non-profits that exist for myriad reasons and some commenters have pointed out that software patents aren't valid in their countries.
Some developers say the real issue is unethical attitude towards open source software. "This is not how open source should work," says kevinflo. Others, such as Hacker News user chrisco255, think this may all be too much:
Unless you've got millions of dollars to bring a patent suit against Facebook (do you even have any patents to defend?), this should not even be on your radar. You should be focused on building great a product and execution: not patent litigation.
"We recognize that we may lose some React community members because of this decision," Wolff writes.
We are sorry for that, but we need to balance our desire to participate in open source with our desire to protect ourselves from costly litigation. We think changing our approach would inhibit our ability to continue releasing meaningful open source software and increase the amount of time and money we have to spend fighting meritless lawsuits.