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


#1

If you’re a startup, you should not use Facebook related open source technology(GraphQL, React…)(reflecting on the BSD + patents license)…That is, if you ever hope to be acquired by a larger company. What’s currently happening in the Open Source community is disheartening. Especially when you realise that many startups and businesses exist thanks to Open Source; as they wouldn’t be viable if they had to pay the prohibitive license fees of proprietary software.

Open Source is about creating communities to build better software together. It should never be used as a marketplace to exchange people’s rights — like Facebook is intending.

Facebook is pushing a licensing model called “BSD + patents”, which you probably know, in all their projects, including the wildly popular React and GraphQL…others too.

"BSD + patents” essentially means that the code is open (for everyone to see and use), but it’s always copyrighted by Facebook. And they grant you a patent license as long as you’re nice to them by never suing Facebook for patent infringement.

The instant you sue Facebook, your patent rights for GraphQL(Apollo), React — and any other Facebook ‘open source’ technology you happen to use) — are automatically revoked.

Open source built Facebook and this is how they’re paying back.

So my question to the Apollo and Meteor team is: Shouldn’t we be worried using Apollo or React?


#2

I’m pretty sure we’ve discussed this to death already.

https://forums.meteor.com/search?q=patent


#3

Ok…will check it out. @robfallows As it relates to GraphQL?


#4

Those discussions are probably more focused on React. However, as I understand it GraphQL is really just a specification, not a product.


#5

So we thought. Every product has a specification. Specifications become products in different forms and they make up processes and steps towards an end goal. Are you saying specifications aren’t patentable? Patents protect ideas and inventions.


#6

GraphQL, Flux and other specs also have the patent file attached to them too; its not just limited to code.

Apollo could probably have circumvented this, but they have declared themselves to be an implementation of GraphQL.


#7

I see this as Facebook’s unethical use of OS philosophy.


#8

I agree. My only point was that we’ve discussed it many times before.


#9

I’m surprised more people are not put off by it. Perhaps developers do not have the same concerns as lawyers or business owners.

I bet if they would have charged $1 for React, everyone would flip out.


#10

Developer: “Hey, so this React thing is awesome; if we use it and break our app up into components, we’ll be making things so much easier to re-use, test and maintain. We’ll be saving a bunch of time and money! Oh, and all that cool reactive stuff we’ve been talking about adding in? React makes that soooo easy to understand and implement. Oh, and we can jam in some really cool performance optimizations as well, since we’d be able to render a bunch of our stuff super easily server side. And the mobile app we’ve been talking about? No problem, React has a solution for that - we can re-use a bunch of our components as-is and get them on mobile. I’m super excited about this - there’s so much more I’m not even getting into!”

Business Owner: “Wow, this sounds really great!”

Developer: “I know right? Oh, by the way - there’s one catch - we can’t sue Facebook if we use it.”

Business Owner: “HAHAHAHAHAHA!!!” (wipes tears from eyes) “HAHA!!!” (wipes more tears from eyes) “Make it happen.”


#11

I agree, you needn’t worry if you don’t plan on suing Facebook.

Another, perhaps more likely, consideration might be: do you plan to submit your open source project to Apache Software Foundation? They have decided not to allow projects with React as dependency as long as it uses this license (details)

For the rest of us, it shouldn’t be a problem IMO


#12

I’ve yet to see this be an issue for any of the 7 billion+ humans on planet earth, I assume you won’t be the anomaly.

Of all the things that might destroy your future (or current) business, this isn’t even in the top 1,000 most likely causes. It’s like not leaving your house because it’s statistically possible you could be struck by lightning one day.


#13

Yes, that kind of thinking is exactly the problem.

It looks like Facebook may have indeed cracked the right model for application development, given their experience, and with their momentum it looks like they might own it.


Now, here’s a thinking exercise for you:

What if Linus Torvald’s formed a company that would have stuck a similar provision in the Linux kernel, then everyone ignored it, or perhaps even believed it was good, and then it made its way to all of the world’s digital infrastructure?

Meanwhile, someone else takes control of that company, and decides its time to make some “strategic” moves?

But really, never mind that. It’s just not a polite move by Facebook. You folks have been played.


#14

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:


#15

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.


#16

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.


#17

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.


#18

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?


#19

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.


#20

Another interesting perspective on this debate: