by thelarkinn on 7/16/17, 12:43 AM with 362 comments
by numair on 7/16/17, 2:32 AM
When I first brought up how misguided people were for embracing React and projects with this license, I was downvoted to hell on HN. But really, everyone, THINK ABOUT IT. This is a company that glorifies and celebrates IP theft from others, and lionizes their employees who successfully clone others’ projects. They’ve built their entire business on the back of open source software that wasn’t ever encumbered with the sort of nonsense they’ve attached to their own projects. And this industry is just going to let them have it, because the stuff they are putting out is shiny and “convenient” and free?
Having known so many people involved with Facebook for so long, I have come up with a phrase to describe the cultural phenomenon I’ve witnessed among them – ladder kicking. Basically, people who get a leg up from others, and then do everything in their power to ensure nobody else manages to get there. No, it’s not “human nature” or “how it works.” Silicon Valley and the tech industry at large weren’t built by these sorts of people, and we need to be more active in preventing this mind-virus from spreading.
By the way, the fact that Facebook is using this on their mostly-derivative nonsense isn’t what should concern you. It’s that Google has decided, as a defensive measure, to copy Facebook’s move. Take a look at the code repo for Fuschia and you’ll see what I mean. Imagine if using Kubernetes meant you could never sue Google?
by erichocean on 7/17/17, 12:59 AM
So even if Facebook tries to patent that particular invention/innovation, it may not stand up to legal scrutiny depending on the filing date. AFAIK, Facebook didn't do a provisional patent for virtual DOM stuff before July 2012 (long after I released Blossom), because that patent filing would have become public AT THE LATEST on January 1st, 2016 and nothing has come to light that I'm aware of.
So…you should be safe (IANAL).
[0] Ironically given the subsequent popularity of React, the SproutCore team rejected my virtual DOM approach which is why I had to fork it. Live and learn. I actually came up with the specific virtual DOM + diff design in spring 2008, but didn't get around to writing the code for it until someone paid me to do it (I had asked Apple and they declined). Eventually, the copyright owner of SproutCore (Strobe, Inc.) got bought by Facebook, though I don't recall when…
by softinio on 7/16/17, 1:59 AM
I agree with this move.
There are plenty of OSS projects out there without patent thing attached to its license so no reason to use react.
by clarkevans on 7/16/17, 2:01 PM
It's tempting to consider the BSD license independent of the additional patent license. However, the OSI has not approved CC0 as being open source precisely because it expressly reserves patent rights [0]. In the OSI's justification, permissive MIT and BSD licenses may provide implicit patent license, so by themselves they are open source. However, like CC0, BSD+Patents expressly exclude this possibility. Indeed, Facebook's licensing FAQ deems the combined work of the BSD+patents to be the license [1]. Further, recent court case has shown that these licenses are not simply copyright or patent statements, but can be actual contracts [2].
Hence, we have to consider the BSD text + the patents file text as the combined license. This license is not symmetric and hence may violate OSI license standards. I've made this comment in the facebook bug report, https://github.com/facebook/react/issues/10191
[0] https://opensource.org/faq#cc-zero [1] https://code.facebook.com/pages/850928938376556 [2] https://perens.com/blog/2017/05/28/understanding-the-gpl-is-...
by captainmuon on 7/16/17, 7:27 AM
There are two things here: The copyright license, and the patent grant. Copyright applies to the concrete implementation. You have to agree to the license to be subject to it, and to legally use the code.
A potential patent applies to any implementation. Even if you write a clean-room clone of React, if it uses the same patent, Facebook has a patent claim. But that means the patent grant is not specific to the code; it doesn't even require consent, Facebook could allow you conditional patent usage even without your knowledge! A corollary is that you are strictly better off with the patent grant, it imposes no additional constraints on you.
License with no patent grant: Facebook can sue you for infringing patents, even if you are using a clone!
License with patent grant: Facebook cannot sue you for infringing patents, unless you do it first.
----
Second, I think the philosophy behind the patent grant is twofold: 1) that software patents are not legitimate. Enforcing a patent is not seen as a legitimate right, but an annoyance, like pissing on someones lawn. From that point of view, it seems not asked too much from somebody to refrain from doing that. (I don't know if that was the idea of the people who drafted that license, but it wouldn't surprise me.)
----
Another, unrelated observation (and please don't invalidate the first observations if this one is wrong as internet commentators are wont to do):
I see nowhere in the license [1] that it requires you to take the patent grant. Is that true? It would be silly to refuse it, because you are strictly better off with it, of course.
by fencepost on 7/16/17, 7:00 AM
by chx on 7/16/17, 2:09 AM
by altotrees on 7/16/17, 6:46 PM
After going to our lead dev, who in turn went to our project manager, we received an email from our legal department a few days later that simply stated we would not be using React due to "certain patent constraints."
Having not done any prior research, I looked into what the problem might be and was pretty floored with what I found. At first I scoffed when they said no, but after reading about the patent situation I totally get it.
by jorgemf on 7/16/17, 1:56 AM
I found this [1]:
> FB is not interested in pursuing the more draconian possibilities of the BSD+patents license. If that is true, there is actually very little difference between BSD+patents and the Apache license. As such, relicensing should make little if any pragmatic difference to Facebook.
So what happens if Facebook doesn't change the license and in the future changes its mind?
by j_s on 7/16/17, 2:10 AM
Glad the long-term legal implications will be given serious consideration publicly, rather than the "this is not the droid you're looking for" I've seen nearly everywhere so far!
by rdtsc on 7/16/17, 2:49 AM
There is an issue with a related discussion about it going for more than a year:
https://github.com/facebook/zstd/issues/335
Last update is interesting. Someone did a search and looked for any patents FB filed for and couldn't find any in last year. So somehow based on that they decided things are "OK".
To quote:
---
US allows to patent up to a year after the publication, allowing to conclude that ZSTD remains free of patents (?) - suggesting this "The license granted hereunder will terminate, automatically and without notice (...)" from PATENTS file has no legal meaning (?)
---
Anyone care to validate how true that statement is?
by TheAceOfHearts on 7/16/17, 2:06 AM
There's already an issue [0] asking them to consider doing something similar for react, and Dan Abramov said he'd route the request internally on the next work day.
I can't imagine they'd keep the existing license without harming their community image. But even if they keep the license, many applications should be able to easily migrate to preact [1] and preact-compat, which provides a react-compatible API.
Hopefully they relicense the project. It seems like it's the first thing that gets brought up each time react gets mentioned.
by learc83 on 7/16/17, 5:32 AM
I don't think avoiding React makes you any safer. You don't know how broadly Facebook or the courts will interpret their patents.
by tomelders on 7/16/17, 3:25 AM
Do you have a license to use Facebook's patents? Yes.
Do you have a license to use Facebooks patents if Facebook brings a patent case against you? Yes.
Do you have a license to use Facebooks patents if you bring a patent case against us? No.
If you do not have a patent grant, can you still use React? YES!
If you're going to down vote this, please say why. This is how I interpret the license plus patent grant. If I'm wrong, I'd like to know why.
by tomelders on 7/16/17, 3:14 AM
Apache 2.0
> 3. Grant of Patent License. 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.
The important bit being...
> 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.
But what people seem to be missing (as far as I can tell) is that you don't lose the licence to use the software. You just lose the patent grants. But with the BSD licence alone, you lose both the patent grand AND the licence. I really don't see how the Apache 2.0 License and Facebook's BSD+Patent Grant are any different.
by mixedbit on 7/16/17, 8:17 AM
by ec109685 on 7/16/17, 5:06 AM
Clearly the apache 2 license would be preferable (and what rocks db did), but I am puzzled the foundation accepts bsd code in their products, given their worry about patents.
by vbernat on 7/16/17, 5:50 AM
by Xeoncross on 7/16/17, 1:58 AM
> No.
> Does the additional patent grant in the Facebook BSD+Patents license terminate if I sue Facebook for something other than patent infringement?
> No.
https://code.facebook.com/pages/850928938376556
Consider re-licensing to AL v2.0: https://github.com/facebook/react/issues/10191
by vxNsr on 7/16/17, 2:19 PM
Looks like they're working on amending this issue, could very well be a case of legal getting involved and the regular engineers not realizing the change or simply not paying attention. Alternatively, maybe this is just crisis management and they were just hoping this wouldn't happen.
by issa on 7/16/17, 11:41 AM
by geofft on 7/16/17, 2:01 AM
by plastroltech on 7/17/17, 3:55 PM
If Facebook had not included this Patent grant and had released React under only the BSD license then any user would be in the exact situation which everyone is complaining so loudly about being in IF they decide to bring a patent action against Facebook. Specifically, you would be open to being sued by Facebook for violating a patent which they own.
What this grant says is for one specific circumstance (you haven't brought a patent suit against them) and for one specific limited set of patents (those related to React), Facebook will not sue you. If you like that protection then don't sue them. If you decide that you do want to bring a patent suit against them then you're right back where you were to begin with. Your one small limited protection is removed and Facebook can once again sue you if you violate one of their patents - just like they could before you started using React in the first place.
This business about it being asymmetrical is IMO a distraction. What would it mean for it to be symmetrical? That it would only trigger if you sue them for a patent violation related to React? What does that mean? You don't hold React patents, Facebook does. How would you sue them for a violation of a React patent? It makes no sense.
by isaac_is_goat on 7/16/17, 2:15 PM
by didibus on 7/16/17, 6:12 AM
So say Facebook was infringing on one of your patent, you could still sue them, but you'd have to give up React if you did. Is that correct?
by nsser on 7/16/17, 2:57 AM
by jzelinskie on 7/16/17, 2:55 AM
by gedy on 7/16/17, 3:57 AM
by maxsavin on 7/16/17, 9:12 AM
by alecco on 7/16/17, 4:08 AM
by Steeeve on 7/16/17, 2:42 AM
> As noted earlier, the availability of a GPLv2 license does not preclude inclusion by an ASF project. If patent rights are not conferred by the 3-clause BSD and required by ASLv2 then would not these licenses be incompatible?
---
> he has discussed the matter with FB's counsel and the word is that the FB license is intentionally incompatible. It is hard to make the argument that it is compatible after hearing that.
by snarfy on 7/16/17, 12:02 PM
I cannot sue Facebook for patents in react or lose my react license, but I could some other patent I own e.g. fizzbuzz that Facebook is violating. Is this correct or is it any patent?
If it is any patent, I cannot believe that was the intent even if that's how Apache Foundation is interpreting it.
by ouid on 7/16/17, 4:33 AM
I wonder if such a clause is actually enforceable. Are there any actual cases where this clause was invoked?
by brooklyntribe on 7/16/17, 9:19 AM
:-)
by Communitivity on 7/17/17, 3:07 PM
by didibus on 7/16/17, 6:09 AM
by hellbanner on 7/16/17, 10:20 PM
by rmgraham on 7/17/17, 11:51 PM
People should be aware that Atom (the editor) uses React internally, so it's possible you face similar legal exposure without even shipping anything just because you agreed to the terms by installing an editor.
by vbernat on 7/16/17, 8:57 AM
The whole decision seems to have been taken by "not-a-lawyer" people with their own interpretations. Doesn't the Apache Foundation have some software lawyers they can ask?
by hordeallergy on 7/16/17, 5:25 PM
by shams93 on 7/16/17, 5:15 PM
by Kiro on 7/16/17, 8:05 AM
by flushandforget on 7/16/17, 9:38 AM
by luord on 7/16/17, 4:44 PM
I'm sticking with Vue, even if (and that's a big if) it might also infringe facebook patents.
by anon335dtzbvc on 7/16/17, 11:39 AM
by guelo on 7/16/17, 7:50 AM
by erichocean on 7/17/17, 12:26 AM
by weego on 7/16/17, 6:59 AM
by zengid on 7/18/17, 5:43 PM
by 0xbear on 7/16/17, 5:08 AM
by GoodInvestor on 7/16/17, 4:51 PM
by BucketSort on 7/16/17, 9:27 AM
by known on 7/16/17, 12:32 PM