recommended reading

Outraged Programmers Forced a Rare Concession From Facebook on Its Open-Source Software

Twinsterphoto/Shutterstock.com

Facebook’s open-source software is wildly popular among developers and has been used to build countless websites. Chief among those is the React library, which comprises a set of utilities for building user interfaces. React has been powering Facebook’s newsfeed since 2011, and was published as an open-source library in 2013. It’s been downloaded at least 5.5 million times this month alone.

Until last week, there was a clause in the license that came with React and several of Facebook’s other open-source apps that made some developers and companies uneasy. Although the source code is open and freely available, it’s also patented, and therefore rights to the patents have to be granted to the people who use the code. The license did that, but also included a clause that if the person or organization using the source code ever sued Facebook for any kind of patent infringement, the license would be revoked, opening the person or organization to a counter-lawsuit. Facebook, in that case, could then say its patent on React was being infringed by the user.

The license granted hereunder will terminate, automatically and without notice, if you (or any of your subsidiaries, corporate affiliates or agents) initiate directly or indirectly, or take a direct financial interest in, any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates, (ii) against any party if such Patent Assertion arises in whole or in part from any software, technology, product or service of Facebook or any of its subsidiaries or corporate affiliates, or (iii) against any party relating to the Software. Notwithstanding the foregoing, if Facebook or any of its subsidiaries or corporate affiliates files a lawsuit alleging patent infringement against you in the first instance, and you respond by filing a patent infringement counterclaim in that lawsuit against that party that is unrelated to the Software, the license granted hereunder will not terminate under section (i) of this paragraph due to such counterclaim.

The clause was essentially a lawsuit deterrent that some considered a Trojan horse, injected by Facebook into thousands of companies where lawyers may not always review the code developers are implementing. They saw it as anti-competitive and too restrictive for open source projects, while others saw it as a reasonable shield against patent trolls, benign for any person or organization that doesn’t plan on suing Facebook.

“My my personal view is that a lot of the negative reaction was a little bit overblown,” said Daniel Nazer, an attorney at the Electronic Frontier Foundation who focuses on patent reform. “I can certainly see the good arguments for why people would prefer it not to be there,” he said, “but I didn’t see it as outrageous.”

In 2015, developers at WordPress began using React to build a new interface, Calypso, for the WordPress front-end. Shortly after the project had launched, one developer posted an issue about the patent clause to the GitHub repository where the source code for Calypso is hosted, suggesting WordPress consider a different library, given “Facebook’s overly-broad patent termination policy for React.”

“The termination risk is probably of greatest concern to companies that have large patent portfolios, and engage in offensive patent litigation (esp against FB),” wrote Paul Sieminski, general counsel for WordPress parent Automattic, in the summer of 2016. “Automattic isn’t in that boat, and has no plans to be, so we’re comfortable using React under its current license.”

By this point, Facebook had posted a short FAQ about the license, pointing out that it would not terminate if a user created a competing product or sued Facebook for something other than patent infringement, or if Facebook sued the user and the user counter-sued. It added that the termination of the patent license would not affect the user’s copyright license.

Concerns continued to mount, however, and reached a tipping point last July when the Apache Software Foundation declared React incompatible with the popular and widely-trusted Apache license. If developers wanted to distribute their open-source projects under the Apache license, they would no longer be able to use React in those projects.

“I’d like to apologize for the amount of thrash, confusion, and uncertainty this has caused the React and open source communities,” wrote Facebook developer Adam Wolff in a blog post about the foundation’s decision.

Still, Facebook intended to stick with its license, Wolff wrote, and believed it was a reasonable way to share its software with the public while protecting itself from frivolous patent lawsuits:

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.

About a month later, in mid-September, WordPress co-founder Matt Mullenweg said in a blog post that, considering Facebook’s stance, the company would no longer use React to build Calypso.

“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,” he wrote. “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.”

A week later, Facebook announced it would drop the patent clause and move React and several of its other open-source apps to the more permissive MIT license, which allows for unrestricted duplication, modification, and distribution of the software, as long as the derivatives include the same license.

“In the wake of uncertainty about our license, we know that many teams went through the process of selecting an alternative library to React,” Wolff wrote in another blog post. “We’re sorry for the churn. We don’t expect to win these teams back by making this change, but we do want to leave the door open.”

Mullenweg responded to the move in another blog post, saying React was back in the running for WordPress projects.

Developers around the internet rejoiced over the decision, but Daniel Nazer, the patent attorney at the Electronic Frontier Foundation, pointed out that with only the MIT license and no explicit grant to Facebook’s patents, React has entered a murky legal area. The MIT license might imply rights to the patent, he said, but that has never been litigated, and no precedent has been established.

“You’ve gone from having an express license to an open question,” he said. “Only if you were planning to sue Facebook for patent infringement, or thought that was reasonably likely in your future, are you better off now.”

Threatwatch Alert

Thousands of cyber attacks occur each day

See the latest threats

JOIN THE DISCUSSION

Close [ x ] More from Nextgov