Hacker News new | past | comments | ask | show | jobs | submit login

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

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

Seems like a good bet. Developers discussing the matter...


Looked at the issue, Too many Vue fans are there, if I was a core contributor, I would be tempted to lock the discussion to contributors only.

> pretty low for many companies

C'mon. It's not just pretty low for many companies. It's extremely low for almost all companies. Automattic found it extremely low risk for themselves.

If it's not extremely low for almost all companies, then you expect Facebook to initiate patent claims. How soon do you expect to hear that Facebook played offense on them? How many companies do you expect to hear that Facebook threatened or filed against?

I would say the risk is extremely low on average, but for any particular startup the odds of having a patent dispute with Facebook are pretty much unknowable.

Facebook is a very large, rapidly evolving and expanding tech conglomerate. We don't know what all their activities will be in the not too distant future.

Facebook is also a public company. We don't know who will control the company in the future and how their strategy will change.

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

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.

According to the author of Preact, that's unlikely because Preact's implementation is very different (it's not just a cleanroom implementation of the same thing). However I'd be more worried that Facebook might hold patents not limited to React itself.

Considering how arbitrary software patents often are, I would think it equally as likely that they hold patents covering aspects of Angular or Vue as React. I would also think it's equally as likely that Google holds patents covering aspects of React or GraphQL.

As far as I know, unlike GraphQL, nobody has found any patents filed by Facebook that would actually cover any part of React, so right now the patent grant seems to be more of a statement of intent. But expecting you can dodge patent lawsuits by using different technology is absurd. The only way to avoid software patent lawsuits is not to own, deploy or produce software. The only winning move is not to play.

> nobody has found any patents filed by Facebook that would actually cover any part of React,

Somebody on /r/ posted this[0].

[0]: https://www.google.com/patents/US20170221242

And I responded with this (curious for informed feedback):

I just read it. I can't believe this patent was granted. If I'm reading it correctly, it's a patent for an old trick used by every OS and video game ever made. Basically, don't redraw things that aren't in view, and only redraw the bits of things that are in view.

Anyway, I can't see how this is applicable to React, as it really isn't how the v-dom works at all. The v-dom isn't about failing to draw clipped items. The v-dom is about diffing two trees and only updating changed items.

Am I totally off base here?

Welcome to a larger world. The bulk of patents in the US seem ridiculous.

Nope. Software patents are basically bullshit and I'm glad I don't live in a country where they pose a direct threat to companies.

Thank you, you made me comprehend why all software patents are nonsense.

> nobody has found any patents filed by Facebook that would actually cover any part of React

Let's suppose that the set of Facebook's patents were known. The size of that set is large enough that if someone wanted to validate the claim that Facebook has no patents on React, it would be a massive undertaking—perhaps several man years, even. Not that this really makes a difference.

Facebook has thousands of patents with their name on them. They have thousands more where Facebook's name would not appear, because they control the patents through acquisitions and cross-licensing deals, which means the size of the set of Facebook's patents on any given technology is unknowable. We're basically running into the equivalent of the halting problem as applied to the world of IP—which has always been the crux case against software patents—it doesn't matter how diligent you are, because there's always the risk of being submarined.

So I don't know where this idea comes from that Facebook has no patents covering React. I keep seeing it repeated, and yet it seems to have been derived from nothing more than the same comments I saw early in the conversation about React probably not being covered—in which case, those comments are a terrible thing to base your understanding on, because I know those were just generic, off-the-cuff, probably underinformed speculation no different from 90% of the comments in any other thread about licensing.

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.

You lose the patent grant, which applies to all Facebook open source projects (not just React), so they can use all patents they own as part of a defensive portfolio.

If initiating a patent war with Facebook is a foreseeable business outcome for you, then you probably shouldn't use React. I remain convinced that logic applies to only a tiny minority of companies.

What happens if you are not the one who initiated the patent war?

My reading of the license is that you lose Facebook patent grant even if your lawsuit was a response to Facebook's.

I am not a fan of (software) patents, but license restrictions are not limited to them either. So what is your recourse if Facebook decides to infringe yours?

Assuming this is true (IANAL), would you still feel as comfortable advising companies to use React?

I don't begrudge Facebook for their license for the same reasons that Matt stated, but I am highlighting this issue to my clients and would not recommend React's use because of it.

IANAL, but you do not lose the patent grant if your lawsuit is in response to Facebook's. https://github.com/facebook/react/blob/master/PATENTS#L21-L2...

I somehow missed that part. Thanks.

Most people do, which is half the reason so many people obsess about it.

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.

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?"



> We don't even know of any React patents

This might be the one[0].

[0]: https://www.google.com/patents/US20170221242

IANAL but:

"Additional Grant of Patent Rights Version 2 ... 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"

Seems clear to me that you lose the license to use React. The clause that terminates the license is contained in a grant of rights, but the license it refers to, is the license to which this grant of rights is an "addition".


"A "Patent Assertion" is any lawsuit or other action alleging direct, indirect, or contributory infringement or inducement to infringe any patent, including a cross-claim or counterclaim."

The "other action" is pretty broad and might as well include "use your patents in any way that goes against the interests of Facebook".

Reading legal documents with a benevolent attitude towards the claims, intentions and goals of the issuer is a pretty bad idea. If anyone decides they won't ever have or deal with patents and thus they are free of danger, that risk is up to them; but don't do it because you think the clauses only cover a narrow and unlikely set of situations.

I feel like there is practical worth in drawing a line in the sand, though. If all open source libraries had this then using open source would essentially mean you can't sue the big corporations (or having to go through some very lengthy and very expensive expensive engineering if you do). I think that outcome is bad for the industry as a whole and bad for open source in general and it's better to fight now than have to fight it when it's more established.

Why would suing Facebook be good for anybody? Even if you're a VC backed startup and Facebook steals your patent it still would be a bad idea to sue Facebook. During this whole thing I've been agog because I can't figure out what the problem is. Patent lawsuits are bad!

If you have nothing to hide from Facebook, you have nothing to fear from Facebook.

How do you know that?

The facebook patent clause states that you lose the licence rights to use react if you sue facebook against any patent infringement (for patents you own).

There is nothing in that saying that they have patents on react, and if they have patent covering, it very likely covers very much more than just react (because of the generic way patents are filed).

«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» see https://github.com/facebook/react/blob/master/PATENTS

No, this is wrong. You do not (and cannot, since it’s BSD) have your license to use React revoked. You do have your additional patent grant revoked - that is, if you sue Facebook for patent infringement, you will lose the right that they previously granted to use any and all patents covering React.

If we assume that any patents covering React also cover the alternatives such as Preact, the nothing is gained by avoiding React.

You should read more carefully, or listen to interpretations from lawyers. The license referred to in that document is the license to any Facebook patents granted within, which might not even exist.

The patent grant is separate from the copyright license.

That seems like a fine thing to do as a "send a message" type thing, but doesn't seem to help patent wise?

Am I misunderstanding the flow?

1) Facebook has patents on some stuff React does. 2) (Assumption) Anything similar enough to be near-source-compatible probably runs a big risk of exposure to those same patents. 3) React is licensed in a way that you can use it without opening yourself up to patent litigation (it grants license to them). 4) Facebook infringes on some more-critical-to-your-business thing. 5) You sue. 6) Facebook sues you for using React (or Preact, from (2)?).

If you never use React you never get that patent license anyway, right? So be careful how distinct your replacement is. You'd need to analyze the claims of the patents you're worried about to see if they could still apply.

This guy seems to think the same ( https://medium.com/@dwalsh.sdlr/react-facebook-and-the-revok... ) but also doesn't feel like Facebook would ever use it, though that's not really relevant to the arguments made around the principal here.

This is sort of correct, but what you need to understand is by simply putting something on the web you're probably "violating" dozens of patents held by multiple big scary corporations. The big difference here is that FB has specifically described the patent grant, while most open-source projects leave it ambiguous.

That's true. I wonder if they'd steer clear of Preact just because it is similar to React though? Also, Preact seems to be heavily reliant on the React ecosystem and it wouldn't be much of a rage quit if they picked up the skinnier version of React when that is what they should be doing anyways because... you know... bandwidth.

Could potentially do both interchangeably soon: https://twitter.com/_developit/status/898952382960119808

How does that protect anyone? Any patents covering React would probably cover Preact.

(IANAL) But you didn't use React so you never accepted that Patents file?

That's not how it works.

The patents file does not take away any rights or impose any obligations.

You already have a license to use the React software, because it comes with a BSD license.

The patents file is an additional grant of rights. Specifically, the right to immunity against Facebook patents related to React, unless you have yourself initiated a patent lawsuit against Facebook.

The Apache License and the Mozilla Public License also contain patent retaliation clauses. Not many people care about this, and not many people even read licenses or think about what they mean, except in the case of React, because it's become a FUD meme.

Here's from the Apache License, v2, clause 3:

"Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. 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."

So if you sue over a patent, the Apache patent grant terminates.

Here's from the Mozilla Public License, v2, clause 5.2:

"If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate."

This is even stronger: if you sue over a patent, the entire license (not just the patent grant) is terminated, so that you would then be violating copyright law by distributing software based on that MPL project.

Nobody ever mentions that patent retaliation clauses are fairly common in open source, and nobody definitely goes into any detail about what they mean and how they differ.

This issue is a textbook case of FUD (fear, uncertainty, doubt).

Oh I see. Thanks for the detailed explanation. Just have these questions: Without that patents file and the rights granted within, could Facebook theoretically sue you for infringing their patents by using their own open-source software? If not, what's the raison d'être for such a grant?

This is the question of whether free software licenses without patent granting clauses have an "implicit patent license", and from what I can tell it's not clear cut.


It seems likely that judges would agree that free software licenses come with some sort of implied patent license, but it's unclear how that interacts with modification and redistribution, etc.

> could Facebook theoretically sue you for infringing their patents by using their own open-source software

Yes, but only because the question "can X sue you for Y" is true for any X and Y. Licenses can't protect you from being sued; the only thing they can offer protection from is someone else winning a suit against you.

That would explain the short time frame quoted for the rewrite.

I think preact since they already used react and will only delay them a few weeks preact seems like the more sensible option

I'm unclear on whether Preact solves the issue.

On one hand - it's close that it probably infringes on the any patents that cover React

On the other - it's not infringing patents that scares people - it's the patent clause in the React licence. If you're not using React, you're not accepting this licence.

So Preact seems like it would safe enough - unless you believe that Facebook would one day go on the offensive with React-specific patents. (for the record - this seems unlikely to me)

If you assume that Preact infringes any patents that React does, it seems like you are strictly worse off using Preact than using React.

If Facebook goes on the offensive, you are protected if you use React but not if you use Preact.

If you sue Facebook for patent infringement and they use their patents defensively, you are in exactly the same situation using Preact as you are using React; you don't have a license for the patents in either case.

What react-specific patents do they have? Preact only borrows concepts like VDOM and the component lifecycle (which isn't new), it's not implemented the same. They share the same API but that's just a name against common events in a component lifecycle, and is mostly for interop and developer ease. I don't see how they could do anything to shut down Preact, though IANAL.

> I'll bet WordPress get's rewritten in Vue.js

I had the same thought. If that's the case, it will be a big boost for Vue.

Vue seems the obvious contender but I doubt completely replacing React with Vue this far into development would only cause a delay of a few weeks. Preact or Inferno seem far more likely, considering they won't require massive rewrites.

"A very large software company that use Inferno in production already had their legal team look into Inferno. It didn't infringe on any patents."

— Dominic Gannaway, creator of infernojs https://news.ycombinator.com/item?id=14783208


If these mysterious patents are about things like "virtual DOM", comparing trees of state or something derived from FRP, then using Vue, Preact, Angular 2, Cycle, Riot, Elm, reflex-dom is not more patent-safe. Moreover, they can sue you even if you are not suing them.

It's time to move back to jQuery and Prototype.js. Let's wait 20-30 years until these patents expire so everyone finally can use these nice state-management things.

Vue.js... Which is totally guaranteed to not be covered by any possible Facebook patents related to react, right?

That logic can also be used for Angular 2, Preact, inferno etc. So it is meaningless

Stop spreading FUD.

Yes, that same logic can be applied to Preact, inferno, and maybe even Angular2. But those who spread FUD are those who say you shouldn't use React because it has the patent grant attached.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact