
On React and WordPress - firasd
https://ma.tt/2017/09/on-react-and-wordpress/
======
ljoshua
It's too bad that this particular point has become an issue with so many good
open source projects. I still think that the risk, even for startups
considering acquisition exits, is low (see this great post from a patent/IP
attorney [1]), but the fact that it's enough to cause players like the ASF and
WordPress to move away from it just means fewer players and less innovation in
the ecosystem.

IANAL, but I wish the lawyers at Facebook would take one for the team and
relax a bit on this (hey, more work for them, a plus!). If you're going to sue
Facebook over patent infringement, you're probably going to spend a lot more
on the suit itself than the eng costs rewriting a view layer.

[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)

~~~
ryanswapp
I agree that the risk of running into legal trouble with Facebook is pretty
low for many companies. However, that doesn't make it feel any less dirty. It
would be nice if the lawyers at Facebook would take a chill pill on this one
but that will never happen. It will be interesting to see where OSS projects
from Facebook go moving forward given that the noise surrounding their patent
clause seems to get louder and louder.

On a side note - I'll bet WordPress get's rewritten in Vue.js

~~~
hdra
Why not Preact? It seems the react compatibility would be very helpful when
they already have such a significant investment into react.

~~~
morgante
Personally, I have a hard time imagining that any Facebook patents you use
with React wouldn't also apply to Preact.

Then again, I think this whole patents issue is mostly FUD. The number of
companies who have to reasonably consider suing Facebook for patent
infringement is small and they know who they are.

~~~
thristian
My understanding is that you lose access to React if you sue Facebook over any
patents at all, not just ones that may be relative to React.

~~~
Gaelan
You don't lose access to React. You lose access to any patents in React, but
_not_ the copyright. We don't even know of any React patents, so for all we
know the entire document does nothing.

~~~
mbrock
From Facebook's FAQ about this issue:

"Does termination of the additional patent grant in the Facebook BSD+Patents
license cause the copyright license to also terminate?"

"No."

[https://code.facebook.com/pages/850928938376556](https://code.facebook.com/pages/850928938376556)

------
pluma
People who ridicule the notion of FUD causing actual harm, pay attention: this
is a perfect example of the chilling effects of FUD on software projects.

Automattic didn't drop React because it doesn't like the license. Automattic
dropped React because the FUD surrounding React's license might rub off on
them (and WordPress). It's their right to do so and it's in the best interest
of WordPress to avoid being dragged into the patent FUD but it's important to
understand that this isn't an act of protest against Facebook, it's FUD in
full effect.

~~~
bodegajed
Comfort can hurt. Automattic is not comfortable with the Facebook license and
you say it like it's a baseless FUD but even if they get a 1% chance of going
to court against Facebook then they rather not take that risk of litigation
anytime in the future. It's a business decision for the long term as rewriting
doesn't cost that much for them.

~~~
jeswin
So let's see.

1\. Possibility of Automattic attacking FB with patents = 0%. (No issues here
with React)

2\. Possibility of FB attacking Automattic with patents (No issues here;
Patent grant doesn't get revoked for countersuing).

3\. Wordpress end users getting attacked by FaceBook (Again no issues here,
grant doesn't get revoked for countersuing).

4\. Wordpress end users planning to use software patents against FB - The guys
who actually have a problem.

So basically, the FUD helped individuals/trolls/companies who want to wield
software patents as a weapon; to the detriment of the wider community which
sees software patents as evil.

~~~
pknight
> So basically, the FUD helped individuals/trolls/companies who want to wield
> software patents as a weapon; to the detriment of the wider community

This is just beyond ridiculous to characterize the FB patents addition as some
sort of social good needed in the battle against patent litigation, like they
are doing everyone a favour. The patents addition in the license is there to
protect FB's interests. Words that specifically benefit the interests of a
megacorp do not belong in an open source license meant to be used by everyone
and anyone. It sets a terrible precedent that can be used to justify a whole
range of different companies adding their own clauses, each of which that can
be plausibly argued for. And all of that requires other companies to conduct
legal counsel, altering which companies would be adopting WordPress - imposing
a kind of decision making process and barrier that few if any in WP would or
should desire. And it's not even worth it considering there are equally
attractive alternatives out there.

~~~
chrisco255
Sadly there's not. I like Vue, but it doesn't have the maturity or ecosystem
of React. Plus React Native is a great addition to open source that Vue has
yet to fully counter. There's also GraphQL, which is published by this license
as well. Lots of great, revolutionary tech impacted by this license.

~~~
pknight
WordPress is looking for a way to create modern interfaces in a more
streamlined way and are looking for a tool to make that easy. Any number of
libraries and frameworks are perfectly viable or can be made viable, most of
which are operating from the same set of ideas while delivering the same
benefits.

The size of React's ecosystem, bus factor and the availability of React Native
all are nice but overstated in their importance relative to alternatives and
obscure the many other considerations the WP community weighs up.

Further more, React's ecosystem size conveys marginal benefits given that use
of React in core would have been constrained (it's not like core devs would be
tapping into many additional React-based tools for core work).

React Native has not proven itself to be as stellar and promotes lock-in. If
we come to rely on additional FB-engineered architecture to such a degree WP
bets its future on the decisions made by a corporate giant with goals very
dissimilar to WP and with decisions that may change down the line. This idea
that FB has somehow has the closest thing to the holy grail and so we must all
jump aboard the FB train is a very foolish and shortsighted one in my view. WP
was wise not to adopt it.

~~~
chrisco255
Wordpress itself depends on its ecosystem of plugins to make it so powerful.
React is no different. There are 40,000 packages on NPM for React. That's
something no other JS library comes close to save for JQuery. That does
matter. I think Vue may very well get there some day. It's just not there yet.
Maybe the WordPress support would be enough to take it mainstream.

------
hoodoof
>> rewrite Gutenberg using a different library. It will likely delay Gutenberg
at least a few weeks

I love this. How many times in my career have I heard "the rewrite will take
us <some short period of time>". Good luck with that estimate.

~~~
TAForObvReasons
We've migrated reasonably large React projects to Preact using the amazing
preact-compat : [https://www.npmjs.com/package/preact-
compat](https://www.npmjs.com/package/preact-compat) \-- it was really as
simple as wiring aliases in the webpack config!

~~~
maxyme
Isn't it unclear if preact violates Facebook's patents?

~~~
TAForObvReasons
The current understanding is that none of the patents in the portfolio
currently covers React (and by extension, preact). But flipping the switch
would satisfy the first-order requirement of not imposing the FB patent grant
upon users of WP

------
hoodoof
Lawyers. They sure are spoiling the success for the React folks. You can bet
Facebook has alot of them and you can bet their political influence is strong
with the upper management.

Lawyer: "this thing, this point in the contract, it's VERY VERY important".
The more lawyers you get in the room, the more beard pulling, wailing and hand
wringing there would be about the dire, dire consequences of taking this
stupid clause out. And of course the world would come to an end if no-one
listened to lawyers.

After I fucked several business deals listening to lawyers say how contracts
should be changed, I decided to make my own decisions about what matters and
what doesn't in a contract.

The real problem for ReactJS is that someone at facebook is listening to the
lawyers wring their hands about some possible future that will never happen.
facebook should just grow up and tell its lawyers to shut up and go back to
doing.... whetever it is they do.

~~~
morgante
> some possible future that will never happen

Facebook has been subject to numerous patent litigations and is very likely to
be involved in future patent litigations. Maintaining a defensive patent
portfolio is an important part of preparing for such litigations, so
Facebook's lawyers certainly aren't idly protecting their patents.

~~~
ballenf
But that's irrelevant here. FB is likely getting sued by patent holding
companies who aren't reliant on or using React. So the patent clause doesn't
really get FB anything against patent trolls.

It does get them leverage against legitimate patent holders. There have been
reports of companies having to pay in some roundabout unspecified way
royalties to FB for React as part of a large patent licensing deal.

I'm somewhat skeptical of these reports, but if there is direct revenue to FB
from this clause it would be the Occam's Razor explanation for their
intransigence.

~~~
morgante
The patent clause isn't designed to give Facebook leverage. It's designed to
grant patents _unless_ you sue them. Even though patent trolls don't use
React, Facebook wants to ensure that they don't grant patent licenses to
patent trolls.

> There have been reports of companies having to pay in some roundabout
> unspecified way royalties to FB for React as part of a large patent
> licensing deal.

If you can provide any direct evidence of that, I'd be fascinated. I highly
suspect it's FUD.

~~~
Yizahi
But Facebook can infringe on your patents if they know you have a heavy
dependency on React. They won't sue, just infringe. And you won't be able to
sue them with zero losses, you will lose at minimum React.

~~~
notacoward
No, you'll only lose the _patent_ license for React, leaving you with exactly
the same _copyright_ license you would have had with plain BSD. There is no
scenario in which the PATENTS file (not clause) enables Facebook to infringe
on others' patents any more than they would have been able to do with plain
BSD. If you think this makes using React risky, then you'd also have to
believe that using thousands of other BSD-licensed projects has been risky for
years. That is, if you want to be logically or legally consistent.

This "adds risk" argument is very familiar from other FUD campaigns (e.g.
Microsoft's) against open source in general. It's pretty weird to see people
who claim to believe in open source pushing arguments that work against most
open source.

~~~
pc2g4d
Seems that the real issue is that Facebook asserts/implies they have patents
relevant to React, and that they are willing to enforce them in court under
certain conditions. This creates an uncertain situation. The patent grant
helps somewhat, but limits your freedom of action should Facebook e.g. steal
your technology. Look at the four possible scenarios:

    
    
        Facebook | Your Company | Outcome
        
        Grants patents conditionally | Does not sue Facebook | Things hum along nicely
        Grants patents conditionally | Sues Facebook | You're liable for patent infringement
        Doesn't grant patents | Does not sue Facebook | You're liable for patent infringement
        Doesn't grant patents | Sues Facebook | You're liable for patent infringement
    

The patent grant is fine if you think you'll never, ever want to sue Facebook.
But should a dispute arise, you'll quickly find the technological rug pulled
out from under you. You've now built your entire business on Facebook's
asserted IP and have no recourse but to license it or try (futilely) to defend
your infringement in court.

------
sheeshkebab
It's getting hard to recommend React when the company controlling it clearly
has threatening licensing ideas.

Better use something else open source or just pay a license fee to someone for
a clearly licensed commercial framework.

~~~
halfteatree
I don't understand this: how are you not strictly better off with the patent
grant? This whole fiasco seems to be nothing but FUD. See
[https://news.ycombinator.com/item?id=14780979](https://news.ycombinator.com/item?id=14780979)

tl;dr:

    
    
        License with no patent grant: Facebook can sue you for infringing patents, 
        even if you are using a clone!
        License with patent grant: Facebook cannot sue you for infringing patents, 
        unless you do it first.

~~~
K0nserv
The patent grant isn't the problem it's the termination on any action against
Facebook. Hence if Facebook infringes on patents you own you can't take action
against them if you are using React.

~~~
Flenser
It's not "termination on any action against Facebook", the termination is only
for:

1\. filing a patent infringement against Facebook (for anything, related or
unrelated to React)

2\. filing a patent infringement counterclaim against Facebook for patents
_related to React_ (after Facebook have first filed a patent infringement
claim against you for patents on anything)

3\. filing a patent infringement against _anyone_ for patents _related to
React_

[edit]

> if Facebook infringes on patents you own you can't take action against them
> if you are using React.

You can take action against them, you just don't have a patent grant once you
do.

~~~
K0nserv
> You can take action against them, you just don't have a patent grant once
> you do.

Which opens you up to being countered-sued right? It seems that this leaves
Facebook to freely infringe on any patents of React users without consequence.

~~~
Flenser
Only if they have a patent on [edit: something in] React, or on anything else
that you use (regardless of it's from Facebook)

[edit2]

Also, patent lawsuits are costly. If you're going to start one against
Facebook the cost of switching away from React first would be negligible.

------
geerlingguy
The Drupal community struggled a bit with the decision as well (see
[https://www.drupal.org/node/2645250](https://www.drupal.org/node/2645250)).
It seems there are a number of open source communities and enterprise
development shops who are just not comfortable with the patent clause. React
had a lot of momentum, but it seems alternatives like Vue.js are going to be
the long-term winners in terms of being 'the next jQuery' in terms of
longevity as a front end standard.

~~~
ergo14
The next jquery will be probably Polymer (since it is a library).
VueJS/Angular are bigger frameworks.

~~~
BinaryIdiot
I very much agree with this. Web components are usable in and out of any
framework and once browser support will be there I think they'll be huge.
Until then, Polymer helps fill in the missing pieces.

Reminds me of jQuery before browser vendors integrated things like selector
querying.

------
eblanshey
I'm willing to bet $100 they will switch to Vue. It's similar to react (which
they want), arguably easier to learn, and the WordPress community comes from a
php background, which has already embraced Vue. This is a big plus for plugin
developers.

~~~
diminish
Vue would be great but preact seems to be a viable option too. Even riot could
..

~~~
mplewis
As other commenters have mentioned - if your project violates React patents,
and you switch to Preact, it almost certainly continues to violate those same
patents.

~~~
mlsarecmg
Vue is also based on React, it uses the same exact principles internally,
although in a less concise and more complex way as it leans heavily in
Angulars direction on the outside. All templates are either transpiled or
evaluated into createElement-like functions, from then on it has a v-dom and
works/diffs/renders/composes like React.

This could "violate a react patent" according to you:

    
    
      const Test = () => createElement("div", null, "hello word")
    

No one has ever seen nor referenced a patent for this, but if we're really at
that point then i'm afraid everything would violate such a patent.

------
CharlesMerriam2
Fear. Uncertainty. Doubt.

Many trumpet the problems with patent infringement cases, particularly in the
odd calculations of "damages one would have avoided if the infringement
potential were known". Few trumpet the real cases of fear, uncertainty, or
doubt killing business opportunities. Acquisitions are called off when the IP
review finds GPL in a product, or your proprietary networking technology
losing its patent protection to Amazon (because someone signed up for AWS for
a month, years ago).

I believe WordPress made the correct leap not to embrace a "license taint"
that would smell bad to cautious users.

~~~
sheeshkebab
AWS dropped that patent clause a couple of months ago, apparently
([https://www.geekwire.com/2017/amazon-web-services-drops-
cont...](https://www.geekwire.com/2017/amazon-web-services-drops-
controversial-patent-clause-standard-user-agreement/))

------
electriclove
I'm glad to see this post. People don't like the Facebook license for React
and are willing to invest time and money to steer clear of it.

I still don't understand why Facebook changed the RocksDB license so quickly
but then took a hard stance on the React license.

~~~
kemonocode
Because React is far more weaponizable and less niche than RocksDB will ever
be.

------
skrebbel
Note that WordPress is ditching React not because they believe there's any
problem with React's license and patent grant, but because they think their
_users will be confused and angry_.

In other words, the baseless and meritless outcry about a perfectly OK patent
grant caused this, not the patent grant itself.

The subject became taboo, like female nipples in America, and WordPress
doesn't want anything to do with the nipples of the open source community.

~~~
markyuckerberg
>> users will be confused and angry

What an ironic statement, considering that that combination can be lethal to a
company.

Besides, have you ever heard anyone say why they prefer to use Facebook even
when they are aware that it is tracking their every move? Usually the answer
is "convenience". By the same token, not getting confused or angry is also a
great convenience to the user. Very few Wordpress users actually care about
the baselessness or meritlessness of using one JavaScript library over
another. They just want Wordpress to work.

~~~
skrebbel
I fully agree! I think WordPress made the right move, and I would have done
the same in their position. But it's sad that we now have baseless taboos in
dev land.

------
0x0
Interestingly, Facebook _did_ remove its PATENTS clause on another project
they have recently - zstd -
[https://github.com/facebook/zstd/pull/801](https://github.com/facebook/zstd/pull/801)

~~~
Flenser
They dual licensed under BSD and GPLv2:
[https://github.com/facebook/zstd/issues/335#issuecomment-323...](https://github.com/facebook/zstd/issues/335#issuecomment-323606863)

I expect they did a thorough analysis to work out if any of it was either
already patented, or patentable. That doesn't mean they don't have patents
though.

------
zachruss92
I understand why Matt came to this decision and ultimately agree with it. As
someone who builds products based on WordPres for other companies, I can
understand the concern. Imagine I build a site that uses WordPress 4.9 (or
whatever release Gutenberg is will come out in) for a startup. Facebook
legitimately copies a startup infringing on their patents (think about the
Snapchat/Instagram feature battle), and the startup sues Facebook. They then
have their react license revoked and can no longer use WordPress. The same
thing applies with React native.

On the other hand, I do understand Facebooks reasoning. I'll definitely be
watching this over time and hope that a legitimate solution will arise.

------
us0r
The last time the PATENTS file was changed was 3 years ago. It has passed the
smell test for Microsoft (and dozens of other large companies) with literal
buildings full of attorneys who have more experience with licenses, patents
and everything between then most.

This issue seems to be a bunch of nothing. What am I missing here?

~~~
sheeshkebab
Microsoft probably has a separate IP licensing agreement with Facebook. After
all MSFT invested in Facebook in the early days, 10 years ago.

[http://www.nbcnews.com/id/21458486/ns/business-
us_business/t...](http://www.nbcnews.com/id/21458486/ns/business-
us_business/t/microsoft-invests-million-facebook/)

------
mlsarecmg
Not a day goes by ... same came up in the project we're working on as our
partners got wind of it and are now complaining. It seriously worries me as
it's getting harder and harder to justify React although the technology is
sound (perhaps close to perfect). The worst part is that this is already
threatening v-dom in general (like Preact, Inferno, Vue, etc.) as people are
falsely claiming FB holds a claim on it.

The React team should re-think their approach. Is it really worth it to
dedicate time and spirit on technology that is dear to us all, that is meant
to enable amazing applications, but Facebooks lawyers make it hard for us to
use, doesn't even matter if our lawyers understand the patent clause correctly
or not because they're the ones having the last say, and as this is
snowballing out of control they tend to say no.

Dan, Sebastian, Pete, Jason, Brian, Dominic and so on, wish they'd get
together, start a competitor called Fiber, or put FB under severe pressure.

------
CharlesW
> _As our general counsel wrote, we made the decision that we 'd never run
> into the patent issue. That is still true today as it was then, and overall,
> we’ve been really happy with React._

Okay.

> _…I 'm here to say that the Gutenberg team is going to take a step back and
> rewrite Gutenberg using a different library._

Am I the only one missing the "why"?

> _…passing down to our users._

Is that the "why"? If so, what does he mean by it? Meaning: What is the
"danger" that Matt says Automattic will never run into, but that WordPress
users will run into?

~~~
coldtea
> _Is that the "why"? If so, what does he mean by it? Meaning: What is the
> "danger" that Matt says Automattic will never run into, but that WordPress
> users will run into?_

He answered that already. He doesn't believe there's much (if any) danger,
but:

"we have a lot of problems to tackle, and convincing the world that Facebook’s
patent clause is fine isn’t ours to take on. It’s their fight".

So what they don't want to "pass down to [their] users" is not something they
believe is an actual danger, but the anxiety about the licensing that users
would face and the arguments etc that will erupt over this.

~~~
rdiddly
In other words they're optimizing for bullshit avoidance - absolutely a valid
decision. Or another way to put it would be that they don't want to be in the
business of having to sell Facebook's legal turds. ("Sell" as in "persuade
people to accept.") There are other client-side frameworks that don't carry
that kind of baggage.

Frankly they get bonus points in my book just for the mere act of divesting
from something Facebook owns, so that would've been a good enough reason for
me. But hey, they also get to retain their right to sue Facebook if needed.

------
mkohlmyr
A lot of people here are projecting their dislike of software patents onto
this whole issue which is a big mistake.

IANAL but I don't see anywhere in the PATENTS file where it restricts this
issue to software patents. In fact it explicitly talks about any software,
technology, product or service.

That means you essentially can't sue them over any patent ever. Not just
software.

With Facebooks history of "liberal borrowing" when it comes to product, it
would be prudent to assume this same strategy might be applied to non-software
products and services.

I completely understand why WordPress is doing this. It makes a ton of sense.
WordPress powers some ridiculous percentage of the web. They are doing The
Right Thing (tm) by not stopping every single one of those users from bringing
a patent complaint against Facebook. Software or otherwise.

------
jasonsync
_I 'm here to say that the Gutenberg team is going to take a step back and
rewrite Gutenberg using a different library. It will likely delay Gutenberg at
least a few weeks, and may push the release into next year._

Just a few weeks? Is it that trivial to swap out a library?

~~~
kotojo
The only way I could see them doing it in a few weeks is swapping it out with
something with a very similar api like inferno or preact.

------
nathell
A candidate I'd consider: Preact. While it doesn't have quite the same support
as regular React does, it is touted as having a mostly-compatible API and its
license is pure MIT.

------
jaequery
vue.js will make me want to use Wordpress again

------
twiddo
This is not an appropriate vector to 'fix' patent law. If you want to fix
software patents, it should happen across the board and not by companies
selectively weaponizing their projects and polluting the whole ecosystem in
the veil of open source contributions.

------
batmansmk
Why does the Facebook license try to push an agenda with a perpendicular
concern to the open sourcing of Reactjs? Was the purpose of opensourcing
Reactjs a way to not get sued? They lost credibility in my eyes on their
intention.

~~~
zodiac
There was an article about that recently - it wasn't proactively pushing an
agenda so much as, if FB wanted to release any software as OS, without the
grant, the lawyers would have had to review every commit to avoid violating
someone else's patent.

~~~
Flenser
Do you have a link? That would be interesting to read.

~~~
carussell
[https://medium.com/@ji/the-react-license-for-founders-and-
ct...](https://medium.com/@ji/the-react-license-for-founders-and-
ctos-b38d2538f3e5)

[https://news.ycombinator.com/item?id=15214508](https://news.ycombinator.com/item?id=15214508)

~~~
Flenser
Thank you very much. That's very informative.

------
KurtMueller
I hope they choose Elm.

~~~
chrisco255
Elm would be cool, but would probably isolate WordPress from the massive JS
community. Community matters.

------
k__
That's why I stopped selling tech.

I say I do mobile apps and not React-Native apps.

Maybe I do then NativeScript next year or PWAs with Angular.

------
whipoodle
I respect their stance, but if I were a contributor I'd be bummed. This issue
still strikes me as much ado about nothing.

------
ramphastidae
So Calypso, which has been in the works for 2+ years, is going to be
completely rewritten?

~~~
kabes
Completely rewritten is a bit of an overstatement. It depends on what road
they choose. They could go with a react-API compatible library and the work
should be minor. They could go to angular/vue/... which is more work, but they
all work component based, so you can keep the entire structure.

------
fiatjaf
I don't understand why can't you just replace all React with Preact or
Inferno-compat. That would take 2 minutes, wouldn't it?

~~~
TheCoreh
If Facebook has patents covering React, these probably also cover Preact, so
you'd actually be in a worse position: Potentially violating patents and not
having any sort of grand.

~~~
fiatjaf
How? Isn't Preact totally different? How can Facebook patent other people's
code like that?

~~~
Flenser
You can patent the idea or algorithm that the code implements, so long as the
code isn't old enough to be considered "prior art".

~~~
fiatjaf
So all other frameworks that use the concept of virtual dom are also owned by
React?

~~~
Flenser
They can only be owned by their copyright holders, which is separate from
patents.

If anyone had a patent on virtual dom / diffing, then they could sue anyone
else that used an implementation that was implemented in the same way as the
implementation in the patent. That doesn't then mean that they "own" those
implementations, only that they can use the courts to stop others using them
or pay to licence their patent.

------
pmlnr
Did nobody at Automattic read the licence of react before started using it?

If this is the case, learn from it, please.

------
cygned
Too bad I wasn't able to setup Hot Module Reloading yet, otherwise I'd
switched to Preact. Not because I am concerned of the license itself, but
because we are heading towards an acquisition exit and I don't want that to be
a factor - who knows, where we're at in like five years?

