If you’re a startup, you should not use React (reflecting on the BSD + patents license)

EDIT: Linking to this article doesn’t constitute agreement with it. This is only meant to start discussion about what seem like valid points raised.

Apparently Facebook is implementing a license model where the React license is invalidated if you ever bring patent claims against Facebook. This could prevent startups from being acquired by tech giants who don’t want to assume such risk, as it’s likely they’ll bring some patent lawsuits in the future.

FreeCodeCamp members who are learning React with the goal of joining a startup could be directly affected by this. Thoughts?

2 Likes

Here we go again. Every couple of months someone shows up with “don’t use React, FB will sue you” PSA.

1 Like

Even if we accept that the Facebook license is some evil legal trap (it isn’t), no one who’s learning React is at personal risk. Liability would rest with the company.

2 Likes

Right. The argument presented in the article seems to be that, because of the licensing, new companies would be wise to shift away from React, which would of course hurt learners down the line.

2 Likes

I’m not sure how it’s a big deal. Just don’t sue Facebook and you’ll be fine.

It all depends on what stance Vue and Angular take. If a startup can get the same out of an alternative framework, why use React. If this affects your startup, why use something that can possibly cost you money or take down production. This reminds me of the MS Windows vs Linux debate for new businesses. MS requires you to pay a license fee to use their OS software. A business can save money by going with Linux. But if that business doesn’t have the support for Linux and it’s software environment, it might be cheaper to just pay MS and have easier access to support and software. It all depends on the risk/reward for your business.

Consider the example given:

Fridgebook Inc.

For the sake of illustration, say you’re a fridge company “Fridgebook Inc.” who markets intelligent fridges. Your fridges have a screen that runs your proprietary application, and you use React for the UI.

Overnight, you hear that Facebook decides to move into the fridge industry, and they’ve announced the worldwide launch of their new product: “FBfridge”, in just 1 week.

In the hypothetical case that Facebook blatantly infringes some of your patents with ‘FBfridge’, what can you do?

Well, you cannot sue them immediately. You’re using React on the customer-facing app, remember?

If you sue them before migrating to something else (like vue.js), you will immediately lose the license grant for React, and suddenly you’re in breach yourself, fighting against a potential lawsuit for illegal use of software, from an almost-$500-billion company, all by yourself.

And obviously, you don’t want to interrupt customer service.

So if you want to sue them, or at least hold any leverage for doing so, you will need to find a solution to migrate away from React in record time.

That’s quite a pickle you’re in, right? It’s almost an extortionary situation.

4 Likes

For the sake of illustration, say you’re a film streaming company “Netflix". Your proprietary application uses React for the UI.

Overnight, you hear that Facebook decides to move into the film streaming business, and they’ve announced the worldwide launch of their new product: “FBFlix”, in just 1 week.

For the sake of illustration, say you’re a company, primarily an advertising middleman and FB’s main competitor, called “Alphabet". Some of your proprietary applications use React for the UI.

Overnight, you hear that Facebook’s decided to move into your turf, and have announced the worldwide launch of their new product: “Foogle”, in just 1 week.

For the sake of illustration, say you’re a company, primarily a software company, called “Microsoft". Some of your proprietary applications in the store for your main product use React for the UI.

Overnight, you hear that Facebook have announced the worldwide launch of their new product: “Findows” with the associated “Findows Fap Store”, in just 1 week.

For the sake of illustration, say you’re a company, primarily a consumer tech hardware company, called “Apple". Some of your proprietary software applications use React for the UI.

Overnight, you hear that Facebook have announced the worldwide launch of their new product: “FIOs”, in just 1 week.

etc etc. https://code.facebook.com/pages/850928938376556

3 Likes

Definitely thinking of switching to Vue after FB decided to avoid changing the license. It’s against what open source stands for, and it’s always better to be safe. For hobby projects, React is fine, but I don’t think it’s particularly morally ethical to suggest using React to your management knowing about this license. This situation sucks, because I love React, and I really don’t want to pick up Angular. Vue does look enticing though…

@imtoobose What is wrong with Angular?

Does Facebook hold a patent on the Virtual DOM? If so are projects like Vue.js and Preact violating Facebook’s patents?

No, not VDom tech in general, that would be impossible to make a claim on as it’s [relatively] easy to write VDom implemetations; what React uses isn’t the fastest standalone implementation afaik, it’s just tuned to work with React. React’s own implemetation maybe (which would affect Preact but not Vue, but even that would be difficult to police). Ex: https://medium.com/@deathmood/how-to-write-your-own-virtual-dom-ee74acc13060

React goes great with any project, but it’s strictly a front-end library. Note that it’s a library as Dovydas pointed out, which means it’s not opinionated about how it gets the data you display, its job is to display data, update it, and create DOM (or shadow DOM) elements that you can manipulate and style. Read also: https://artjoker.net/blog/top-7-javascript-libraries-that-worth-your-attention/

I’ve read about several companies going with Preact. It’s a lightweight React alternative that avoids the licensing issues. From what I’ve read to date, many apps can be ported over with little issue.