React (software): Difference between revisions

Content deleted Content added
Adding a little more history of React's development within Facebook, and moving the PATENTS clause controversy to its own section
Add back the patents clause controversy into its own section
Line 64:
=== Facebook CLA ===
In order to contribute to React or any Facebook [[Free and open-source software|OS]] project one should fill the Facebook [[Contributor License Agreement|CLA]]. <ref>{{Cite web|title = facebook/react - CONTRIBUTING.md|url = https://github.com/facebook/react/blob/master/CONTRIBUTING.md#contributor-license-agreement-cla|website = GitHub|accessdate = 2015-12-13}}</ref><ref>{{Cite web|title = Contributing to Facebook Projects|url = https://code.facebook.com/cla|website = Facebook Code|accessdate = 2015-12-13}}</ref>
 
== Patents clause controversy ==
 
The initial public release of React in May 2013 used a standard [[Apache License|Apache License 2.0]]. In October 2014, React 0.12.0 replaced this with a [[BSD licenses#3-clause|3-clause BSD license]] and added a separate PATENTS text file that permits usage of any Facebook patents related to the software.<ref>{{cite web|title=React CHANGELOG.md|url=https://github.com/facebook/react/blob/master/CHANGELOG.md#0120-october-28-2014|website=GitHub}}</ref> However in April 2015, Facebook announced that they were clarifying this file to address confusion about it,<ref>{{cite web|title=Updating Our Open Source Patent Grant|first=James|last=Pearce|date=10 April 2015|url=https://code.facebook.com/posts/1639473982937255/updating-our-open-source-patent-grant/|website=code.facebook.com}}</ref> and React 0.13.1 introduced new language that effectively amends the BSD license terms in a nonstandard way:
 
<blockquote>''"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. [...] A "Patent Assertion" is any lawsuit or other action alleging direct, indirect, or contributory infringement or inducement to infringe any patent, including a cross-claim or counterclaim."<ref>{{cite web|title=Additional Grant of Patent Rights Version 2|url=https://github.com/facebook/react/blob/b8ba8c83f318b84e42933f6928f231dc0918f864/PATENTS|website=GitHub}}</ref>''</blockquote>
 
This unconventional clause caused some controversy and debate in the React user community, because it may be interpreted to empower Facebook to revoke the license in many scenarios, for example if Facebook sues the licensee prompting them to take "other action" by publishing the action on a blog or elsewhere. Many expressed concerns that Facebook could unfairly exploit the termination clause or that integrating React into a product might complicate a startup company's future acquisition.<ref>{{cite web|title=A compelling reason not to use ReactJS|first=Austin|last=Liu|url=https://medium.com/bits-and-pixels/a-compelling-reason-not-to-use-reactjs-beac24402f7b|website=Medium}}</ref> Google has reportedly forbidden its employees from using any code under this license.<ref>{{cite web|first=Zellyn|last=Hunter|title=Hacker News: React Native is now open source|url=https://news.ycombinator.com/item?id=9271246|website=Y Combinator|access-date=9 December 2015}}</ref>
 
==References==