Apollo(GraphQL), React, Facebook's BSD + Patents. Shouldn't we be worried?

This means Facebook may knowingly violate your patents as long as you use any Facebook technology in your products…React, GraphQL, Flux…and you can’t sue them. If you ever plan to sue Facebook, you’ve to move quickly to anothe technology. Who knows what they come up with in the future. :wink: I know MDG will defend every move on this because of their use of Facebook specifications(Apollo). What if Google had placed similar BSD + patents on Android source code or related specifications!?? What would it mean for Facebook itself?!:roll_eyes:

1 Like

I’m not 100% sure this is the actual clause. And in any case, is that clause enforceable? There are millions of clauses in contracts and patents that aren’t remotely enforceable. Just because it’s there, doesn’t mean it has an bearing on real life. So not only are the chances that you went to court for using react near ZERO, but the chances facebook could actually enforce the about (alleged) clause, is also near zero.

Software is hardly patentable at all, never mind enforceable. Hardware is much easier. Will facebook really try to make the case that they own all of airbnb’s patents because airbnb built an HTML CRUD form on their landing page with a javascript library that facebook virtually open sourced? Can facebook really make the case that react.js is more novel then any other javascript library that was in the public domain at the time? My Guess is walmart/amazon/airbnb/creditkarma/microsoft are using react, because they know that clause is virtually meaningless and has zero chance of holding in up in court. I mean to think you somehow outsmarted teams of tech lawyers at microsoft… I don’t know.

Another perspective from Dennis Walsh: https://medium.com/@dwalsh.sdlr/using-graphql-why-facebook-now-owns-you-3182751028c9

The safest way forward is to use Facebook’s JS reference GraphQL implementation for the patent grant. The patents I’ve reviewed are focused on the server, so I don’t see any infringement (yet) with other GraphQL clients like Apollo.

But if I owned GraphCool (:heart:️ you guys!) or another GraphQL as a service or a GraphQL server implementation (Apollo Server, Sangria, etc), these patents would shake me to the core as a potential contributory infringer. (I’d love to hear from GraphCool or MDG counsels on this issue)…

…and in concluding:

For the reasons set out above, most GraphQL users are likely infringing Facebook’s patents. Facebook should immediately include a patent grant into the GraphQL spec to stop justified panic and GraphQL abandonment.

P.S.: Please the comments that follows carefully on Medium.

One of the HN users, briandear, tried to break it down:

So if I understand correctly, if I were to use React for a marketing website about my patented system for and Facebook steals/uses that extremely valuable invention, I can’t sue Facebook by virtue of using React?

Obviously, if that were to happen, you’d simply have to stop using React or else you’d get countersued for using React without a license right?

Why would anyone use React ever if that’s how it works? It feels like a payday loan – React makes it “easy” right now, but if your business is built dependent on React, you could pay a serious price later in exchange for “right now” convenience. It makes a strong case for Ember or Glimmer or any of the other front-end systems not tied to Facebook. Imagine a React “Native” app around which your business is based – you’d have to rewrite the entire thing of Facebook were to start using some patented aspect of your business.

Perhaps I am misinformed, but it seems absolutely bonkers to essentially indemnify Facebook from patent infringement just by virtue of using React somewhere in your business.

Imagine if Apple did this: if you release on the App Store using Xcode, you can’t sue us for any patent infringement ever or we’ll sue you for using Xcode illegally.

Is my assessment correct? Is React that good to risk such a situation? Facebook could sit back and watch a company using React develop something amazing, then Facebook could steal it and you’d have no recourse but to stop using React. Meanwhile, while you are rebuilding your application, you lose all your customers, but if you don’t rebuild your application, Facebook can legally take your invention and crush you in the market. Either way, you lose – simply because a few developers on the team were insistent on React’s greatness. If I were a VC, I’d be incredibly wary about supporting a company using React for their primary application…

And the response from another user, khuey:

Yes, your understanding is largely correct. To be clear, you can still sue Facebook for stealing your patented invention, but then your grant to any patents that your use of React infringes would expire and Facebook could countersue over that. Facebook legal’s response to this concern has been largely obfuscation and “trust us” which is not encouraging. They did change the patent grant two years ago to allow you to assert patent claims against Facebook without losing the grant if Facebook sues you first, but that’s of limited utility.

It’s an interesting theoretical debate. In practice, for myself at least, I’m not going to worry too much about it until:
(a) I see facebook actually do this to at least one company on planet earth in real life, or
(b) the legal team at our company says no (apparently microsofts, airbnbs, creditkarma and many other’s legal teams haven’t said much).
© I see one of the huge major companies using react (most of which have lots of patents) say they are leaving react specifically because of the patent clause.

Until then, my guess is you have a better chance of winning powerball then you do of getting in a react-based battle with Facebook. And even if it were to happen, how likely is it a judge is going to decide in facebooks favor because you built some login forms with their virtually open source javascript framework?

I agree. That said, I’ve tried to blow the whistle on GraphQL because 1. It’s a spec without a patent grant and 2. there are real patents protecting it.

I think my Medium post did the trick. Facebook told me they’re aware of the legal problem with GraphQL and are formulating a solution.

2 Likes

Another interesting perspective on this debate:

2 Likes

I’m pretty sure that we can’t discuss this enough. I’m also considering to stop using GraphQL, because it’s a dishonest way to treat the users of your software / library / specification / etc.

Even the Apache Foundation stopped using any of Facebook technology because of that reason. And I must say I have a lot more respect for Apache than for Facebook when it comes to open source technologies.

This is really sad and I would’ve loved to use GraphQL, but actions like that cannot be undervalued.

1 Like

I see it another way.

The purpose behind patents is to provide a temporary right to restrict other people from using your technology, in exchange for getting the technology or invention into the public domain after a certain period of time. It’s a government-sanctioned time-limited ‘no tresspassing’ agreement, in exchange for open-sourcing the technology into the public domain.

Now, keep in mind that React is a client-side technology. By design, it is exactly meant to be sent to other people (browser clients). By design, it is meant to be interpreted source-code that others can use. By design, it has an ecosystem of tools that support breaking it apart, analyzing it, studying it, debugging it, etc.

So, what this React license basically says is this: if you design your app in React, expect other people to be able to disassemble the client and study it. Don’t hide your trade secrets in the client or the React code. Because Facebook (and any other React developers) will be able to open up the client in a debugging tool, and grab the client side code. It’s a post-facto argument to the effect that React works precisely because it’s interpretable and debuggable by clients; so don’t expect to be able to enforce patent rights through it. And don’t sue us if we use that knowledge to look at your codes, and implement our own similar products.

So I’m somewhere between ‘this clause is mostly meaningless’, and ‘it’s actually better than the old Microsoft licenses’. It’s more a statement of fact - parsed through legalese - than it is an agreement of rights. And the message it conveys is applicable to Blaze, Vue, and all the other front-end rendering technologies. Anything we write in client code is subject to being decompiled by competitors and used in competing products.

So don’t expect to be able to sue anybody else over them implementing competing products that are substantially similar to your front-end react/blaze/vue code. Front-end code isn’t the place to implement logic or business processes that are patentable or trade secrets. Keep that stuff on the server and in private source-controlled packages or behind VPNs.

1 Like

I was writing about GraphQL, which obviously also touches the backend part (and a pretty important one: the communication layer).

Had this article been written/released by the current FB team, I think I would feel a little more comfortable. It leaves much less to the imagination, and understanding the reasoning behind FB’s actions is certainly helpful in justifying React usage.

Unfortunately, the official statement is much more business-language oriented and doesn’t really offer any insight into the actual events that led up to where we are currently.

If you’ve been following the patent discussions on github, it makes it seem like there are a handful of people holed away that are making these decisions, and the rest of us are simply privy to the actual outcome, rather than the strategy behind the outcome. Many things are “being taken into consideration”, but again, the lack of transparency is still troubling.

It seems as though the author is trying to aleve some of the tension surrounding this by humanizing the situation, but as a non-lawyer and non-FB representative, I’m not sure how much traction it can really generate.

I still recall the heated exchange with @diaconutheodor
about this. Grapher - Collection Relationship Manager + GraphQL Like Data Fetcher
I hope the warning heeds now that WordPress is ditching reactJS https://m.slashdot.org/story/331333

FFS FB

2 Likes

Sounds like they were tired of the heat, so they left the kitchen.

I must confess… the longer that it takes Facebook to clean up its GraphQL IP mess, the more I question their intent.

Unless of course, that larger company is: Netflix, Yahoo, Atlassian, Microsoft, Skype, Apple, Amazon, Uber, Tesla, Salesforce, Airbnb, Twitter, Pinterest, PayPal, Slack, Dropbox, Google, Intuit, or many of the other large corporations who are using React.

2 Likes

… and Cisco bought App Dynamics, a full React shop, for 3.2 billion. It worked out for them somehow. :laughing:

2 Likes

Yeah I’m really not concerned, at all. But I’m happy to note the development as in favor of the “anti-react” crew’s argument.

Honestly, I see Facebook probably caving on the patent if another 4-6 big names dump react.

The issue is, nobody seems to be sure if Vue or Preact or anything else is actual safe from the patent (assuming the clause is even remotely enforceable in real life). People forget that there are a lot of bad patents out there and bad contracts that end up just being pixels on a screen or ink on paper when they get into a court room.

1 Like

I obviously agree about the bad patents and testing them in court… I’ve been involved in several such trials. In my experience, probably 50% of issues patents are invalid.

But there is a caveat. Courts give issued patents a presumption of validity. A defendant must prove invalidity by clear and convincing evidence – a standard between preponderance of the evidence and beyond a reasonable doubt. Not a small hurdle.

I’ve considered spearheading a crowdfunded / sourced effort to invalidate Facebook’s patents by a USPTO request for reexamination. https://www.uspto.gov/web/offices/pac/mpep/s2210.html

I just don’t have the time to run it alone. Hopefully soon though!

1 Like

I pity the fool who messes with @LawJolla

(I really hope that gets me some kind of Mr. T-glish Discourse badge … :slight_smile: )

3 Likes

Hmm, maybe start a github repo and a gofundme

1 Like