
Explaining React's license - y4m4b4
https://code.facebook.com/posts/112130496157735/explaining-react-s-license/
======
kevinflo
I love love love love love react as a technology, but this is just awful. I
believe any developer not on Facebook's payroll still contributing to React or
React native at this point has a moral obligation to stop. I personally feel
like such a fool for not taking all this seriously before the ASF gave me a
wakeup call. React is a trojan horse into the open source community that
Facebook purposely and maliciously steered over time to deepen their war
chest. Maybe that's an overblown take, but they had a perfect opportunity here
to prove me wrong and they didn't. The defensive cover they present here feels
so paper thin.

Even if we paint all of their actions in the most favorable possible light,
and even if the clause is a paper tiger as some have claimed, it doesn't
matter. This is not how open source should work. We should not have to debate
for years if a project's license is radioactive. Especially individual devs
like myself who just want to use a great tool. We should be able to just use
it, because it's open and that's what open means. This is so much worse than
closed. It's closed masquerading as open.

~~~
stephen82
Well, I planned to learn more about React, but reading now this convinced me
to learn Vue.js instead.

It's under MIT license developed by a single person in addition to community's
contribution.

This link is rather interesting
[https://vuejs.org/v2/guide/comparison.html#React](https://vuejs.org/v2/guide/comparison.html#React)

~~~
unkown-unknowns
Alternatively there's this:
[https://github.com/developit/preact](https://github.com/developit/preact)

Preact is a fast 3kB alternative to React, with the same ES2015 API as that of
React.

Preact is MIT licensed and does not have any additional conditions beyond
that.

~~~
tgb
Sorry I've forgotten what the status was on the "are APIs copyrightable"
question, i.e. the Oracle v Google fight. I'm kind of confused about what
wikipedia says happened - there seem to be two final rulings one in favor of
Oracle and one in favor of Google with Oracle appealing the second. Is it that
APIs are copyrightable but duplicating them is (sometimes?) covered under fair
use? Either way, I'd be a little hesitant to use this.

~~~
ktRolster
APIs are copyrightable. You can see here:
[http://www.zerobugsandprogramfaster.net/essays/x-1.html](http://www.zerobugsandprogramfaster.net/essays/x-1.html)

There is still a question on fair use. Google won the jury trial, but the
appellate court is ruling in a few months, and that could change everything.

~~~
gardnr
The link that you provided is from May of 2016. AFAIK, Google won that case
and the appeals and there are no ongoing appeals:
[https://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google...](https://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google,_Inc).

Oracle really has a way of being a big swinging legal turd, I do believe they
would try anything they could. It just seems like they wouldn't wait a year to
get it going.

------
DannyBee
So, i feel for them, having watched Google's open source projects be targeted
by patent trolls in the past. But i really don't think this is the way
forward.

A few things:

1\. If you want to suggest you are doing this as part of an attempt to avoid
meritless litigation, you really should give concrete examples of that
happening. Otherwise, it comes off as a smoke screen.

2\. The assertion is that if widely adopted, it would avoid lots of meritless
litigation. This is a theoretically possible outcome. Here's another
theoretically possible outcome of wide adoption of this kind of very broad
termination language: Facebook is able to use other people's technology at
will because nobody can afford to not use their stuff, and no startup that
they decide to take technology from, and say "no more facebook/react/etc for
you" could realistically launch an effective lawsuit before they died. Assume
for a second you think Facebook is not likely to do this. If widely adopted,
someone will do it. Nobody should have to worry about this possibility when
considering whether to adopt particular open source software.

(there are other theoretical outcomes, good and bad).

It's also worth pointing out: None of this is a new discussion or argument.
All of the current revisions of the major licenses (Apache v2, GPLv3) went
through arguments about whether to use these kinds of broader termination
clauses (though not quite as one sided and company focused), and ultimately
decided not to, for (IMHO good) reasons. I'm a bit surprised this isn't
mentioned or discussed anywhere.

These kinds of clauses are not a uniform net positive, they are fairly
bimodal.

~~~
fhrow4484
That's a good point, especially since the concrete examples won't possibly be
about patent trolls. Why would patent trolls (aka _Non practicing_ entities)
care about loosing rights "to make, have made, use, sell, offer to sell,
import, and otherwise transfer the [React] Software". (as defined in
[https://github.com/facebook/react/blob/b8ba8c83f318b84e42933...](https://github.com/facebook/react/blob/b8ba8c83f318b84e42933f6928f231dc0918f864/PATENTS))?

~~~
chrisco255
Look at Oracle v. Google...that was a mess. Samsung v. Apple...also a mess.
Not all patent litigation is from trolls alone.

~~~
vonmoltke
Oracle v. Google was not patent litigation (unless you are referring to
something other than the oft-cited but not applicable to this situation Java
API suits).

------
jwingy
I wonder how Facebook would feel if all the open source software they
currently use incorporated the same license. I bet it would deter them from
enjoying much of the code they built their business on. This stance seems
pretty antithetical to the goal and spirit of open source software and I
really hope it's not the beginning of other companies following suit and
'poisoning' the well.

~~~
carussell
> how Facebook would feel if all the open source software they currently use
> incorporated the same license

That would work incredibly well to neutralize patents, actually, and would be
a huge win for free/open source software.

It's surprising not to have seen anyone point out the logical conclusion of a
world where every major license includes a React-like stance on patents: it's
a world where no one is able to bring patent suits against anyone, because it
means they are now violating the licenses of every piece of FOSS they're
currently using. (I'm relying on the assumption that there's no entity that
could perform an audit right now and conclude that there's not a single piece
of FOSS underpinning their products/services/infrastructure.)

Licenses like Apache 2.0, MPL2, etc all have a "MAD" policy wrt patents, but
they all have a gaping hole in their strategy. The React license patches this
hole in a really clever way--probably the cleverest thing since the GPL's
invention of copyleft to hack copyright law by using it against itself. It's
really disappointing to see people's sense of disdain for Facebook overpower
their ability to appreciate how clever the React license is.

Addendum from the last time [1] I commented: "FWIW, I don't use React, I don't
want to, I'm not a Facebook employee, and in fact I think the world would be a
lot better off with Facebook having less influence than they do today. But
that doesn't change how weird it is to keep seeing comments like [those that
frame the React terms in a negative light]".

1\.
[https://news.ycombinator.com/item?id=14780358](https://news.ycombinator.com/item?id=14780358)

~~~
hardwaresofton
So this opinion almost swayed me, but the problem is that companies aren't
scared of open source writers suing them.

If you use project A that was written by one or two developers in their spare
time (and they included a BSD+patents) clause, would Facebook fear being sued
by them? Probably not -- but new companies that get anywhere close to what
Facebook does (increasingly, that's everything these days) definitely live
with the real possibility of facebook suing them.

In theory the "no one is able to bring patent suits against anyone because
they're violating licenses" is a good outcome (mostly the no patent suits
part), but it doesn't quite stand up in practice because patent suits cost
money, and bigger companies can sue you longer than you can sue them. I don't
want a world where MAD is the default, because the large companies carry
nukes, and I carry a peashooter.

I will no longer use react on any new projects.

~~~
chrisco255
The clause states you only lose the patent rights if YOU sue Facebook for
patent infringement (and only for patent infringement, not other reasons).

As pointed out by Dennis Walsh in ([https://medium.com/@dwalsh.sdlr/react-
facebook-and-the-revok...](https://medium.com/@dwalsh.sdlr/react-facebook-and-
the-revokable-patent-license-why-its-a-paper-25c40c50b562)), it would take
millions to bring a patent suit against Facebook.

~~~
yoz-y
This is something I have yet to understand. From all I read about the patent
situation in America it looks like they are totally worthless unless you are a
multi million company. Is there actually no way of pursuing a giant if they
infringe on your IP?

~~~
TimTheTinker
For the most part, yes, unless you're a non-practicing entity (patent troll).

Large companies carry massive war chests of patents, such that anyone who
makes software is most likely violating several of them without knowing it.
They defend themselves from patent lawsuits with countersuits from their war
chests. (Trolls are immune, though, because they don't make software and
therefore aren't infringing in the first place.)

------
eridius
> _We 've been looking for ways around this and have reached out to ASF to see
> if we could try to work with them, but have come up empty._

There's a pretty obvious solution to this: relicense React. The fact that
Facebook isn't even considering that is a pretty strong indication that they
"weaponized" their license on purpose.

> _To this point, though, we haven 't done a good job of explaining the
> reasons behind our BSD + Patents license._

I think we already understand the reasoning behind it.

> _As our business has become successful, we 've become a larger target for
> meritless patent litigation._

And the solution you chose stops merit-ful litigation as well.

> _We respect third party IP, including patents, and expect others to respect
> our IP too._

Clearly you don't, because you've intentionally designed a license to allow
you carte blanche to violate other companies' patents if they're dependent
enough upon React to not be able to easily stop using it.

~~~
jaredklewis
I would patiently beg everyone to employ some basic reasoning.

Situation A: React is licensed under BSD + PATENTS. You sue Facebook for
infringing your widget patent. Turns out Facebook has a patent for something
in react. They revoke your grant and counter sue you for infringing that
patent. Long legal battle ensues.

Situation A: React is licensed under just BSD. You sue Facebook for infringing
your widget patent. Turns out Facebook has a patent for something in react.
You never had a grant so Facebook counter sues you for infringing that patent.
Long legal battle ensues.

Can someone coldly explain how anyone anywhere would be helped in any way by
removing the patents file? Or is the BSD license the problem?

~~~
SAI_Peregrinus
People are worried about Situation C: React is licensed under BSD + PATENTS.
You sue Facebook (or any corporate affiliate of theirs) for infringing on your
widget patent. Facebook revokes your react license and counter sues you for
copyright infringement.

The patents clause doesn't have anything to do with any patents on parts of
React. It's a way for Facebook to make it so that anyone who wants to sue them
for patent infringement can't use React.

~~~
Lazare
> People are worried about Situation C: React is licensed under BSD + PATENTS.
> You sue Facebook (or any corporate affiliate of theirs) for infringing on
> your widget patent. Facebook revokes your react license and counter sues you
> for copyright infringement.

This cannot happen. This is not a thing. Nobody is legitimately worried about
this; anyone who is needs to take a deep breath and stop being ridiculous.
This has been clarified many times.

(Source: The plain language of the license, multiple independent lawyers who
have commented on this, Facebook's official license FAQ, etc. The BSD license
does not terminate when the patent grant does.)

~~~
allover
The lawyer who wrote this piece [1], AND automattic's general counsel agree on
this.

> Automaticc’s general counsel also agrees with my analysis of contractual and
> copyright liability in that the patent clause does not revoke the underlying
> license.

[1] [https://medium.com/@dwalsh.sdlr/react-facebook-and-the-
revok...](https://medium.com/@dwalsh.sdlr/react-facebook-and-the-revokable-
patent-license-why-its-a-paper-25c40c50b562)

------
rakibtg
This is pathetic and breaks my heart. Expecting something good from thieves is
not very practical, Facebook the company started by stealing others dream.
This days if you take a look at them, they won't let grow any other app for
any cost. They bought instagram, whatsapp where they already was providing
such feature but due to their earlybird list.

Also instead of contributing few tweaks into NPM they made a clone of NPM
called Yarn, so funny.

Instead of contributing changes to PHP they made a clone of PHP called
HackLang, i am laughing laughter :D

Facebook is a proven bad actor for all open source projects, and its time to
be aware. One possible solution is to ban facebook from using any open source
projects with a new license.

One day we will going to have F-Git (a copied version of git with some tweaks
by facebook)

Snapchat denied to become a part of their monopoly cycle, they made a 100%
clone of the product in facebooks every fucking platform. As a software
engineer i found it very illegal and unethical, every maker should have good
ethics, thats why facebook was unable to invent anything other than Poke
feature on facebook itself.

Shame

If i were working at facebook i would definitely switch the company to better
one, who won't force me to copy others.

However, i am upset, because the technology that i loved most was just a
typical facebook product comes with hidden payloads. I would definitely stay
100% away from all facebook products. It also gives us a free lesson how a
evil a tech company could be.

Alternatives: My personal list of alternatives are,

React = Vue JS

React Native = Native Script

All i can do is this:
[https://twitter.com/rakibtg/status/892784442476904449](https://twitter.com/rakibtg/status/892784442476904449)

~~~
rafinha
Caffe and Caffe2 is also a good example!

~~~
zeptomu
What - Caffe2 is a Facebook project?

I used the original Caffe and thought it was built by Berkely University -
Caffe2 only shared the name I guess?

~~~
rafinha
Yes, just like he mentioned for the other projects. It even has the PATENTS
file added to it:
[https://github.com/caffe2/caffe2/blob/master/PATENTS](https://github.com/caffe2/caffe2/blob/master/PATENTS)

------
Scaevolus
Almost all of Facebook's "open source" code has the same PATENTS file, which
makes them toxic if you can imagine a future where Facebook infringes one of
your patents:
[https://github.com/search?p=5&q=org%3Afacebook+filename%3APA...](https://github.com/search?p=5&q=org%3Afacebook+filename%3APATENTS&type=Code&utf8=%E2%9C%93)

This includes things far outside the React ecosystem:

    
    
        - Flow (JS type checker, like TypeScript)
        - prepack (JS optimizing transpiler)
        - a bunch of Android/iOS UI/debugging frameworks,
        - all their GraphQL libraries (server/client)
        - their machine learning work (mostly targeting Torch)
        - Reason (statically typed programming language that transpiles to JS/OCaml)
        - ZSTD, a highly competitive compression algorithm.
    

Disclaimer: I work at Google on Kubernetes (which is Apache licensed). This is
my personal opinion. I am frustrated with software with trivially incompatible
licenses.

~~~
IanKelling
> I am frustrated with software with trivially incompatible licenses.

It's not a copyright license, and it's not incompatible with any other free
software license. I'm frustrated with the misinformation spread about it.

If this patent license/grant get's revoked, you are back to simply using the
BSD license with no patent grant. I've read so many people say "you'd have to
stop using react if you sued facebook", uh, no, you'd have a bsd license with
no patent grant like you probably do with tons of other free software your
company uses. Clearly, people should be complaining about that if they are
complaining about this, but the misunderstanding and misinformation is really
strong. If you believe software patents are universally bad, like many people
including me, then it is clearly better using the MIT/BSD license alone, which
gives you zero patent rights, you are simply infringing and waiting to be
sued. I have no problem with it. [https://www.gnu.org/philosophy/software-
patents.en.html](https://www.gnu.org/philosophy/software-patents.en.html).

~~~
jnbiche
Your explanation really doesn't jibe with the explanation given in Facebook's
post. If what you say is true, why do they make a point about this patent
grant protecting them against patent trolls? There's something tricky about
this that I can't figure out, but I really have a hard-time believing they're
acting in good faith here.

~~~
vonmoltke
As cited at multiple other places in this thread, Facebook's own FAQ on the
licensing explicitly states what GP just did.

~~~
jnbiche
If we use the "minimalist" interpretation like you and others propose here,
then I'm stumped by Facebook would bother. It's such a _tiny_ , ultra-specific
advantage for Facebook. Why throw this gas on the fire for such a minimal
advantage? Just leave it alone.

I suspect this must be coming from Zuckerberg. He's pissed off that some
patent troll, somewhere, was using Facebook open source, and he issued an
edict. That's the only way this makes any sense at all.

------
Steeeve
> We've been looking for ways around this and have reached out to ASF to see
> if we could try to work with them, but have come up empty.

This, to me, is a significant warning sign.

I was leery of the React license to begin with. But the community at large had
_almost_ convinced me that it was nothing to worry about.

Unfortunately, Facebook's position as stated here is clearly that the license
is weaponized for a reason. I think it's irresponsible to leverage software
with this license without clear guidance from legal and corporate overlords
stating that it's OK.

~~~
pdfernhout
Yeah, I got tons of pushback when I tried to steer Automattic and the
WordPress community away from React in 2015 with people saying not to worry:

"Replace React with Mithril for licensing reasons"
[https://github.com/Automattic/wp-
calypso/issues/650](https://github.com/Automattic/wp-calypso/issues/650)

Personally, I increasingly doubt that BSD+PATENTS is even GPL-compatible --
and so potentially Automattic may be violating the GPL by using React
integrated with WordPress.

What's especially sad about this is that React isn't even that good compared
to other vdoms like Mithril and Inferno and others. React just has a lot of
name recognition and mindshare from the Facebook association (which then
translates into a rich-get-richer effect with more tutorials and components).

Here is a list of more than twenty alternative vdoms I put together in January
2016 (although Mithril remains my favorite):
[https://github.com/dojo/meta/issues/11#issuecomment-17679024...](https://github.com/dojo/meta/issues/11#issuecomment-176790243)

~~~
Lazare
If Facebook has a patent on React, it's almost certainly going to be on the
vdom concept.

If Facebook has a patent on the vdom, then all the projects in your list
violate the patent, and none of them come with even a conditional patent grant
from Facebook.

If Facebook does not have a patent on the vdom or other React technology, then
those other projects are safe, _but so is React_ , since termination of the
patent grant has zero cost to you.

My personal belief is that Facebook has no patents on React, so I feel safe to
use React, Mithril, or any other vdom based library. But I can certainly
understand people who feel like they need to play it safe, assume Facebook
_does_ have a vdom patent, and avoid all such libraries.

But I'm not really following your logic at all. It's like you think Facebook
has a patent, but then you only want to use the libraries that maximise your
ability to get sued over it? What am I missing?

~~~
jnbiche
You're missing the fact that if you sue Facebook for _any_ patent
infringement, even a legitimate one (say, you're the creator of some new
hardware), Facebook will revoke your React license.

Also, Facebook has no vdom patent. It's not like you can be granted a secret,
hidden patent (even the word "patent" itself means "open").

~~~
chii
> Facebook will revoke your React license.

you mean their patent grant? How can an open source license like apache, MIT
or bsd be "revoked"? Do facebook have a public blacklist of people who aren't
allowed to use react?

~~~
devdoomari
um... because it's they can? I can make a library with MIT license to everyone
else but you.

MIT and BSD licenses merely provide short-cuts to understanding a project's
licensing

~~~
nopzor
Not practically, because once you make a library with an mit license available
to anyone, they can give to anyone you didn't "want" to give it to, per the
mit license.

------
antoncohen
Facebook's license is no more dangerous than regular MIT or BSD-style
licenses. If you are OK with using MIT or BSD licensed software you should be
OK with using Facebook's BSD + Patents software.

Here is why:

MIT and BSD licenses don't have any patent grants, unlike the Apache 2.0
license. If you use MIT/BSD open source software, and some functionality of
that software is patented by the author, you could be sued for patent
infringement.

If you use software licensed under Facebook's BSD + Patents license, and the
author of the software (Facebook) has patented technology in the software
(which AFAIK they don't), the author CANNOT sue you.

Now if you turn around and use the author for patent infringement for
something else, you lose the patent grant that came with the software, and you
are back to a normal plain old BSD license.

The BSD + Patents license is strictly better than the regular BSD/MIT
licenses. You lose no rights, you may gain some patent protection.

Major software like Ruby (BSD), Rails (MIT), and FreeBSD (BSD) use licenses
without patent grants. Entire businesses are built on top of these pieces of
software, e.g., GitHub (Ruby and Rails) and a lot of commercial hardware built
on FreeBSD
([https://en.wikipedia.org/wiki/List_of_products_based_on_Free...](https://en.wikipedia.org/wiki/List_of_products_based_on_FreeBSD)).

Read the patent grant for yourself:

[https://github.com/facebook/react/blob/master/PATENTS](https://github.com/facebook/react/blob/master/PATENTS)

~~~
DannyBee
"MIT and BSD licenses don't have any patent grants, unlike the Apache 2.0
license. If you use MIT/BSD open source software, and some functionality of
that software is patented by the author, you could be sued for patent
infringement. " Every single lawyer i've ever spoken to strongly believes
implied licenses will protect you very well here. Like, among us open source
lawyers, it's pretty much the one thing people agree on.

"If you use software licensed under Facebook's BSD + Patents license, and the
author of the software (Facebook) has patented technology in the software
(which AFAIK they don't), the author CANNOT sue you."

This is just flat out false, and i'm not sure why you believe this. The
termination is broader than the grant. The grant is for patents in a given
piece of software, the termination crosses all software.

Concretely: if you use react, and they sue you over patents in notreact, and
you countersue, you do not lose your react patent license. They are still
welcome to sue you over notreact, there is nothing in this license that will
prevent that from happening. It only gave you patent rights to react.

(It also says that if you sue them over notreact, you will lose _all_ patent
licenses in all software that use this license, which is why the termination
is broader than the grant).

"The BSD + Patents license is strictly better than the regular BSD/MIT
licenses. You lose no rights, you may gain some patent protection."

This is also an incorrect legal statement.

Once their is an explicit grant, any implicit grant you would have gotten is
extinguished. In this case, the terms of the implied grant were _much_ better
for people than the terms of the explicit one. So you are, in fact, losing
something

~~~
IanKelling
> Once their is an explicit grant, any implicit grant you would have gotten is
> extinguished.

Citation needed. And if you aren't planning to sue over software patents, then
the author is clearly correct that this is strictly better than BSD/MIT alone.

~~~
DannyBee
"Citation needed."

Seriously? This is basic IP law 101. No license can be implied if there is an
explicit license.

I actually started gathering cite lists for you like I normally do, but
instead, i'm not going to in this case. If you really want to argue this
point, please go to google scholar and spend the 2 minutes it will take to
pull up 100 cases on this.

I don't feel it's fair to argue about a thing without taking the very small
amount of time to familiarize yourself with it.

If you find cases that say otherwise, awesome, let's talk about it!

Otherwise, this is like arguing about baseball and asking someone to cite
rules because _you_ want to argue that swinging at the ball and missing isn't
a strike.

"then the author is clearly correct that this is strictly better than BSD/MIT
alone."

They actually are not, as the scope of the implied license is _much_ broader
than the scope of the explicit grant here.

~~~
IanKelling
Edit: afaik, implicit patent license for free software licenses are unproven
in court. It's an interesting idea, and I actually hope it's the case that
everyone is getting an implied patent license that will hold up in court.
Thanks for the information, I wish I had incorporated it in my original
comment.

------
fhrow4484
This is in reply to the Apache Software Foundation decision to list the BSD +
Patents license as a Category-X license.

\- Facebook gets attacked by meritless patent litigation

\- Facebook creates the BSD + Patents license, which has the following effect
:

> The patent grant says that if you're going to use the software we've
> released under it, you lose the patent license from us if you sue us for
> patent infringement.

\- Facebook believe that 'if this license were widely adopted, it could
actually reduce meritless litigation for all adopters'

I understand Facebook's position here, surely this will decrease meritless
litigation, but what about meritful litigation?

Let's take an example, a small startup has a cool technology but also all
their front-end is using React. That cool technology is patented.

Now if 'Facebook or any of its subsidiaries or corporate affiliates' infringe
on that patent, that startup won't be able to sue them without first re-
writing the entire front-end to not use React.

I don't think software should be patent-able in the first place anyways but it
seems the situation above would still be true if that startup sues them for
what they believe is a completely legitimate hardware patent.

Also, IANAL, I'm wondering what even is the definition of a 'corporate
affiliate' here? Who is a 'corporate affiliate' of FB?

Finally, what ' _patent_ license' are they referring to in this post anyways ?
The react's PATENT clause
([https://github.com/facebook/react/blob/b8ba8c83f318b84e42933...](https://github.com/facebook/react/blob/b8ba8c83f318b84e42933f6928f231dc0918f864/PATENTS))
says they're providing the _React software_ License, and they revoke this
_software_ license if you sue them.

~~~
bpicolo
> without first re-writing the entire front-end to not use React

Do note this isn't necessarily the case, because nobody has yet found a patent
that covers React.

~~~
fhrow4484
This is what I find confusing, the blog post mentions a _patent_ license that
you are granted, but as you say, nobody is aware of any patent covering React.
React's doesn't seem to use any novel technique in the field of CS.

But
[https://github.com/facebook/react/blob/b8ba8c83f318b84e42933...](https://github.com/facebook/react/blob/b8ba8c83f318b84e42933f6928f231dc0918f864/PATENTS)
, the way I read it says they grant you a license to to "make, have made, use,
sell, offer to sell, import, and otherwise transfer" the React Software. They
don't seem to give you a license to any patent.

~~~
fhrow4484
EDIT: "license under any Necessary Claims" seems to mean a license to the
patents necessary for React as pointed out by
[https://news.ycombinator.com/item?id=15052962](https://news.ycombinator.com/item?id=15052962)

>> A "Necessary Claim" is a claim of a patent owned by Facebook that is
necessarily infringed by the Software standing alone.

------
Eridrus
I think the reasoning that this will protect them against frivolous lawsuits
is pretty poor; you only need a patent grant if you're actually building
software. Patent trolls don't build anything so they have no need for patent
grants.

~~~
coldtea
> _Patent trolls don 't build anything so they have no need for patent
> grants._

You'd be surprised. Patent trolls can have all forms, not just a only-suing
company. Some company that has failed as a startup, but which holds 1-2
patents might decide to turn into patent-trolling to make a quick back while
it dies.

Think also of companies like SCO.

~~~
Eridrus
> Some company that has failed as a startup, but which holds 1-2 patents might
> decide to turn into patent-trolling to make a quick back while it dies.

If the startup is dead it should be trivial to transfer the patents to a
separate entity and then sue from that entity, making counter-suits
irrelevant.

This only has an affect on companies which are a going concern.

Companies who plan to make litigation part of their strategy can pretty easily
just not use React.

This does the most harm to companies who were not planning to come into
conflict with Facebook, and then do.

------
ralmidani
For someone like me, (Free Software advocate, Ember user looking for a breath
of fresh air--and better job prospects--with React), it all boils down to
doing a cost-benefit analysis.

Sweeping conclusions like "you have nothing to worry about" or "you should
never use software with such a license" do not apply to everyone.

As a Free Software advocate, I abhor troll-like behavior, regardless of
whether the vehicle is patents, copyrights, or anything else.

I am also more likely to benefit from potential patents contained in a project
like React than I am to ever 1) Own a patent. 2) Have a company use that
patent in a way I find harmful and offensive. 3) Have the resources to sue an
internet giant.

So for me, it's probably worth it to use React, although I can understand why
others insist on a more cautious approach.

One thing Facebook could do that would inspire confidence (not to mention make
the company a champion of free innovation) is to enumerate which patents the
company owns and release all of them under the Defensive Patent License [0].

Such a move would require a lot of courage, but Facebook is large enough and
entrenched enough that they would probably gain much more than they could
potentially lose.

[0] [https://defensivepatentlicense.org](https://defensivepatentlicense.org)

~~~
falcolas
Is React really free software? It's free as in beer, but you have to give up a
lot of rights completely unrelated to React in order to use it.

Sure, it may never be a problem (it probably won't be a problem for 99.9% or
more of those who use it), but who is willing to take that chance with the
future of their company?

~~~
ralmidani
Facebook doesn't deny you the freedoms of using the software without
restriction, studying it, modifying it, and distributing it (with or without
your modifications).

I personally wish FB would release even more of their platforms as free
software, preferably under (A/L)GPL3 or MPL 2 or Apache 2. But we do not live
in a perfect world. Even the folks at FSF made some compromises regarding the
wording of the patent provisions in the GPL3 family, in order to get more
companies to adopt the licenses [0].

I am sure the folks at FB know the first time they abuse the patent
stipulations, a lot of people using React will jump ship.

[0]
[https://www.gnu.org/philosophy/compromise.html](https://www.gnu.org/philosophy/compromise.html)

------
slackoverflower
Of course they release this late on a Friday so it is does not get much reach.
Facebook is very very evil - in every part of the company. Copying other's
ideas (Snapchat) yet trying to stop other companies from copying them (this
licensing).

~~~
bdcravens
I don't see it as "released". It's just the closing of a Github issue, not a
press release.

Do you feel that if a company is "evil", do you feel there's a moral
imperative to not use their products? It seems to me there's a lot of "But
React!" going on.

~~~
Xoros
The post linked is from 4 hours ago. So yes it's a late Friday statement.

[https://code.facebook.com/posts/112130496157735/explaining-r...](https://code.facebook.com/posts/112130496157735/explaining-
react-s-license/)

~~~
bdcravens
I think the linked URL has changed - before I thought it was to the Github
issue.

------
Illniyar
It seems to me the core of the disagreement revolves around whether you
believe there is an implicit grant of patent or not.

If you believe the BSD has an implicit grant, then the facebook license is a
more limited license. If you don't believe it, then the facebook license is
better for the user.

As far as I know there is no president to solve this neither in the U.S. or
europe, so both views are valid.

One thing is weird in facebook's behaviour though - they imply that the BSD
doesn't have an implicit grant, and so they are benevolently giving away a
better license, but if so, then the public outcry should be enough to take it
back, if it's just a gesture of good will, and it isn't received as such,
what's the point in continuing in this course?

The only explanation they give is that they are more or less on a crusade for
people to adapt this license because they believe it will reduce patent
lawsuits

------
joobus
The Facebook patents license,
[https://github.com/facebook/react/blob/master/PATENTS](https://github.com/facebook/react/blob/master/PATENTS)
, says:

> 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: ... (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,

I always thought the main problem was this part, where you basically lose the
license or your IP if Facebook ever decides to become your competitor, e.g.
you start a company with a react front-end that does X, and then Facebook
decides to directly copy your business. You have no recourse against Facebook,
because if you sue them for infringing your IP, you lose the ability to use
the React license.

~~~
nojvek
If Snapchat used React, Facebook would kill them to death because Snapchat
couldn’t do much. They already mass copied snapchat’s Features.

Any sane aspiring developer would know not to give Facebook that much power.

~~~
neospice
Is SNAP pursuing litigation in retaliation to this?

If not, then would it have mattered if they used React?

------
captainmuon
I would appreciate if Facebook would actually explain their license.

Especially: Is BSD+Patent strictly more permissive than BSD or not? There are
two major camps as far as I can see:

Camp 1: BSD license does not give you a patent grant. You can always be sued
by Facebook if you infringe (potential) React patents. On top of this,
Facebook grants you use of (potential) React patents - but only as long as you
don't enforce patents against them. If you do, you are back to the BSD license
alone.

Camp 2: This camp believes a) that the BSD license implies an unconditional
patent grant (for React) and b) that the conditional patent grant ('PATENTS')
is not optional, but inseparable from 'LICENSE'. If this is true, BSD+Patent
grant is strictly less permissive than BSD alone. If you enforce patents
against Facebook, you stand worse than with BSD alone.

The only way this could be cleared up (beyond doubt) is by a court, or very
easily with a few lines from Facebook.

------
beager
As I understand the asymmetry in the BSD+patents license, the real issue here
is that usage of React significantly weakens you with respect to mounting a
defense against Facebook for infringing upon your own patents or IP, a
possibility which, given the stark example of Instagram Stories, is plainly
plausible. (This is not to say that Instagram Stories is patent theft, but
rather a propensity to copy ideas wholesale).

Were Facebook to amend that license to soften the criteria for revocation of
the license grant in cases of suits against Facebook for infringement, this
outrage might just go away. But as it stands now, Facebook stands to exercise
an ability to infringe on others' patents for monetary gain so long as the
patent holder uses React in deployment. It would be easy to weaponize this
arrangement, and you have to assume that any fiduciary would consider it.

More broadly, this is a good case to be made against software patents in
general.

~~~
chrisco255
Not really. Not necessarily. Patents aren't all created equal. The economic
value you derive from using Facebook's open-source patent grants is probably
not going to be higher than whatever patent suit you're bringing against
Facebook (if you deem it necessary and have the millions to wage such a war).

------
molecule
Discussion of this topic:
[https://news.ycombinator.com/item?id=15050705](https://news.ycombinator.com/item?id=15050705)

------
thesausageking
> Their decision was not a legal decision about the compatibility of projects
> with this license. As has always been the case, source code licensed under
> the Facebook BSD + Patents license can be combined with source code licensed
> under other open source licenses like BSD, MIT, Apache 2.0, and GPL.

What complete, tone deaf newspeak. If a BSD-licensed project uses code with a
Facebook BSD license, the project is now Facebook BSD licensed. That means
it's incompatible with the BSD license.

~~~
rhizome
The way I read it, ASF denied FB's BSD+Patents license in a mysterious
bureaucratic decision that will cause a lot of pain for companies that use
React, while FB's decision to _create_ the BSD+Patents license was an
altruistic move designed to benefit the software ecosystem and reduce their
patent litigation overhead.

I believe FB is at the "pounding on the table" stage.

~~~
gstein67
The ASF does not want downstream users to be caught by more restrictions than
those of the ALv2. The BSD+Patents licensing imposes more restrictions; thus,
Apache projects cannot depend upon software under that license.

This is pretty clear, and the ASF has been operating under this "no more
restrictive than the Apache license" since its origin.

~~~
rhizome
I know, I was satirizing the tone of FB's post, where ASF are weird meanies
and FB is just trying to give everybody sunshine and lollipops.

------
jwingy
I wonder how Facebook would feel if all the open source software they
currently use incorporated the same license. I bet it would deter them from
enjoying much of the code they built their business on. This stance seems
pretty antithetical to the goal and spirit of open source software and I
really hope it's not the beginning of other companies following suit and
'poisoning' the well of other open source projects.

~~~
pdfernhout
I completely agree that the Facebook BSD+PATENTS license is antithetical to
the goal and spirit of open source software. And that is why the Apache
Foundation rejected it it. I'd like to see more statements by more groups like
the FSF and OSI on that.

------
tbrock
Isn't the style of programming react imposes (unidirectional data flow and
component composition) the real innovation for front end applications here?

Sure the dom diffing technology was hot at the time it came out but it's
basically is a commodity item at this point.

In that sense, the open source community can (and should) build multiple react
clones that are licensed more liberally.

Sure, I'm annoyed by the licensing of React too, I think abou it a lot. But
does it really matter that Facebook won't budge on this? The technology is out
there whether it's React or not.

~~~
krirken
Indeed, preact [1] and and inferno [2] are both MIT Licensed.

[1]
[https://github.com/developit/preact/blob/master/LICENSE](https://github.com/developit/preact/blob/master/LICENSE)

[2]
[https://github.com/infernojs/inferno/blob/master/LICENSE.md](https://github.com/infernojs/inferno/blob/master/LICENSE.md)

------
digitalzombie
Damn glad I left web dev 3 years or so ago.

It was ember vs angular. I was like I'm out, going for data science.

While on the side line I've witness:

Angular was winning until Google made a new framework and named it Angular 2.

React took over until people find out their license is a trojan horse.

Now what? emberjs? Angular 3 (oh wait wtf it's 4)?

Jeez, front end is a mess of wild west. Yes, I understand the value in keeping
up to date and continuously studying but the rate that frontend is going it is
stupid.

------
abhisuri97
ELI5 anyone? My basic understanding is if you use React and decide to sue FB
for patent infringement down the line, FB can countersue(?) bc they revoke
your grant to use the patent upon you suing them. But what _exactly_
constitutes using React? Of course using the library is one thing, but what
about using some other library that installs React as some dependency? Does
using JSX also count as using "React"? I just feel that what exactly
constitutes using React is very vague esp considering there are many non-FB
tools that use "React" (and associated technologies, eg the idea of Virtual
DOM) in some form or another.

~~~
ufo
IANAL but...

> but what about using some other library that installs React as some
> dependency?

I think that still counts as "using react".

> Does using JSX also count as using "React"?

I think that if you use a custom JSX compiler instead of the one that comes
with React then you could be clean. JSX itself is just a programming language
and cannot be copyrighted.

> I just feel that what exactly constitutes using React is very vague esp

I don't think that is vague, actually. In the end, what matters is if the
whole system includes React source code in some way or another.

> and associated technologies, eg the idea of Virtual DOM

Associated technologies are not covered by copyright. They could possibly be
covered by patents but that would be a whole different can of worms.

------
ai_ia
Okay, I need some clarifications now regarding the whole issue. I am building
my web app using React and will be extending to mobile platforms using React-
Native. The product is kind of paradigm change in the way we deal with
education, so I will at some point consider getting a patent protecting my own
interests.

My questions are as follows: 1\. If fb copies the entire thing, repackages it
as something different and tries to make it free and open source. I wouldn't
be able to sue them just because I used React and React-Native?

Is that all what the patent license means or I am missing something here?

~~~
scott_karana
You would be able to sue them, but you'd lose the grant to use any patents
that cover React.

------
JoshMnem
I'm not sure if React (and the other projects that contain the PATENTS file)
will survive the backlash to this in the long run. Vue.js is rapidly climbing
in popularity, and Elm is probably going to go mainstream in 2018. There are
alternatives like Mithril and Ember too.

~~~
delambo
The stats don't really suggest that vue is rapidly climbing in popularity:

[https://npm-stat.com/charts.html?package=react&package=vue&p...](https://npm-
stat.com/charts.html?package=react&package=vue&package=mithril&package=ember&package=elm&from=2015-01-01&to=2017-08-19)

While popularity might not have anything to do with your use case, it still
means a lot in terms of ecosystem, tooling, training, support and
documentation.

~~~
JoshMnem
See: [https://github.com/showcases/front-end-javascript-
frameworks](https://github.com/showcases/front-end-javascript-frameworks)

These things usually don't happen overnight. It will be interesting to take
another look about a year from now.

------
web007
I don't understand ASF's position on this. How is FB-BSD+P different from CDDL
1.1, which includes section 6.2 regarding termination of patent rights in the
event of a suit?

~~~
Steeeve
ASF's license limits it's scope. ASF software cannot carry dependencies on
licenses that have wider scope than their license. In addition to the scope,
the FB license is very one-sided.

As such, ASF decided to disallow FB licensed dependencies. One particular ASF
project did not have an alternative, so they asked FB to re-license. FB agreed
to do so.

Because it was easy, and because the positive talk surrounding FB's license
seemed to intimate that FB's intention was the same as ASF's license
intention, they requested FB to relicense react so that it too could be
included as a dependency on ASF projects.

Faced with making a decision, FB determined that their licensing strategy
associated with litigation was more important than their ability to be
included in ASF projects.

A lot of eyes were watching the request, many hopeful that the FB decision
would justify and clarify their interpretation of the FB license and it's
intentions. FB disappointed them though, and basically said "bugger off if you
don't like it. We'll lose people, but we don't think it will be that many."

Judging from this discussion - and the fact that HN is one of the most pro-
react communities around - this decision will not play out kindly and could be
the death-knell of react's position as a major force in UI development.

------
danjoc
This is a defensive answer. Facebook doesn't even enumerate the React related
patents, so you're left guessing about that. At the very least, they should
maintain and up to date list of patents granted. What do they have to hide?

~~~
gstein67
With patents, it is usually best to not show your hand. Patent holders never
publish the list of patents that read on their software.

------
valarauca1
TLDR:

\- They confirm Apache's legal reading of the BSD + Patents.

\- They deny the part about Facebook being able to steal your IP because
_Facebook isn 't like that_.

\- They refuse to codify changes to enforce _Facebook isn 't like that_

\- We therefore must assume Facebook is like that.

------
haeffin
> I like that we clearly include a patent license in our repo. IMO it would be
> nice if more companies would choose this route too.

I don't get this. The Apache2 license also has a section on patents ...

~~~
CodeWriter23
Yes. And it says you lose the rights Apache granted you if you litigate any of
the patents granted by Apache. Facebook's says you lose license to their
patents if you litigate or even have shares in a company that litigates
against Facebook for ANY patent. It's completely different. And toxic.

------
russellbeattie
Hmm... "You don't like it? Go jump in a lake." Is that really an explanation?

~~~
ergo14
Well generally React users seem to not care. So I don't blame FB. I guess the
clause could be rewritten to be more like what Google/Apache 2.0 does - then
everyone would be happy.

~~~
pdfernhout
React was originally under the Apache2 license. So is this a bit of a bait-
and-switch?
[https://github.com/facebook/react/blob/75897c2dcd1dd3a6ca462...](https://github.com/facebook/react/blob/75897c2dcd1dd3a6ca46284dd37e13d22b4b16b4/LICENSE)

Also, could that original patent grant in the original license apply to later
versions of React?

~~~
hajile
I don't think so, but you could fork from v11 (0.11 in old naming) as it was
the last full release to use Apache.

------
bakli
Does anyone have experience with
[https://preactjs.com/](https://preactjs.com/)? Is it really the same
(component wise)?

~~~
hobofan
Yeah, I recently replaced React with Preact in compat mode, without problems.

------
JoshMnem
I'm not sure if React (and the other projects that contain the PATENTS file)
will survive the backlash to this in the long run. Vue.js is rapidly climbing
in popularity, and Elm is probably going to go mainstream in 2018. There are
alternatives like Mithril and Ember too.

~~~
threatofrain
Elm going mainstream?! What a prediction!

~~~
devdoomari
yeah I doubt about elm, but vue is definitely catching up.

~~~
JoshMnem
Why do you doubt it? I'm pretty sure that Elm will do it. :)

~~~
threatofrain
Are there any big projects currently written in Elm?

~~~
JoshMnem
What do you consider big? Elm is still in the early stages.

[https://www.pivotaltracker.com/blog/Elm-pivotal-
tracker/](https://www.pivotaltracker.com/blog/Elm-pivotal-tracker/)

~~~
threatofrain
I'm curious to look at any big and open Elm app, to look at how a big project
feels like, especially one that probably has to interact with other JS. I ask
only because a precursory search on GitHub revealed little.

------
mrhigat4
That's a shame. I really like the React interface, but would never build a
company with it at the core just on the principle. Revoking on first strike is
super defensive and just plain slimy.

If there were something like create-preact-app (not forked from create-react-
app) I'd be all about it. With special decorators, dogmatic separation of
templates, styles and logic, and mutability I don't think I can get aboard the
Vue.js train though I'll admit I haven't dove deep yet.

The worst part is how Facebook seems to be asking other big players to follow
their lead in adding kill switches to FOSS. It'd be one thing if it were just
React. Devs shouldn't let this become common practice.

------
gstein67
There is a lot of confusion with regards to one point: the Apache Software
Foundation _did not_ make a request for a license change.

The Foundation does not presuppose to know how others should license their
products. That is those others' choice. The Foundation does have policies on
what licenses can be used, within the Foundation's projects. But that is for
_our_ projects, and not the same as pushing back against license holders.

So please. Stop with the meme of "Facebook rejected the Foundation's request".
Not true. Facebook made a business choice, and the Apache Software Foundation
will make its own choices.

The request came from one our projects' committers. Please do not confuse who
speaks for whom.

~~~
devdoomari
it's not 'rejection' that's bothering ppl... most ppl don't care about
'rejection' whether it happened or not.

------
delinka
Someone please help me understand the problems here. The repository includes
two documents: 1) a proper BSD license, and 2) a patent license. While reading
the latter, I see no mention of it affecting the former.

So my take on this is that it's BSD-licensed code. Period. The patent license
is a "bonus" and not at all required by the BSD license, and doesn't affect
the BSD license. Any other company offering BSD licensed code is free to
withhold licensing their patents at all. So are we suggesting that the patent
license is a bad idea? That it's revocability is a bad idea? Why does this
matter when the software is licensed under a BSD license?

~~~
navinsylvester
This explains the rationale: [https://www.cncf.io/blog/2017/02/01/cncf-
recommends-aslv2/](https://www.cncf.io/blog/2017/02/01/cncf-recommends-aslv2/)

~~~
delinka
This reads to me like it boils down to "oh, geez, stop making people read your
additional licenses and just use ours." And that's fine. But the HN comments
all make it sound like the situation with a custom patent license is an
offensive affront to their existence as software engineers. And I personally
disagree with that strong stance. Especially from a group that also seems to
agree that patents in the software world are obnoxious and would presumably
not ever sue over such a patent...

------
HugoDaniel
Seamlessly switched from react to infernojs[0] a year ago. The only difference
is that the apps are way faster now in infernojs while providing me with more
optimization options as jsx properties[1]. Also their support channel in slack
is great[2].

[0]
[https://github.com/infernojs/inferno](https://github.com/infernojs/inferno)

[1]
[https://infernojs.org/docs/guides/optimisations](https://infernojs.org/docs/guides/optimisations)

[2] [http://infernojs.slack.com](http://infernojs.slack.com)

------
tuxracer
Just as a thought experiment if every piece of software had a similar clause
in their license it would mark the end of software patents. Isn't this what we
actually want more of? Isn't _that_ actually the moral high ground?

~~~
JoshMnem
If that were Facebook's goal, why wouldn't they just team up with a few other
large companies and lobby for abolishing software patents in the US?

~~~
sanxiyn
I actually think this is Facebook's goal. As for your question, I think they
aren't trying to abolish software patents in the US because they judge (IMO
correctly) that it is unlikely to succeed.

~~~
JoshMnem
That seems highly unlikely, considering the way Facebook operates.

------
tomduncalf
I'm trying to understand what the real world implications of this notorious
clause could be - obviously a lot of it comes down to legal interpretation but
would be interesting to know people's thoughts.

Say my company patent some key part of a product, and Facebook then release a
product which infringes on this patent.

If my company were to sue Facebook for this (unrelated to React) patent
infringement, then as I understand it, this patent clause would cease to apply
to my company.

Does that then mean that Facebook could countersue my company for using React,
saying that some part of React is patented and my use of it is therefore
infringing that patent? This seems kind of weird to me, as React is a product
that they put out there for people to use - it's like Microsoft suing me
because I use Office and they have a patent on the ribbon UI or something.

Or does it just mean that some third party could claim that React infringes on
some patent of theirs, and they can then sue my company saying my use of React
infringes on their patent? (Whereas previously Facebook would protect my
company against this)

Or does it mean something else entirely?!

------
jjm
This is the kind of thing that makes devs start new projects that look really
close to projects that run this course. You know, just to spite this act.

------
RomanPushkin
Anyone knows what are consequences of ban from Apache Software Foundation?
Okay, it has X-Cat exclusion by August, 31 ([https://react-
etc.net/entry/apache-foundation-bans-use-of-fa...](https://react-
etc.net/entry/apache-foundation-bans-use-of-facebook-bsd-patents-licensed-
libraries-like-react-js)) and what will happen after that?

~~~
gtirloni
[https://www.apache.org/legal/resolved.html](https://www.apache.org/legal/resolved.html)

"Can Apache projects distribute components under prohibited licenses?

Apache projects cannot distribute any such components. This means that no
source code can be from Category X and that any convenience binaries produced
may not include such contents. As with the previous question on platforms, the
component can be relied on if the component's license terms do not affect the
Apache product's licensing. For example, using a GPL'ed tool during the build
is OK, however including GPL'ed source code is not"

------
rsgrafx
What advice would you say to someone who just who's only about 6 months in (
learning React ) ? A. Its not been that long.. walk away and learn something
else. B. If you've put in the time try to get something out of it. C. I don't
know what the whole fuss is about your not going to be building anything worth
facebook's time anyway.

~~~
chrisco255
If this is for your own personal projects or your startup...you should just
keep using React. Seriously, unless you've got millions of dollars to bring a
patent suit against Facebook (do you even have any patents to defend?), this
should not even be on your radar. You should be focused on building great
product and execution: not patent litigation.

~~~
rockdoe
Don't ever hope of selling your business if it takes off though. The above may
not apply to your potential buyers.

~~~
chrisco255
I really fail to see that. With Microsoft, Apple, Salesforce, Yahoo, Amazon,
and many other big names using React in production...Chances are the acquiring
company is already using React in some form. Furthermore, the value of your
company is not in which front end framework you choose, it's in your
distribution and product value to end users. If you really needed to rewrite
your front-end in Preact (a drop-in replacement for React) or Vue, in order to
satisfy a buyer, you could easily do so.

------
sandGorgon
Even worrying - Caffe2 is licensed under the same terms.
[https://github.com/caffe2/caffe2/blob/master/PATENTS](https://github.com/caffe2/caffe2/blob/master/PATENTS)
. This really makes Tensorflow the only real alternative for true, viable deep
learning.

------
spacetexas
Disappointed to see no forward upfront stance on what Facebook will do if
someone sues them for a patent infringement unrelated to React in any way.

Will note though that if Facebook does choose to revoke a license on the basis
of getting sued for something unrelated it will definitely reflect poorly on
FB in the developer community and reduce React's adoption.

~~~
kbenson
> Disappointed to see no forward upfront stance on what Facebook will do if
> someone sues them for a patent infringement unrelated to React in any way.

Well, they've specifically related React if it's in use, so the only case
where it's not related is if isn't being used by the plaintiff.

In a similar vein, people are wondering what Facebook will do with patent
infringement suits that _do_ have merit, to which I ask, when's the last time
a company defending a patent suit stated the plaintiff's case had merit.

------
opensports
The whole ecosystem of amazing people and companies that helped build React is
jeopardized, which is such a sad waste of code, development time, late nights,
and humanity! Please think of long term gains and not exploding software
licenses. There's already enough pain going round in the world.

------
bytesandbots
> Do unto others as you would have them do unto you.

Imagine a small company releasing a new js framework with BSD+Patents license.
Will FB use ever this framework? No. Because merely using this framework gives
this small company the effective freedom to infringe Facebook's patents. Why?
Because the cost for FB to shift frameworks will be huge, thus prohibiting FB
to sue this small company for patent infringement.

Using a software with BSD+Patents license is almost giving up the right to sue
this company. This is dangerously radioactive.

------
neilparikh
What I don't really understand is if they're worried about patent trolls, how
would this have any effect at all?

Patent trolls are companies that don't create anything, and just sue with
their patent portfolio instead, so why would they care that they can't use
react patents anymore?

------
bsimpson
> like some other large companies do and only release software that isn't used
> in our most successful products

Closure Compiler [1], GWT [2], and protobufs [3] would like to have a word...

I realize they said "some" large companies, but it seems like there's plenty
of precedent for successful tech companies to release core infrastructure as
open source.

[1]
[https://developers.google.com/closure/compiler/](https://developers.google.com/closure/compiler/)

[2] [http://www.gwtproject.org/](http://www.gwtproject.org/)

[3] [https://developers.google.com/protocol-
buffers/](https://developers.google.com/protocol-buffers/)

------
kanishkdudeja
My opinion on why this could now become a practical problem for people who
still want to continue with React:

1) This will deter people and organizations from using such libraries. For
example :- WordPress.com and many other companies have said that they will no
longer use React.

2) Lower usage and application of such libraries means that lesser people will
find bugs in them, lesser people will fork these libraries, lesser people will
contribute to these libraries.

3) Facebook may itself lose interest in continuing to open source the library.
Or add any new features to the open source version.

4) People may get stuck with bugs in such libraries and with no functionality
being added to such libraries for years.

------
dmoney
Let me make sure I understand this: The license means that Facebook grants you
the right to use the patents on React, but if you sue Facebook for patent
infringement, you lose the right to use React?

------
stolsvik
Wrt. the idea that without the grant, Facebook can sue you. A) There's this
thing with "implicit grant" since they've open sourced it and grant you a
license. But even without this, and more interestingly, B) If they sue anybody
for anything regarding React, wouldn't they immediately loose the entire
community around React? "Damn, they really sued Widgets Inc. over some bs.
patent in React, better stop using this minefield right away"..

------
grizzles
Facebook's position on this is weird. Any company that wants to use react and
avoid liability arising from Facebook's terms can do so easily by
incorporating a subsidiary or wholly separate company and paying that company
$1 to license the UI built on react. Maybe this is about fencing off
Google/Amazon/Alibaba/etc who might be reluctant to do something that would be
technically legal but something that a jury might take a dim view of. That
seems to been the thesis behind Oracle v Google.

~~~
wolco
Unfortunately the wording covers a subsidiary, agents act on behalf and any
interest including financial even in an indirect way.

~~~
grizzles
Since Facebook grants a license, the worst case scenario is you sue Facebook
for infringing your "X" patent, and then they search your website and find a
react ui, and then you say oh we bought that off WebKidCo. IANAL but it seems
farfetched that a court could/would hold a company bound to such a broad
clause for what it's supplier(s) did. Or you could just sue Facebook for using
your patent "X" after having first moved the patent into a non practicing
entity.

~~~
chrisco255
This theoretical litigation process with claims & counter-claims against
Facebook would cost you millions. Patents are by themselves incredibly
expensive to defend. Your "X" patent better be worth tens of millions and
Facebook better be deriving millions in value from it, or this is just an
exercise in futility.

------
addicted
I cannot help but look at this along with Facebook's copy to win strategy.

It appears to me that FB might be using their open source contributions as a
Trojan horse to make sure others can't compete with them. If a startup happens
to use FB open source tech for their startup, FB can duplicate everything they
do, even legitimately patented stuff, and the startup is unable to fight back
because their sign up page happened to be built in React.

This is giving just too much power o one company.

------
RyanShook
I have my doubts about the enforceability of BSD+Patents in a courtroom
setting.

I think it's an intimidation play on the part of Facebook to keep large
players from profiting off of their IP.

------
throwaway26960
Onto the next Javascript framework!

------
yuhong
I just noticed that software patents and employment anti-discrimination laws
have some very similar problems. With the performance of manual labor jobs and
physical patents the tests tends to be relatively objective, and that was
probably what both laws was designed for. With many other jobs and with
software patents this is often not the case, making the laws much easier to
abuse for example.

~~~
yuhong
As a side note, this is also why anti-discrimination laws still make sense for
things like public places and voting, because the test for whether someone is
able to vote for example tends to be objective.

------
itsbits
I am no pro in understanding these licensing issue. Can someone help me how
this affects if i) ReactJS is used in a company/organisation for their
proprietor software? ii) ReactJS is used in a company/organisation for their
distributed licensing software? iii) ReactJS is used in a company/organisation
for a software which is opensourced?

~~~
rockdoe
If you use React you basically can't sue Facebook for infringing your patents,
so it is giving them a free pass on your IP.

~~~
gstein67
Of course you can sue them. It just comes with consequences.

------
akapaka
> license is radioactive

Same is true for Fuchsia, Google's new os replacement for android / linux. See
[https://github.com/fuchsia-
mirror/calendar/blob/master/PATEN...](https://github.com/fuchsia-
mirror/calendar/blob/master/PATENTS)

------
jgalt212
In practice, here's who will can be reasonably expect to be affected.

1\. large tech cos. they always want to reserve the right to sue each other.

2\. large advertisers. they need the ability to sue FB for any beefs they have
over the ads they have purchased.

So if you're one of the two, I think your general counsel will say not to use
react for any new projects.

------
danschumann
I don't think it's bad. "If we give you free stuff and you sue us, you no
longer get free stuff"

------
talkingtab
My worry is that the BSD+patent license puts FB in the position where they are
able violate valid patents that another company hold. If that company is using
React, they will have a strong incentive not to pursue their claims against FB
because it means they would have to rewrite their code. Is this a valid
concern?

------
pdfernhout
Facebook claims BSD+PATENTS is GPL compatible. I'd like to hear what the FSF
has to say about that.

~~~
gstein67
The two copyright-based licenses are compatible, based on pretty much every
legal opinion published.

Facebook is offering a separate patent license, and that is out-of-scope of
the GPL.

~~~
pdfernhout
I agree the plain BSD 2 and GPL licenses are compatible. The issue here is how
the PATENTS file from Facebook reduces an implicit patent grant by the BSD
license making BSD+PATENTS into essentially a different license with less
permissions than plain BSD.

According to the FAQ on the GPLv3: [https://www.gnu.org/licenses/quick-guide-
gplv3.html](https://www.gnu.org/licenses/quick-guide-gplv3.html) "Whenever
someone conveys software covered by GPLv3 that they've written or modified,
they must provide every recipient with any patent licenses necessary to
exercise the rights that the GPL gives them."

So, since GPLv3 talks about patents, and the Facebook PATENTS clause reduces
the implicit patent grant of BSD, I feel it is in scope for GPLv3. A plain BSD
2.0 license with an implicit patent grant would presumably provide enough
patent rights to be compatible with GPLv3. To my reading of the situation,
BSD+PATENTS does not seem to provide enough patent rights to comply with GPLv3
(because of the one-sided retaliation clause of Facebook's PATENTS file).

The GPLv2 is a different story which is less clear to me.

In section 7 GPLv2 says: "If, as a consequence of a court judgment or
allegation of patent infringement or for any other reason (not limited to
patent issues), conditions are imposed on you (whether by court order,
agreement or otherwise) that contradict the conditions of this License, they
do not excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this License
and any other pertinent obligations, then as a consequence you may not
distribute the Program at all. For example, if a patent license would not
permit royalty-free redistribution of the Program by all those who receive
copies directly or indirectly through you, then the only way you could satisfy
both it and this License would be to refrain entirely from distribution of the
Program."

So, because some of your downstream users might not have a valid patent grant
from Facebook if they sue Facebook for infringing their patents, does the last
sentence imply you can't distribute the combined BSD+PATENTS and GPLv2 code?

------
tjholowaychuk
Isn't React the slowest and largest React-like implementation anyway? Seems
like this will just foster "nicer" implementations, I don't see what the worry
is all about. It's not like React is some behemoth that can't be rewritten.

------
qxzw
So for example if I create a product using React, something social-ish and it
gets really popular. Facebook decides they like it and could easily implement
something like that themselves. I find it to be blatant copy of my stuff.
Nothing I can do there, right?

------
wdb
It's similar to the line "We can create apps or products that offer features
and services similar to your app." that's part of the agreement for using the
Facebook SDK. It's mostly a one way street with Facebook.

------
tarr11
I wonder how much BSD + patents actually diminishes lawsuits for Facebook. Is
React that widespread? What happens if you stop using React, and replace it
with a clone like Preact?

I also wonder if this will hold up in court, or is purely a defensive measure.

~~~
gstein67
Just say one, for discussion purposes. One is likely worth the (minimal?) loss
of Goodwill/combinatorics/bundling with their licensing choice.

------
donpinkus
So, can I use React as my company's front end framework or not?

If I do use React, what is the specific legal risk (if any)?

PLEASE no emotionally charged comments - I just want a clear answer from
someone who deeply understands the legal stuff.

~~~
gramstrong
You most likely certainly can with nothing to worry about. 99.99% of the
world's developers will never need to sue Facebook for patent infringement.
That is, unless Facebook begins reverse patent-trolling. But I see it as more
of a decision on ethics at this point in time, and don't really see any reason
to feel particularly threatened.

------
bugsbugs
Once someone told me a story about two company that were building cars. One
was building slick cars the other not so slick cars but with robust tires that
could roll on spikes, additionally they were silently buying roads. So, there
were quite even on the market, but one day suddenly spikes just popped up from
roads. At, the time when I heard this story the "spike" company was referring
to Microsoft.

So much about "do not be evil" policy although that is Google slogan one must
ask is the Angular or Node.js next?

21st century and still greed for money and monopoly "one to rule them all"
screwing open trusting hard working guy ... I know this is side ways but: how
should we trust any other thing they release or talk about privacy, sharing,
VR, Basic Income ... ?!

------
whipoodle
I think React is a very nice way to build UIs. I am still very dubious as to
how serious this issue actually is. It still feels rather ginned-up to me. I
can't understand what the real threat is here.

------
mderazon
At this point not using Facebook OSS tools for development is like not using
Google for search. There are so many popular FB libraries under the same
patent license, React is just the most popular.

------
roadbeats
Does MIT license work for Apache in this case ? If yes, they can easily switch
to Preact; [https://preactjs.com/](https://preactjs.com/)

~~~
gstein67
Yes, it works just fine. Many projects at Apache rely on MIT-licensed code,
and I know that several of the Apache projects are looking towards Preact as a
replacement for their dependency upon React.

------
nkkollaw
Can this problem easily be solved by avoiding to sue Facebook?

If I understand the issue correctly, there's a clause in their license that
says the license is revoked if you sue them.

How risky is this for regular usage?

------
Vinnl
Can anyone explain if the patents license is anything more than "if you use
our patents, we can use yours", or if that in itself is the thing that is
offensive (and why)?

------
noir_lord
> Some even feel like they have to stop using UI frameworks because of it.

No, some feel they have to stop using React, not _all_ UI frameworks, VueJS is
pure MIT etc.

------
ngsayjoe
As a small startup, I absolutely love this. It gives me the advantage to use
React while my bigger VC-funded competitors can't.

------
Kiro
What exactly does this mean to users of React? I've seen some dystopian
scenarios but they feel really far-fetched.

------
alexandercrohde
I have to say, I think Facebook is in the right on this one. I think the
ecosystem would benefit greatly if this were adopted massively.

I also think very few companies are going to have a time where they need to
sue FB for patent infringement (how many people have patents, how many of
those patents should really exist, how likely is facebook to violate that
patent)?

This mostly follows if you believe the world is a better place without
software patents at all.

------
f38hf3fhhf
Does this mean Facebook can infringe on your patents and you cannot sue?

------
boubiyeah
Well it's a good thing there are plenty of alternatives. React is big but it
only does the view well (and half of state management -.-') it's not too hard
to replace in a stack.

I salute its main author, Facebook and instagram for inventing the virtual DOM
concept; it's fucking genius and helped us make better apps, faster.

but absolutely no need to use react now.

------
shock
> Facebook has always benefited from open source and has worked to contribute
> back as much as possible to the open source community.

Yes, they have benefited from open source software under BSD, MIT, Apache
licenses and giving back under BSD+Patent grant. What a load of bullshit.

------
azr79
is anyone else is having trouble to share the link on facebook messenger?
[http://imgur.com/a/TIQoP](http://imgur.com/a/TIQoP)

------
dinony
Why is this unvoteable for me? :D

------
ap46
Way to close a debate.

------
0xbear
Hopefully it'll take all those half assed React Native apps with it.

------
supernumerary
Same for Yarn...

------
adamnemecek
Move to cycle.js. It's a better framework anyway
[https://cycle.js.org](https://cycle.js.org)

------
throwgoog452
People used to say that the GPL was illegal, unacceptable, immoral, and all
sorts of other things. Then, gradually, everyone started using it, and
copyleft became an acceptable software licensing strategy. I hope that BSD +
Patents also achieves gradual acceptability.

~~~
seanmcdirmid
People started using the GPL because it works fine for software that isn't
distributed to consumers, e.g. on servers. Those uses have subverted the
entire intent of he license, however.

~~~
chii
> Those uses have subverted the entire intent of the license

You're reading too much into the intent of the license. GPLv2 being used on
servers is a valid use case.

Tivoization is indeed subverting the intent of GPLv2, which is one of the
reason for GPLv3. But in the case of Tivoization, you _are_ distributing the
code to end users, rather than just running it on their behalf, and hence, in
my eyes, violates the intent of GPL (that end users you distribute your
software to should be allowed to modify the software).

Hosted software isn't like tivoization, in that the host doesn't distribute,
and so no GPL issues whatsoever.

------
paradite
/s

Angular is terrible.

React is trojan horse.

Vue is developed by Chinese.

/s

And I honestly just want a decent framework to write JavaScript. Maybe the
framework war is just getting started after all.

Edit: I'm just summarizing and projecting the sentiments around the popular
frameworks and wondering about the future, not sure why I got so much hate...

