React has a revokable patent grant, people freak out about it, FB removes the patent grant, everyone rejoices.
GraphQL doesn't have a patent grant, people freak out about it, FB adds a revokable patent grant, everyone rejoices.
What am I missing?
Additionally, React is software while GraphQL is a specification. Different types of works require different types of licenses.
The BSD license says I can use the thing being licensed. With a library like React, it's pretty clear what 'use' means. By 'use', they mean they want to allow me to build software with it, so they're granting me all rights necessary to do that. With a specification, though? What does it mean that it grants me the right to use it? There's lots of things you might do with a specification. Did they intend to allow me to implement my own version? If they didn't, I might not have all the rights I need to do so.
DannyBee, an actual lawyer, talked briefly about the importance that this is a specification when this topic first came up: https://news.ycombinator.com/item?id=15291330
That there is a patent actually associated with GraphQL, I believe.
but as you perhaps allude to... people's use of graphql will be impacted by the patent grant. so back to square one?
The idea wasn't unfounded, it was untested. People had worries because of how it looked like it could be used, and people with legal experience that weighed in seemed to have differing opinions on the possible impact. That was a foundation for concern.
if fb wanted to stop react use, they would simply revoke the copyright grant.
in the end, all that was accomplished is that react users became less safe, not more.
> All rights, grants, and promises made by me to you under this Agreement are terminated if you file, maintain, or voluntarily participate in a lawsuit against me or any person or entity asserting that its Permitted Uses infringe any Granted Claims you would have had the right to enforce had you signed this Agreement, unless that suit was in response to a corresponding suit first brought against you
Wasn't this the problem with the previous BSD + patents license? Not criticizing by any means, I'm genuinely curious.
GraphQL.js and Relay are now basically in the same situation as React. The GraphQL specification however is more general and needs the Patents around it to be specifically granted. The above doesn't do anything but say "if you sue specifically over the rights granted herein then we'll revoke" but that's nothing like as broad as the problematic Patent grant was.
The text specifically defines "Granted Claims" as "those patent claims that I own or control [...] that are infringed by Permitted Uses." And "I" refers only to the entity granting the patent rights.
So how does "Granted Claims you would have had the right to enforce" make any sense? Does it only apply to co-owners of the patent rights, or something like that?
If that's your standard then you'll either be using PD or leaving yourself up to your ears in very very risky code. Most laymen won't understand the full legal implications of something as simple as the BSD licence.
That seems to mean if there's a lawsuit with the concerned company, but not related to the permitted use of GraphQL spec, no termination then.
Not a lawyer, though.
+1 to someone who knows the legal side and can differentiate for laypersons, since the text looks awfully similar between many of these.
Out of curiosity, does anyone know of any other specs licensed under OWFa?
GraphQL's reference implementation (GraphQL.js) intends on not just being a great implementation, but also very closely following the spec, so you're in good shape.
Also, GraphQL.js has had a BSD3+PATENTS license until today, which meant you've always had that patent license. Later today I'll be releasing a version of GraphQL.js that is MIT license instead, understanding that the OWFa1.0 applies to all implementations including the reference implementation.
Glad to see it, and learning about the OWFa license :)
> I think Facebook’s clause is actually clearer than many other approaches companies could take, and Facebook has been one of the better open source contributors out there. 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.
https://ma.tt/2017/09/on-react-and-wordpress/
That last part summed it up perfectly for me. Facebook may well have been right (and I personally believe they were), but it's their responsibility to prove they're right to the world, not ours.
i agree, to some extent. but it's also irresponsible to say they're wrong without sound reasoning.
The original Medium post from an IP attorney is linked in the original issue comment, but I will link it here too as it was a catalyst: https://medium.com/@dwalsh.sdlr/using-graphql-why-facebook-n...