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

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