QIAOPANG.COM · SELECTED ESSAYS (2013–2026) · 260 ESSAYSBrowse Chronologically (2013 → 2026) ↗
QiaoPang · Programmers LifeSelected Essays · Systems, Craft & Agentic Era
Timeline ↗

React's Achilles' Heel

React's Achilles' Heel

On August 18, Facebook published a post further clarifying React’s license. It appeared to be an attempt to justify Facebook’s idiosyncratic BSD+Patents license after the Apache Foundation placed it in Category X; unfortunately, the community was not buying it.

Let’s start with what Category X is. It is a list of licenses that cannot be used or referenced in an Apache project. It includes GPL and its derivatives (such as AGPL), the open-source licenses of companies such as Microsoft and Amazon, and so on. Recently, Facebook’s open-source license was added to the list, and React uses that license.

This directly left many Apache projects that use React—such as CouchDB and RocksDB—in a bind. They jointly petitioned Facebook to change React’s license so that it would comply with Apache’s requirements; unfortunately, Facebook refused.

Let us first examine the danger posed by this seemingly trustworthy, bushy-browed comrade who has infiltrated the revolutionary ranks under the banner of open source:

Does the additional patent grant in the Facebook BSD+Patents license terminate if I create a competing product?

No.

Does the additional patent grant in the Facebook BSD+Patents license terminate if I sue Facebook for something other than patent infringement?

No.

Does the additional patent grant in the Facebook BSD+Patents license terminate if Facebook sues me for patent infringement first, and then I respond with a patent counterclaim against Facebook?

No, unless your patent counterclaim is related to Facebook’s software licensed under the Facebook BSD+Patents license.

Does termination of the additional patent grant in the Facebook BSD+Patents license cause the copyright license to also terminate?

No.

MORE IN Languages & Craft

Further Reading in This Column

View all essays in “Languages & Craft” →

Time to Meet jj: Git's Next Evolutionary Step

Git has ruled version control for twenty years, but its staging area, brittle rebases, and blocking merge conflicts are becoming liabilities in the AI era. jj rebuilds the mental model from the ground up — while staying fully Git-compatible. Here's why it deserves your attention.

New Hope (2025–2026)5,588 chars · 12 min read