ReactJS license

Hi, Broocar. A coworker told me about a legal issue that arose with Facebook’s change of license for their open-source projects, such as React. From what I’ve read, the new license (a BSD + patents one) is incompatible with more permissive licensed, such as the Apache license (why this issue came to be known, actually), and also it states that any patent infringement pursuit against Facebook results in the immediate loss of rights to use and distribute ReactJS. The issue’s been discussed in several forums an articles, but here is a quick summary: http://windowsitpro.com/open-source/apache-foundation-and-facebook-standoff-over-reactjs-license.

Do you have any insights about this issue and how it could affect your project? If there’s no solution from Facebook, we’ll likely have to replace the React code at work just to be sure (I really, really don’t see us -or any of our clients- suing Facebook in this lifetime, but who knows?). Of course, I’ll wait to see how it resolves, and maybe stick to React for a while, but I’ll consider switching to Preact soon to avoid doing some extra translations in the future. Have you considered switching to Preact too?

I’d love to hear your opinion on this.

Good question…

Some thoughts (but I’m not a lawyer, so I might be wrong). The BSD + patents license gives you the permission to use the source-code (https://github.com/facebook/react/blob/master/LICENSE) + patent license (https://github.com/facebook/react/blob/master/PATENTS).

The question I read somewhere else is that if you migrate to an other framework, would that solve the issue? E.g. it does not mean that that project does not infringes one of Facebook patents.

The other question is, should ReactJS be replaced now or when it becomes an issue. E.g. it is just a rendering layer on top of the API. I would say preferably later, as I prefer investing my time into moving forward, not sideward :wink:

Regarding the patents infringement, I think it is the other way around: the license states that if you take action against Facebook because they infringed any patent you may have (which may have nothing to do with React or any of their projects), you lose your rights to use React in your projects. Here’s a declaration from a Facebook’s worker: https://code.facebook.com/posts/112130496157735/explaining-react-s-license/. He claims the license aims to prevent meritless patent suits the may get (and I bet they get a lot of those), but says nothing about the ability it gives them to screw you over your patents if you’d like to continue using React.

Personally, neither I nor my workplace hold any patents, so I couldn’t care less, but maybe there are some implications if you ever pack a project built around your solution or other that used React and pass it to a client who may well hold some patents. I’m no lawyer either, so I don’t really know. But you’re probably right and for the time being it’d be better to stick to React. As you say, it’s just frontend, it may be changed without much effort if any real problem arises.

I got a response back from somebody specialised in legal matters, the response was that this is not something to worry about.

Then again, when the situation would arise that you can’t use ReactJS anymore, in can always be swapped at that time (it is only changing the rendering layer). Doing it now would mean I need to make an investment that might not be needed at all.

1 Like

ReactJS v16 will move to the MIT license: https://code.facebook.com/posts/300798627056246/relicensing-react-jest-flow-and-immutable-js/.

1 Like

Yeah, I read last week that Wordpress was moving away from React, and some days later the same post that you shared. So kudos!