
Facebook React.js License - maxsavin
http://www.elcaminolegal.com/single-post/2016/10/04/Facebook-Reactjs-License
======
lucb1e
The way I read it, it's not evil.

It's a known and deliberate shortcoming of many licenses (e.g. BSD) not to
include patent stuff because it makes everything unnecessarily complex. There
was recently an article about why BSD and MIT are so popular, and it's because
they're concise and understandable. There is a reason WTFPL exists and some
developers resort to it as a way to avoid legalese.

Facebook clearly was aware of this "shortcoming" and being a big player, they
might have wanted to be nice and say "we won't sue you for patent infringement
if it turns out we have a patent on something React does". Then the managers
went "but what if they sue us? Patents are not only for offense but also our
defense, we would weaken our defense." And so the clause of "except if you sue
us first" came into being.

And now this fuss about the patent part making it not an open source license?
Oh come on.

I really don't like Facebook as a company, but this bickering is silly.

~~~
erichocean
> _The way I read it, it 's not evil._

No, it's evil, full stop.

Facebook's patent policy means, in no uncertain terms: if you have a patent,
they have a worldwide, royalty-free right to use it. Don't want to give them
that? Well, until you remove all usage of Facebook's "open source" code,
that's the situation.

Note: RocksDB also has this problem, which means CockroachDB is also infected.
Tread carefully.

\-----

Note to downvoters: No one has a problem with Apache 2-style patent-
retaliation provisions. Facebook could solve this problem TODAY by switching
to that.

They don't because they don't want to retaliate, they want access to unrelated
patents from third-parties at zero cost, with a credible threat to damage
those third-parties if they want to retain their unrelated patent rights.
There's _literally_ no other reason for Facebook to demand terms beyond Apache
2 than to do what I just described.

The Apache 2 license protects Facebook and third-parties and is 100% ethical.
Facebook's patent position is not, for the reasons I've stated above. The
community, IMO, should shun Facebook LOUDLY until they relent and stop this
bullshit.

\-----

Update 2: It's actually worse, because Facebook tends to do this bullshit on
stuff like RocksDB and React which are _incorporated_ in other software that
you use to run your business.

Using a React-based dashboard widget for your ElasticSearch cluster? Good luck
suing Facebook for patent-infringement, because guess what? _You agreed to let
them infringe by using it_ , even though you didn't intend to.

Facebook's patent policy requires _constant_ policing to avoid. Like I said:
EVIL.

~~~
ignasl
> Good luck suing Facebook for patent-infringement

Protecting from patent lawsuits is not evil as SW patents are bullish anyway.
No one except maybe some patent trolls or some other big companies will sue
Facebook for patent infrigment and if they do then this is a pretty clever
defence. If you really really have something really really unique invented
(which is really really unlikely) then just don't use anything by Facebook.

~~~
nixos
Are you permitted to counter-sue if FB trolls _you_?

~~~
nindalf
Yes you are. Facebook's patent grant explicitly allows the entity they're
suing to counter-claims without losing the right to use Facebook's code.

------
mjg59
Version 2 of the Apple Public Source License includes the following
termination clause:

12.1 Termination. This License and the rights granted hereunder will
terminate:

…

(c) automatically without notice from Apple if You, at any time during the
term of this License, commence an action for patent infringement against
Apple; provided that Apple did not first commence an action for patent
infringement against You in that instance.

Like the React patent grant, this applies to _any_ patent suit, not just ones
that allege that the covered software infringes. The Open Source Initiative
considers APSLv2 an Open Source license, and the Free Software Foundation
considers it a Free Software license. Note that this clause terminates your
_copyright_ license, not merely your patent license - it's significantly
stronger than the React rider.

So I think the claim that it's not open source is a bit strong, even though I
find this sort of language pretty repugnant.

~~~
TAForObvReasons
Microsoft is not necessarily a paragon of open source, but many of their open
source projects use unadulterated OS licenses.

Typescript is Apache 2:
[https://github.com/Microsoft/TypeScript/blob/master/LICENSE....](https://github.com/Microsoft/TypeScript/blob/master/LICENSE.txt)

Visual Studio Code is MIT:
[https://github.com/Microsoft/vscode/blob/master/LICENSE.txt](https://github.com/Microsoft/vscode/blob/master/LICENSE.txt)

~~~
webwalker
You will notice that most new projects all use MIT. Apache 2 hasn't been used
for anything new in the last year+.

~~~
the_duke
Have some examples?

The MIT license is problematic with software patents.

I see some projects moving to Apache2 for that reason (one prominent example
here is Rust. They moved to an MIT/Apache2 dual licensing model).

~~~
jsprogrammer
What is the problem with the MIT license and patents?

The MIT license grants explicit rights to deal in the software without
restriction.

~~~
tracker1
A copyright license is not necessarily the same as a patent grant... Apache 2
does contain a patent grant, and an even bigger nuclear deterrent similar to
Facebook's separate grant with MIT.

~~~
jsprogrammer
The MIT license is not a copyright license (though, copyright is claimed). It
is a license for unrestricted dealings in the software subject to certain
conditions (no warranty or fitness, appropriate notices given, etc.).

------
Noseshine
So I checked StackExchange's law site and found this question - thus far
unanswered, but those would be my questions exactly:

[http://law.stackexchange.com/questions/14337/q-about-
consequ...](http://law.stackexchange.com/questions/14337/q-about-consequences-
of-a-software-license-amendment-regarding-patents-facebook)

It comes down to two questions (quoted from the linked question) - note that
those are _questions_ , not assertions:

1)

    
    
      > ... if we use any of Facebook's open source projects Facebook can violate *our patents* (of any
      > kind) pretty much with impunity: If we try to sue them we lose the right to patents covering their
      > open source projects(?)
    

2)

    
    
      > I have read opinions that other open source projects that don't have such a clause, for example 
      > those from Microsoft or Google, nevertheless have the exact same problem, only that it isn't 
      > explicitly stated. Is that true? Is my situation not any better when I only use open source 
      > projects without such a clause?
    

I think that is a good point. The many opinions I see are almost all from
people who don't have their own patents to think about, but what happens if
you are a company and you do? Would you basically allow Facebook to use any of
your patents, because for all practical purposes you can't defend them if you
rely on their open source projects?

~~~
gcp
1) Yes, and that's exactly the problem raised here.

2) The patent grants from Microsoft and Google grant a license on software (or
a standard), and only give them a (reciprocal) license on the software or
standard that is under consideration. If Microsoft had published React, you
could still sue them for violating patents that are unrelated to React without
losing your license to use it. The Facebook grant doesn't have this, so if you
rely on React you can't sue Facebook at all. But _they_ can still sue _you_.

~~~
madeofpalk
2) If Microsoft published React without a patent rider, and Microsoft had
patents on the tech in React, then you would be in violation in the first
place, right? Microsoft can still you sue for violating their React patents,
especially if you sue them first.

~~~
gcp
1) The article points out there are implicit patent grants if they're not
expressly spelled out.

2) Microsoft has provided patent grants that are less severe than Facebook.

------
zpao
Hi, Paul from the React team here. There have been lots of questions about the
license+patents combo we use. Recently our legal team answered some of those
questions.

[https://code.facebook.com/license-faq](https://code.facebook.com/license-faq)

~~~
bwhitty
Is there any talk within Facebook on amending this clause or moving React to a
standard license? I believe it's stopping a lot of large companies (whom the
patent clause could actually affect) from using React, and all other like-
licensed Facebook software.

~~~
ergo14
Just use Polymer, vue or something else without that problem :-)

~~~
bryanlarsen
Facebook patents that apply to React will also very likely also apply to Vue
or any other virtual DOM library. Using Vue makes you more vulnerable, not
less, since you no longer have the protection of the React.js patent grant.

~~~
hatsix
You made this assertion before, but it's wrong and dangerous. Without knowing
what the patents are, you cannot possibly say whether or not OTHER technology
is infringing on it. It is especially bad considering you are not a lawyer,
nor have professed any familiarity with the patent process.

It is a moderate, but known, amount of work to look through FB's patents,
assess which are likely around React, and read through the claims. Considering
it's possible, I certainly think that it's reasonable to ask you to do the
work, or stop making the assertions.

~~~
bryanlarsen
But I have been told, by lawyers, never to read patents, because that could
triple damages for knowledgeable infringement.

It also doesn't address potential patents that are still within the 18 month
filing window and are still secret.

~~~
hatsix
Then don't make the assertion.

------
Egidius
I agree. I was working at a somewhat large IT company (~30k employees) this
year. I made a plea for React and while our development section agreed, it got
bounced by legal because of these points.

If Facebook is really serious about Open Source, they also have to make their
licence so that every organisation is free to use it.

~~~
matt4077
Being "serious about Open Source" doesn't mean a commitment to do anything to
support people using your software.

It's the opposite, actually: the original copyleft licenses such as the GPL
were explicitly designed to promote Open Source by hindering adoption in some
cases, namely those where companies want to distribute derivative works
commercially.

Then the BSD/MIT-style licenses weakened this restriction. So you're free to
use React in a commercial product.

But Facebook, Apple etc. care a lot about patents these days. Not offensively,
as far as we can tell, but they have now been burned repeatedly by often
trivial patents being used to extract hundreds of million from them.

So they added these 'patentleft' clauses to their licenses to essentially
undermine the patent system in regards to software. As it gets more difficult
to build anything without some library that includes this clause, fewer and
fewer actors will have the freedom to sue without consequences.

Being opposed to patents on intellectual property in the first case, I can
only applaud these efforts. In fact, they should probably go further and
extend the protection to everyone: If you use IP patents against Jane Doe, you
may no longer use React.

The only problem is the rise of entities focused entirely on patent-
litigation.

~~~
eitland
> It's the opposite, actually: the original copyleft licenses such as the GPL
> were explicitly designed to promote Open Source by hindering adoption in
> some cases, namely those where companies want to distribute derivative works
> commercially.

I'm usually not the one to defend GPL but I want to point out that AFAIK
distributing derivative works commercially is totally fine for GPL - you just
have to follow the rules in the license (provide source code under the same
licence).

------
ryanswapp
So, assuming you actually have a patent, and Facebook actually decides to
infringe on that patent, the worst case scenario is that you lose your license
to use React. There are principles of fairness and equity in the law that
would allow you to stop using React in a reasonable amount of time. So write
your frontend in Elm. It probably needed a rewrite anyways.

~~~
Lazare
> the worst case scenario is that you lose your license to use React.

Not even that; you lose your license to use the patents Facebook has which
cover React...

...if they exist. Nobodies ever found one, and a core React dev is on record
saying he doesn't know of any either. :)

But you don't ever your license to use React. Bonus: Many people think the BSD
license contains an implicit patent grant, which might well cover you even if
the explicit patent grant is revoked. Again, if there are any patents to
license.

------
zelon88
Does this mean that react could be considered "available source" instead of
"open source?"

~~~
mi100hael
I think it's a great illustration of the difference between "open source" and
"free software." In this case the source is still openly published, but under
certain circumstances you're no longer free to redistribute.

~~~
bad_user
Personally I think it's a great illustration that even software developers
lack reading skills.

Open Source means this, no more, no less: [https://opensource.org/osd-
annotated](https://opensource.org/osd-annotated)

~~~
mi100hael
A license (such as Facebook's) that prevents me from redistributing a modified
version could still qualify as "open source" so long as simple mirroring
wasn't restricted.

> In practice, open source stands for criteria a little looser than those of
> free software. As far as we know, all existing released free software source
> code would qualify as open source. Nearly all open source software is free
> software, but there are exceptions. First, some open source licenses are too
> restrictive, so they do not qualify as free licenses. For example, “Open
> Watcom” is nonfree because its license does not allow making a modified
> version and using it privately. Fortunately, few programs use such licenses.

> Second, and more important in practice, many products containing computers
> check signatures on their executable programs to block users from installing
> different executables; only one privileged company can make executables that
> can run in the device or can access its full capabilities. We call these
> devices “tyrants”, and the practice is called “tivoization” after the
> product (Tivo) where we first saw it. Even if the executable is made from
> free source code, the users cannot run modified versions of it, so the
> executable is nonfree.

> The criteria for open source do not recognize this issue; they are concerned
> solely with the licensing of the source code. Thus, these unmodifiable
> executables, when made from source code such as Linux that is open source
> and free, are open source but not free. Many Android products contain
> nonfree tivoized executables of Linux.

[http://www.gnu.org/philosophy/open-source-misses-the-
point.h...](http://www.gnu.org/philosophy/open-source-misses-the-point.html)

(Pasted the most relevant portion in case you lack reading skills.)

------
falsestprophet
After _Alice v. CLS_ , what patents about React could be enforced?

edit: After Alice there has been a software patent massacre:
[https://en.wikipedia.org/wiki/Software_patents_under_United_...](https://en.wikipedia.org/wiki/Software_patents_under_United_States_patent_law#Post-
Alice_period)

~~~
joatmon-snoo
IANAL but OTOH I would argue that _Alice_ isn't very relevant here. The chief
rationale behind that case was the triviality of the core algorithm being
described: if there isn't enough money in an account, you don't withdraw money
from the account.

------
bad_user
Facebook's license is even weaker than a BSD/MIT license without any PATENTS
license attached at all. Because in that case the patents grant can be
considered _implicit_ , depending on jurisdiction. By including a PATENTS
license in that repository, Facebook nullifies the possibility of such a
defense.

~~~
bluejekyll
I wish he went into more detail on the difference between this and the Apache2
patent grants.

I've been favoring Apache2, and am considering adopting the GPLv2
compatibility clause that is being added to Swift.

~~~
bad_user
Apache 2 is definitely much better.

IANAL, but I've written about the difference in another comment:
[https://news.ycombinator.com/item?id=12692852](https://news.ycombinator.com/item?id=12692852)

------
the_duke
While we are on the subject:

I constantly find the need to read up on licensing. Usually with various blog
posts or online information, which never gives me the feeling that I fully
understood the legal implications or the context.

Can anyone recommend a book covering software licenses in depth? (ideally not
only US centric)

~~~
bdcravens
With a new package manager every year, a new framework every six months, and a
new build system every month, who has time for that? Just trust the masses:
whatever frameworks and libraries have the most stickers on Macbooks has
proven its veracity. /s

------
morgante
These conspiracy theories are really getting old.

Do people really think Facebook developed and released React for the sole, or
even primary purpose of gaining patent rights? It's preposterous that so many
top engineers would be working on such a goal.

It seems obvious that Facebook just has some overly cautious lawyers. I highly
doubt that means Facebook is going to use your usage of React as an excuse to
steal your patents.

~~~
stealthefocus
Perhaps. But what if Oracle buys facebook or Zuckerberg steps down and a
litigious CEO takes over. This is a major concern for lawyers in large
companies.

~~~
morgante
I'm happy to recommend that everyone stop using React if Facebook ever sues
someone for using React. But it remains a very unlikely possibility,
especially since we don't even know if Facebook _has_ React patents.

~~~
pkozlowski_os
Right. After you've spent 10+ man/years developing an app based on React /
other lib with similar restriction. "stop using React" is fine advise for
small projects that can be rewritten in few months by few people. For very
large projects the cost of stop using / rewrite could be huge.

~~~
EdwardMSmith
But utterly dwarfed by the cost of an offensive patent infringement lawsuit
against a $300+ Billion company.

~~~
morgante
Exactly. If you're actually in a legal dispute with Facebook, the cost of
rewriting your frontend to not use React is minimal.

It's not like React is a massive library with a huge surface area. Even a
fairly complex application could be migrated to an alternative like Vue.js if
the need arose.

~~~
bdcravens
> the cost of rewriting your frontend to not use React is minimal

Or a non-issue if you choose a framework that you feel has safer licensing.

------
shadowmint
If companies fear that if they try to enforce their patents they will lose
access to significant commercial opportunities as a result of not being able
to use projects such as react...

...basically, I welcome it.

Patents are harmful.

The FSF has, to my knowledge, made no meaningful progress in significant
patent reform.

If this helps, then bring it on.

~~~
gcp
Facebook's patent license doesn't grant you any patents outside the ones used
by React.

It does grant them freedom to use any patent you may have (if you use their
software).

See the problem? Even if you don't like patents, it makes the playing field
totally uneven.

~~~
matt4077
It still lowers the value of IP patents, since that value has most often
manifest itself in suing Facebook/Apple etc.

With their value being even marginally reduced, maybe some patents will never
be filed, or the value proposition of setting up patent-litigation entities is
reduced enough to discourage it.

Basically this is net-positive for anyone who doesn't own or plan to own
patents, even if it is even better for Facebook.

~~~
gcp
Patent litigation against such companies is often carried out by specialized
entities, so those have nothing to lose by having their "React" patents
revoked.

------
falcolas
I worked with a development manager headhunted from Microsoft, who was quite
worried about simple "Taint" from open source software (i.e. ideas gained from
viewing open source code making their way into closed source software). I also
worked with a company which wouldn't accept code contributions to their OS
project; they would do clean room implementations to avoid the legal hassle of
incorporating code which wasn't written for hire. So I can certainly see large
companies being leery of utilizing software with licenses which don't include
patent grants.

Perhaps it's less of an issue with the BSD style licenses, as explicitly
called out in the article.

------
guelo
To me it's the GPL of patents; it's a viral anti-patent license. Once you use
React you must disarm in the destructive patent wars. I wish more popular
software were released with it.

~~~
appleflaxen
it's not really viral... the viral aspect of GPL is that any derived work you
distribute would automatically have to be open.

in the case of the patents, they're not really used to create a derived work.
As a result, there is no "infection".

~~~
tracker1
I liken it to a mutually assured destruction aka nuclear deterrent. Which is a
pretty close fit. As someone who is opposed to software patents in general,
I'm okay with this.

------
woah
If it becomes a problem, you could drop in a react-compatible library pretty
quickly. React native might be tougher but still would probably appear if
there was a case with a lot of publicity.

~~~
morenoh149
So happy [https://preactjs.com/](https://preactjs.com/) and others are around

~~~
brlewis
Other frameworks could infringe the hypothetical React-related patent. There
is no safety from infringement as long as software patents exist.

~~~
tracker1
Personally, I'm opposed to software patents... that said, there's no safety
from any third party wrt patents either.

~~~
brlewis
I think there exist fields of invention where it's reasonable for inventors to
know what's in the patent database and thus avoid unintentional infringement.
Obviously software isn't one of those fields.

~~~
tracker1
When it's a case where it's not possible to utilize patent research in order
to help make something, and in fact ill-advised to do so, then in that space
the entire purported purpose of patents in that space invalidates their use.

------
omouse
I wonder what the OSI and Software Freedom Law Center say about this.

------
andrewvijay
Frankly multiple developers don't really care about the licenses or clauses.
Software veterans and corporations care about it more than anyone else. Even
the article is kinda hard to grasp in one go that I had to read a couple of
times. To find the nuances in an OSS license and to think and act on it is not
easy for a lot non native English speakers. And more posts like these are
needed to make many people read and know about these serious issues.

------
nutate
"It is unknown to me why Facebook issued an Additional Grant of Patent Rights
in the first place."

STOP RIGHT THERE

If you can't be bothered to do the research necessary to see why then your JD
didn't teach ya much in the ways of learning about things. Which ideally
should be a large portion, those big books of case law, now oft replaced with
speculation and internet comments, do at least tell the story of "why". And if
you jump the gun on researching the imminently googleable first sentence of
your argument, how can I trust, nay, why should I trust, a single sentence
thereafter.

Long and short APL has patent clauses, BSD doesn't, their PATENTS file kinda
added that back to BSD without some of the apparent downsides of the APL in
terms of forcing you to never ever sue about patents.

Small but not hard, I know, I just have a PhD not some fancy JD, but at least
I can do the research that would've muted I imagine the entire post.

I still can't seem to write non-confusing sentences though. Oh well. Parse the
above at your own peril.

------
DannyBee
"A. The Additional Grant of Patent Rights in Unnecessary."

This is legally incorrect.

". But I’ve never heard any lawyer postulate that that document does not grant
a license to fully exploit the licensed software under all of the licensor’s
intellectual property. Anyone who pushes that view is thinking too hard."

Nobody has pushed this view.

However, the author seems to miss that such rights are likely _not_
sublicensable, because they are implied, and implied rights are pretty much
never sublicensable.

That is, i may have gotten the rights. That does not mean i can _give someone
else the same rights_.

Now, there are other possible principles, such as exhaustion, that may take
care of this (it's a grey area)

But it's definitely not the case that implied patent rights are somehow going
to be better than an explicit grant.

They are for people _using_ software. They are not for people distributing
software.

------
javascript_fn
I think the change in licence has something to do with mobile phone licence
issues, React Native had its first official release on a date that correlates
to the licence addendum changes, this is the first official tagged release :

[https://github.com/facebook/react-
native/releases/tag/v0.14....](https://github.com/facebook/react-
native/releases/tag/v0.14.2)

As you can see it is dated: "10 Nov 2015" shortly after the licence was
changed.

------
coding123
Email I just sent the OSI:

Please see here:
[https://news.ycombinator.com/item?id=12692552](https://news.ycombinator.com/item?id=12692552)

It turns out companies are now "bastardizing" the license terms. I would love
for the OSI to re-evaluate if these licences are truly open source. Open
source covers freedom, and I should think that these clauses abridge that
freedom since it is very well possible for a company to be required to sue
Apple or Facebook over patents. If that unrelated lawsuit "strips" your legal
right to use software, that is NOT freedom.

Thanks

~~~
matt4077
The OSI are opposed to software patents anyway, so I doubt that they have a
problem with them becoming worthless.

"Freedom" is an empty slogan in this regard. Copyleft licenses have long
restricted your freedom, the idea being that there are colliding "freedoms"
under some circumstances and it's for the greater good of society to restrict
some peoples "freedom" (those creating derivative works) for the benefit of of
the end-user.

------
yladiz
One interesting thing to note is that the actual license makes no specific
references to the patents rider, and in fact the patents grant rider is a
separate file completely. Does that mean that I have to follow it, if it's not
directly in the license? If we look at the license as a contract, shouldn't it
be in the license directly, even if it's referencing something outside?

------
giancarlostoro
I'm not sure why they didn't just use the MS-PL it sounds like the same thing?
I don't understand why use BSD if the MS-PL achieves what they want, and is
backed by Microsoft (surely it would be in their best interest to defend their
own license).

[https://opensource.org/licenses/MS-PL](https://opensource.org/licenses/MS-PL)

------
appleflaxen
if a person offers two licenses, and you only need to accept one of them to be
licensed, then you should be all set.

If I sue facebook and they countersue, then my defense is simply "i am
licensed under BSD". The fact that you offered an additional license (they
even call it "additional") does not mean that I am required to accept it when
the first license stands alone.

Right?

~~~
Flimm
Yes, but Facebook didn't dual-license this, they licensed it under a modified
version of the BSD license. So it's that license or nothing. Edit: good point,
gcp.

~~~
gcp
You misunderstood. He says "I'll take this":

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

which by admission of the blog post this is about, _already_ includes an
implicit patent grant on React.

And he'll pass on this:

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

Which is marked as "additional".

~~~
DannyBee
This is a reasonable argument, given the headers says " * This source code is
licensed under the BSD-style license found in the * LICENSE file in the root
directory of this source tree. An additional grant * of patent rights can be
found in the PATENTS file in the same directory. *"

However, the problem you have here is there literally can be no implied
license when an explicit one is offered. You can't say "i take the bsd and
implied patent license".

So if you want to take it without the additional rights grant, you can. But
you won't get patent rights, because they have offered them to you explicitly
under a different license.

------
draw_down
I'm not a lawyer so I can't say with certainty, but I'm sure Facebook could
make React's license a bit nicer in some ways.

But I can't buy it as a reason for not using React, that sounds bogus to me.
Facebook isn't gonna come sue your beer-ranking app company over a patent
beef.

~~~
gcp
The Facebook competitor that is considering buying out your beer-ranking app
making company might reconsider, though.

------
Twirrim
Unrelated to the actual content of the page.. but why does this site require
1.25Mb of javascript to load? It makes up nearly 70% of the entire page, and
is responsible for almost 60% of the requests needed to render the page. Do
you really need to use that much javascript just to render a blog post. Why?

Those webfonts also took multiple seconds to retrieve leaving the page
essentially completely blank to visitors until their browsers finally pulled
them down. It paused long enough I was wondering if HN had sent sufficient
traffic to bring the site down.

Here's an output to a quick stab at loading the page using pingdom:
[https://tools.pingdom.com/#!/cpZuGy/http://www.elcaminolegal...](https://tools.pingdom.com/#!/cpZuGy/http://www.elcaminolegal.com/single-
post/2016/10/04/Facebook-Reactjs-License)

~~~
talmand
Because it's a basic site with a handful of pages with a blog that is built as
a single page app. All the HTML of the page is generated by Javascript and
dumped into the lone div inside the body. So, you take the big hit at first
load but then it's snappy after that.

Although, I would think the load size and speed for such a basic site would be
better with standard HTML for everything but the blog.

Also, the main JS file is 1690 lines long and even though it says it is min in
the file name, it doesn't seem to be minified.

The CSS file has some nice stuff going on in there. Some of the selectors are
a bit long for my tastes though.

------
bedros
interesting article about why startups should never use Reactjs because if
it's license

[https://medium.com/bits-and-pixels/a-compelling-reason-
not-t...](https://medium.com/bits-and-pixels/a-compelling-reason-not-to-use-
reactjs-beac24402f7b#.i625jul0b)

------
briankwest
How is this any different than the MPL 1.1 license? Section 8 of the MPL 1.1
has similar language.

/b

~~~
gcp
It's completely different.

MPL 1.1 talks about "such Participant's Contributor Version directly or
indirectly infringes any patent"

Which refers to the software itself. Which means it's a patent retaliation
clause similar to the one Microsoft and Google use. If you claim patents on
someone for using specific software, you lose any patent licenses for said
software that were granted to you. But in Facebook's case, the retaliation
extends when you make _any_ patent claim on _anything_ Facebook does, even if
it's completely unrelated to the software in question. Meanwhile, the patent
license that Facebook gives you does _not_ extend beyond the software in
question.

So you're effectively licensing _all_ your patents to Facebook, and Facebook
_only_ gives you the ones you need to use the software.

------
iplaw
So this attorney's problem is that rather than ambiguously granting a license
to the patent claims necessary to implement this software, they decided to
explicitly grant such rights? I see no problems.

~~~
gcp
No, his problem is with the breadth of the patent assertion Facebook makes.
He's not the first to point out it's unusually in favor of Facebook, even
compared to patent grants from Microsoft and Google.

------
brooklyndude
For some reason, I have NO idea why, just like Angular. Just something kind of
cool about it. React I'm sure is awesome, but Angular just seems to have
something special. Just that extra "something."

------
nmblackburn
This has been a major issue for me from the get go, it goes against open
source culture but that's no surprise because that is what Facebook loves to
do (which it has consistently proved).

They pick something upcoming, recreate it injecting their ideals while
knocking the original. They then release it to a sea of "pseudo developers"
that latch onto it with the "well it's good because Facebook" mentality which
aggressively defend it giving them more leverage.

Then they rinse and repeat until they have replaced everything the community
has created with their equivalent instead of contributing back to those
projects like a true supporter of open source would.

Open source is much more than having code on a repo, it's a culture that
Facebook is hell bent on "changing".

------
JoshTriplett
Other Open Source licenses have patent termination provisions. Apache 2.0
(which React used to use) says "If You institute patent litigation against any
entity (including a cross-claim or counterclaim in a lawsuit) alleging that
the Work or a Contribution incorporated within the Work constitutes direct or
contributory patent infringement, then any patent licenses granted to You
under this License for that Work shall terminate as of the date such
litigation is filed.". There are other licenses as well that include more
extensive patent termination provisions, such as the APSL.

~~~
SloopJon
The author covered this: "Facebook is not saying only that a licensee’s rights
to use React will terminate if the licensee claims patent infringement by the
React library itself. ... Facebook is using its publication of React source
code as leverage to win some protection against patent lawsuits generally."

------
pitaj
I feel like if React doesn't "count" as open source software, then neither
should anything licensed as GPLv3.

~~~
mordocai
How are those things related at all in the context?

------
microcolonel
Similar approach to the patchwork of various patent grants on Opus
implementations; it's still open source, it just might not be free for 100% of
the purposes you could think of.

I think Robert doesn't understand that _open source_ refers to the _source
code_ being _open to use, derivation, and study_. The BSD license also
includes a warranty disclaimer, which is the exact same kind of protective
language as the patent grant. The Facebook arrangement meets all of those
requirements with the one stipulation that you forfeit the license when you
enter patent litigation against Facebook for a counterclaim the granted
patents or primary litigation for unrelated patents. I don't consider
countersuing Facebook for patents applying to React, while USING REACT, to be
a serious fundamental software freedom.

~~~
RodericDay
> The Facebook arrangement meets all of those requirements with the one
> stipulation that you forfeit the license when you enter patent litigation
> against Facebook for the granted patents. I don't consider suing Facebook
> for patents applying to React, while USING REACT, to be a serious
> fundamental software freedom.

Where does it say that the stipulation refers only to patents applying to
React?

~~~
microcolonel
>Apparently in response to criticism, in April 2015 Facebook issued a second
version of the Additional Grant of Patent Rights that softened the termination
provision to say that the React software licensee would not lose its right to
use the software under Facebook patents in the special case in which the
licensee brings a patent lawsuit that is a counterclaim against Facebook or
its affiliates that is unrelated to React.js. The second version of the
Additional Grant of Patent Rights, in addition to the BSD license, is what
governs use of React.js today.

Sorry, seems it only applies to counterclaims.

------
cjbprime
The argument that "This is Not Open Source Software" feels unsupported and
very sloppy.

> Thus, the licensee pays a price to use the library. It is not a price paid
> with money. [..] I could be missing something, but I have never seen any
> other software license use such a condition and also claim to be an open
> source license.

This just isn't thinking creatively. The GPL also requires a "price to be
paid, but not with money" \-- you give up your right to keep changes you make
secret (if you distribute them). Yet no-one seriously argues that the GPL
isn't an open source license.

If there is something about giving up the right to file patent lawsuits that
is totally different to giving up the right to keep your changes secret, the
article doesn't say what that difference is. Giving up the right to keep your
changes secret is surely _more_ stringent than giving up your right to file
patent infringement lawsuits against one company. Why, then, should the latter
be a dealbreaker for an open source license?

~~~
gcp
I think the argument is that the grant is asymmetric. GPL is "I open up, you
open up". The retaliation clause Facebook uses is "you don't get to sue us,
but we may sue you".

~~~
cjbprime
That's an interesting argument! (But the article didn't make it..)

Couldn't you argue that the GPL says "you don't get to keep your changes
private, but I do", and so is asymmetric too? It seems normal to me for the
rightsholder to retain more rights than the grantee.

~~~
gcp
You can keep GPL changes private if you don't publish it, and the same applies
to the original author. If you feed back changes, you're mutually bound.

But the problem with Facebook's license is not the copyright, it's the patent
grant.

------
romanovcode
React.js is basically licensed so that you cannot make anything that can
compete with facebook corporation.

Example:

1\. You create something similar to Instagram using React.

2\. It gets popular

3\. Facebook sues you and takes all your reacts and reducers

~~~
ojr
Actually I see it as

3\. You can't sue Facebook because your app is similar to Instagram

~~~
amelius
Is such a clause actually enforceable? Has this been tested in a court of law?
Just curious.

~~~
icebraining
Well, the clause isn't "you can't sue", it's "you have to stop using React if
you sue".

~~~
amelius
But what if you don't stop using it?

~~~
leonatan
You can be sued by Facebook for infringing their license.

~~~
amelius
Which brings us back to my original question ;)

