Apache bans React due to licensing issues

The details are here:
https://issues.apache.org/jira/browse/LEGAL-303

I’m really glad that a big company took a stand. It looks like it might be working, because as I understand Facebook just re-licensed RocksDB under an Apache license without the patent stuff.

And now, for a tinfoil hat moment: even though companies like Microsoft and Google are using Facebook’s libraries, it is possible that they have some kind of private deal in regards to the patents clause.

11 Likes

This is a very important topic, thanks to expose it, I track also personally (also very sensitive item, especially when you have to engage large companies stack strategies +2 years visibility or assess impact on eventual start-up real success scalability)

This actually have been raised just at the moment when I decided to try React and ant.design for a small project… Well… have to stay with Blaze again then… :-/

Update: By the way - here is the link to discussion on github/facebook/react… https://github.com/facebook/react/issues/10191 - finally see there some fair concerns (after 2 years of blind hype)…

You’re not Apache, and you should consider your own needs instead of just brushing off React because some organization decided against it. It may or may not be appropriate for your situation. They’ve done their homework and decided against it, but plenty of large successful companies are using it and are completely comfortable with it.

for a small project

Then you’re most likely at no threat at all. The following companies are using React in production:

  • Khan Academy
  • Codeacademy
  • New York Times
  • Yahoo Mail
  • WhatsApp
  • Atlassian/Bitbucket
  • BBC
  • Netflix
  • PayPal
  • Microsoft

You can bet their legal teams have heard all the nonsense around the web about the license, and have assessed it themselves and deemed it appropriate. Have you ever heard of a single instance of Facebook exercising this in a malicious way?

There’s also preact which is meant to be a drop-in replacement for React with the same API, but a more liberal license.

I consider my own interests not dealing with things that rely on shady promises of granting a license that “…will terminate, automatically and without notice, if…”. No ‘ifs’! Because if something can go wrong, it will go wrong. And it would be very childish to assert the opposite.

p.s. ant.design is based on react and set of react components, so Preact seem to be not an option unfortunately.

I don’t think the legal teams at Microsoft, Netflix, PayPal, BBC, Codeacademy, etc are childish.

These arguments were already raised many times and we could already script our conversation in advance. We’ll see how it goes with Apache case and the issue. I would gladly consider react if they remove the patent (primarily because of ant.design actually). Until then will have to stay with Blaze and going to try blaze-components this time. Most likely because @nathantreid seem to not upgrade his wonderful blaze-modules to Meteor 1.5… :frowning:

If you want a more component-based approach with the same level of tooling as React, you might wanna give Vue a try. It’s got a Redux alternative, a Chrome dev tools extension, an Enzyme testing alternative, uses Virtual Dom, and has the same concept of components. Here’s links for Vue and the vue-meteor integration. It’s my go-to UI layer

2 Likes

I second the Vue recommendation (it’s what I use now) but I’ll try to update Blaze Modules soon.

FYI RocksDB changed to Apache license so OP is no longer up to date. https://github.com/facebook/rocksdb/releases

Thanks for the suggestions. I am forced now to write one small thing on React specifically because of of ant.design. However together with React have been heavily studying/testing VueJS and RiotJS. So far Riot looks the most logical and clean to me, however it seem to lack proper integration with Meteor… :-/ Vue is not bad but somewhere in the middle, but so far nothing exceptional… :-/

And for the another big app in progress so far I don’t see much of an alternative to Blaze, honestly. And the Blaze Modules actually allowed already to componentize Blaze templates in a very straighforward way (up to several thousands of lines of code btw)… So really I see no reason why I should change a good framework that works to a bunch of modules that ‘might work’ :-/

1 Like