Update: Facebook has announced it intends to re-license React under the MIT license. Details here.
Facebook is in the middle of a fraught battle. No, it’s not over the pernicious tide of fake news surging onto our newsfeeds, nor is it about privacy issues on the platform. Rather, it pertains to how the social media giant deals with the open source community, the code it releases to the world, and one cool piece of software called React.
Facebook used a license derived from the popular BSD license, which is used by other popular open source projects. But here’s the problem: Facebook also threw in a few other clauses, which many developers and companies are finding to be problematic.
Good for developers; bad for developers?
You could compare React to cigarettes, chocolate, and McDonald’s dinners. They’re enjoyable, but are they good for you?
Developers have enthusiastically taken to React. It’s hard to determine the popularity of a software library or framework. That said, there are several clues that reveal its uptake.
In my opinion, the best way to determine the growth of a language or framework is to look at data from Stack Overflow. This popular Q&A site is used by developers to ask questions. More questions asked typically means greater interest and enthusiasm.
In the 2017 Stack Overflow developer survey, React ranked fourth under the category “Frameworks, Libraries, and Other Technologies,” behind Node.js, Angular, and .Net Core.
Elsewhere, there are signs of a flourishing community. The React subreddit boasts just shy of 29,000 people – by the time this article is published, it might be more. Enthusiasts hold conferences and events across the world – like React Europe, Reactive Conference, and React London.
Developers love React. But at the same time, there’s a growing backlash against it — or rather, the clauses Facebook added to the license.
Last week, Automattic – the creator of WordPress – announced it intends to ditch React entirely in an upcoming release of the popular CMS. It also said it intends to excise it from its ambitious Gutenberg editor, which could delay its release until next year.
Another high-profile organization, the Apache Foundation, has taken the drastic step of banning it entirely from all of its projects.
The controversy revolves around this small paragraph:
“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.”
Translating the legalese into plain English, it basically means that an individual’s right to use React could be revoked should they take Facebook to court over patent grounds. Or if they counter-sue Facebook in a patent suit.
And that’s a problem. Patents are a big deal. Companies sue each other all the time over who has the right to use certain ideas. If a React user sued Facebook on patent grounds, they could be faced with re-writing their entire web application’s front-end, which could be time-consuming and expensive.
Like chocolate, cigarettes, and McDonald’s dinners, developers are coming to the conclusion that React might best be avoided.
Bigger than React. Bigger than Facebook
The furore surrounding React’s license is bigger than React itself. It’s bigger than Facebook. It’s merely one facet of a wider debate surrounding how large technology companies engage with the open source community.
Free/open source software isn’t inherently altruistic. The likes of Facebook, Google, and LinkedIn benefit massively from sharing their code.
Firstly, the code gets better as a wider community of coders works on it. Some companies use open source software as a recruitment tool. It’s a solid way to source potential hires.
But in the same respect, it’s obvious that some companies – particularly Facebook – have an issue with the laisez-faire aspect of some open source licenses, and try to craft custom ones in order to maintain some element of control.
This is understandable to an extent. That said, it does feel rather self-defeating.
I’m reminded of a quote from Star Wars: A New Hope, of all things. Speaking to Grand Moff Tarkin, Princess Leia defiantly said “The more you tighten your grip, Tarkin, the more star systems will slip through your fingers.”
It follows that the tighter Facebook clenches onto its open source pearls, the more it’ll alienate people.
But then again, given the healthy numbers regarding the React community, perhaps I’m wrong.