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?
To use React, you give Facebook permission to use any of your software patents (edit: all patents, even on a new jet engine) throughout your whole company. Facebook gives you permission to use only the software patents necessary for React.
If your company sues Facebook over an unrelated software patent (edit: as above, any patent), your React license (to the React patents) is pulled and if your business has any dependency on React that part of your business is broken until you can port to something else, or you are in license violation if you keep using it.
On the other hand, if Facebook sues you over a software patent (edit: any patent) that isn't related to React, they are still free to do so (edit: you become free to defensively sue with other patents in response and not lose your license to React patents, meaning with the nuclear analogy below you give Facebook "first strike" capabilities but are allowed to keep a retaliatory-only arsenal).
So there is a big asymmetry: all of your software patents for a few of ours. (edit: all of your patents for a few react software patents)
It's a nuclear arms reduction agreement where Facebook gives up 1% of nukes in exchange for co-signers giving up 100%.
(edit: as pointed out below, it is a much worse deal: you give up all patents on everything, not just software patents; Facebook only gives up software patents on React)
That is, on its face, absolutely untrue. Nowhere in the React patent terms does it specify that you grant Facebook rights to use your patents--not even to ones related to React.
That's something that isn't in the React terms, nor does it seem to show up in any legal analyses published online from a lawyer making that claim. (None of the analyses I've seen, at least; if you found some, please post them.) In fact, the only place where this claim does crop up is in off-the-cuff message board comments.
FWIW, I don't use React, I don't want to, I'm not a Facebook employee, and in fact I think the world would be a lot better off with Facebook having less influence than they do today. But that doesn't change how weird it is to keep seeing comments like yours that make claims like the one above.
Then you have no patent protection in the first place! You are in the same situation as when the patent grant expired because you sued them. I don't see how this is any better.
You do not give them a license to use any patent. You are right that in practice the non-enforcement means that they can willy-nilly use your patents. But if we are arguing about factual ability vs legal rights - they can probably already to that, due to the fact that they likely have more money and better lawyers then you do.
And if you do have the license - then what? It's still a react death-knell should any submarine patent appear; no large company is every going to agree to such an assymetrical deal.
Better to at least be left in the situation where it's likely in facebook's own interest to never surface any (so restrictively licensed) patents in the first place.
The thing is, if you just use react for something inconsequential, and can live with the fact that you have to cease using it when you sue Facebook, then it is fine.
You shouldn't base your business on Facebook's (potential) patents, and then attack them with your own patents - but that is true with or without the patent grant.
Of course, what would be great would be 1) a finer grained, symmetrical patent grant, or 2) a bilateral agreement between your company and Facebook instead of the patent grant. If you are big enough and have patents, you can probably negotiate something like that.
The chilling future effect, which I believe is the primary driver of op worries, is what if you build on React and are the next Facebook? (I.e. you are growing quickly to become "big enough" but are not yet)
Old Facebook now how a lot more leverage on you at several critical moments -- either in terms of making an offer, or in the negotiations around a more reciprocal patent licensing deal, or the aforementioned infringing of your patents, or the mere threat of either if someone else makes an offer.
The entire point of ladder kicking is to build a moat to ensure that others can't grow past you in the same way you did, and this is pretty effective at that (intentionally or unintentionally).
As you said, a more reciprocal, more finely-scoped patent balance would resolve these concerns. (E.g. "if you sue Facebook over a patent involved in React...")
If Facebook wanted to be the good guys here they would license under Apache 2.0 or write their own symmetric patent grant. They already relicensed RocksDB after Apache's move, perhaps they will do the rest of their stuff too.
Not really. If you have BSD with no patent grants you can at least argue that there's an implicit patent grant. If there's an explicit patent grant which you violated/got terminated that defence is clearly not going to fly.
I was involved with an opensource project which got a patent application submitted by the company. Even though I pointed out prior art. And even though I refused to sign the application as one of the authors. That's corporate environment for you.
If Zuckerberg signs a paper with the wrong title, there's a troll lawsuit the next day. So if you make a habit of "in practice" strongarming people, you can easily slip up and have a huge headache on your hands.
You maybe be right, but why would I want to take my chances?
I detailed the specifics.
Take this example:
In exchange for doing graphic design on your menu, I stipulate that I can shut down your bakery if you take me to court when I eat from the bakery without paying. Now, sure, I haven't granted you the right to come eat my wares, but I'm going to have to shutdown my shop to keep it from happening.
In this case as long as you change the menu you can go back and enforce it, but with software, it isn't as feasible (say you had a game built on top of Raknet, which has the same PATENTS rider).
Ceding your license to use any patents Facebook may or may not have on React. There's a difference.
You may still have other kinds of patents, which are very much enforceable.
I'll send you US$50 if you can find ANY evidence this is true in the US, UK, Aus, or Canada. :)
PA:facebook* AND FP:(Hierarchical user interface) AND CTR:US
Now where does it say that? The way I read it, so long as you don't sue Facebook, you have a patent grant. If you believe people when they say that their patent portfolios are purely defensive, there is no problem.
On the other hand, being the aggressor in a patent lawsuit loses you the patent grant. This seems sane enough to me.
The normal state of affairs is completely ambiguous about patents. You get no explicit grant, so if they feel like suing, there's nothing to stop them. Some people claim an implicit grant, but there's no conclusive ruling on it.
I don't particularly care for software patents, but I don't see anything more stupid than the usual lawyerly CYA layered on an attempt to disambiguate the patent situation.
The clause also doesn't explicitly cover software patents only, so if Facebook infringes on your hardware patents (which is plausible, since Facebook does hardware related work as well), you still can't sue them.
It might as well say "we agree to not destroy your business using dirty tricks if you don't attempt the same".
Of course, opinions on that are divided...
This is an oversimplification. There are plenty of mum and dad inventors who would get destroyed by large companies but for relying on patent protection for their life's work.
Why should Facebook support companies that are suing them?
If they were offering something unique or especially distinctive, then maybe it would be worth risking, but as there are half a dozen or so alternatives, why bother putting myself into that particular pickle?
This doesn't prevent you from suing. It just prevents you from suing over patents.
I can understand why Facebook would want to have a clause like this (to discourage lawsuits against them), but I would consider it against the spirit of open source to do so (ie. Facebook should be able to continue to do this, but I wouldn't consider React to be open source software in that case).
I guess the GPLv3 has provisions for patents, but older licenses didn't. I remember some controversy around open source video codecs that you were not able to use safely because they were infringing patents.
GPLv2 didn't have a patent grant because it wasn't a very well-known issue in 1991. Apache 2.0 was the first free software license to have a patent grant (which unfortunately made it GPLv2 incompatible) but GPLv3 included a similar (though stronger) patent grant because of Apache 2.0.
While these may sound like theoretical problems, people have been sued over using GIF, MP3, etc before. Every time you install Firefox, it will download a free software binary from a Cisco server that does h264 decoding. However, they cannot legally recompile the binaries themselves as it means that the patent grant no longer applies and Mozilla (or your distribution) could be sued -- even though the binary's source is BSD-licensed.
Where does it say what? Which part of my post are you taking issue with, because I would love to correct anything.
What it certainly doesn't say is that Facebook's patent portfolio is non-aggressive. And when, outside of this, has Facebook said that about their entire portfolio (I'm not saying they haven't, I just haven't seen that before)?
My professional opinion is that if you use React and are concerned about this, talk to your attorney.
Has any of this React patent usage agreement been tested yet?
The answer to that one is, unfortunately, yes.
Maybe someone out there has access to legal cases and could help?
W̶o̶u̶l̶d̶ ̶y̶o̶u̶ ̶p̶l̶e̶a̶s̶e̶ ̶q̶u̶o̶t̶e̶ ̶t̶h̶e̶ ̶e̶x̶a̶c̶t̶ ̶t̶e̶x̶t̶ ̶t̶h̶a̶t̶ ̶g̶i̶v̶e̶s̶ ̶F̶a̶c̶e̶b̶o̶o̶k̶ ̶a̶n̶y̶ ̶r̶i̶g̶h̶t̶s̶ ̶t̶o̶ ̶u̶s̶e̶r̶'̶s̶ ̶p̶a̶t̶e̶n̶t̶s̶.̶ ̶A̶s̶ ̶f̶a̶r̶ ̶a̶s̶ ̶I̶ ̶c̶a̶n̶ ̶s̶e̶e̶ ̶o̶n̶l̶y̶ ̶F̶a̶c̶e̶b̶o̶o̶k̶ ̶i̶s̶ ̶a̶c̶t̶u̶a̶l̶l̶y̶ ̶g̶r̶a̶n̶t̶i̶n̶g̶ ̶p̶a̶t̶e̶n̶t̶ ̶r̶i̶g̶h̶t̶s̶.̶ ̶Y̶o̶u̶ ̶l̶o̶s̶e̶ ̶t̶h̶e̶ ̶p̶a̶t̶e̶n̶t̶ ̶r̶i̶g̶h̶t̶s̶ ̶i̶f̶ ̶y̶o̶u̶ ̶s̶u̶e̶ ̶F̶a̶c̶e̶b̶o̶o̶k̶ ̶f̶o̶r̶ ̶a̶n̶y̶ ̶p̶a̶t̶e̶n̶t̶s̶ ̶t̶h̶a̶t̶ ̶i̶n̶v̶o̶l̶v̶e̶ ̶R̶e̶a̶c̶t̶ ̶o̶r̶ ̶y̶o̶u̶ ̶s̶u̶e̶ ̶a̶n̶y̶o̶n̶e̶ ̶u̶s̶i̶n̶g̶ ̶R̶e̶a̶c̶t̶.̶
edit: nvm, I misread line 16-17. Naturally line 21-26 is mostly useless.
> The license granted hereunder will terminate, automatically and without notice, if you (or any of your subsidiaries, corporate affiliates or agents) initiate directly or indirectly, or take a direct financial interest in, any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates
If you have to agree not to enforce any of your patents, that's pretty much equivalent to giving Facebook the rights to use them.
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.
Am I wrong? I am not trying to be argumentative – I just want to be sure I am understanding this correctly.
It's funny you mention Apple, because the Apple Public Source License has a very similar provision.
> 12.1 Termination. This License and the rights granted hereunder will terminate:
>(c) automatically without notice from Apple if You, at any time during the term of this License, commence an action for patent infringement against Apple; provided that Apple did not first commence an action for patent infringement against You in that instance.
The good news is that the Apple Public Source License is basically dead and not used for anything of importance.
Please explain to me - are they able to change it again at any time in the future to "unclear" it again or just change wording altogether? Will it affect all users retroactively in that case? Because all this "they had bad wording in license but they changed it so we can use it now" sounds kinda crazy.
The University of California did something like this in 1999 when they cancelled the advertising clause of the original BSD license. See ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change.
I see nothing that limits the termination clause to patents involving React. The only limitation following those general lines is the one you quoted, which is a limitation on the exception, implying that the license does terminate if the patent over which Facebook sued you is a React patent.
Is this widespread at all or is it just Facebook..?
Edit: I'm glad to be downvoted for asking a genuine fucking question if anyone else does this since Apache mentions Facebook and the only place I ran into PATENTS file is another Facebook property and googling brings nothing up except more React..
There's a larger problem here, and I feel it comes down to our collective attitudes.
In the case of Fuschia, I don't see any more restriction of end-user rights than Apache 2.0 would give you. The only real difference is this line:
> This grant does not include claims that would be
infringed only as a consequence of further modification of this
That makes it clear if you make a modification to Fuschia, that infringes on a patent that Google holds, that you don't automatically get rights to that patent too. Apache 2.0 doesn't mention that, but it appears implicit to me as Apache 2.0 only gives you patent rights to whatever is in the source.
So did Amazon apparently and others. At least Google have open sourced many interesting and useful projects so they have given back. Microsoft have been open sourcing things lately too. Others so so.
I'm having a hard time coming up with any examples; the lawsuits that come to mind are patent trolls, where the "little" company is a non-practicing entity so they can't be counter-sued for violating the giant's portfolio of patents. But, you sound pretty certain, so I want to figure out where I'm wrong.
You've made it sound like it happens all the time. I've been in the tech industry for two decades, and I can't think of any (though I'm sure they must exist). I assumed you had some cases in mind when you made the comment earlier, and I wondered what it was. I'm not demanding you go search for such a case. But, absent some sort of example, I'm gonna continue to assume it (almost) never happens.
Take that threat away, and small companies lose value and large companies copy without regret.
Instead of trying to make a perfect spam filter we should abandon outdated inreliable mail transfer protocol.
(I'm the executive director of CNCF and wrote the blog post. )
- As stated in the standard BSD 3 clause, you're more or less licensed to do whatever you want with the software.
- The above doesn't give you a patent grant (at least not an explicit one), so Facebook also grants you a license to use any patents they have associated with the software.
- The ONLY possible way you can lose the above patent grant is if YOU sue Facebook for patent infringement.
Even if we assume, for the sake of argument, that everyone working at Facebook is a child of Satan, the only thing your company has to do to not lose the patent grant is NOT SUE Facebook for patent infringement. Seems pretty simple, no?
If your company is one that plans to, as part of its business plan, make money by suing companies like Facebook for patent infringement (which I have nothing against by the way), probably don't use react . Everyone else, what is there to lose?
Is the BSD-3 + PATENTS as nice as the Apache 2? No. Is it anything to get hysterical over? I can't see why.
I speculate that this grant was probably written in this way to ward off NPEs, but I doubt any of those NPEs actually would use React and so in reality it causes issues for pretty much anyone else that cares.
Calling what it is has become unpopular amongst the hipsters.
What are you referring to?
Of course, that issue was rapidly closed with essentially a "we don't think there is anything to worry about here" -- ignoring that even if Automattic may not have patents to defend, any of their customers who has patents could face an issue using Calypso.
All this is made more confusing by the fact that Facebook changed the React license over time from Apache to BSD+WORSE_PATENTS and then to BSD+LESS_BAD_PATENTS. And it looks like Automattic may have started using React when it was Apache licensed. So they got the rug pulled out from under them by trusting Facebook. I can wonder if their code might be considered to have grandfathered Apache patent licensing rights?
The Fuchsia license by Google (at least the one file I looked at) does not seem to me to be that different from other FOSS Patent licenses in that it is not as broad as Facebook's and just covers patent claims about Fuchsia itself. So I would not put it in the same category as React's much broader PATENT retaliation clause which applies for any disagreement over any patents with Facebook whether they are related to React or not. So it is more like if you sue about Fuchsia patents you can't use Fuchsia.
What if you got acquired. What if something unexpected happens. What if you got pulled into some suit against Facebook. There are a ton of things that could potentially happen.
https://blog.xkcd.com/2010/05/03/color-survey-results/ (at the end of post)
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).
 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…
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.
Always check the licence. Public domain, MIT, simple, plain BSD, GPL (any version), apache - if it's anything else, be extremely cautious.
There are jurisdictions that don't recognize PD grants. I can't think of a good reason to use CC0 over MIT or BSD.
> GPL (any version)
This might be doctrinaire but I won't use the (L)GPLv3 because of the AGPL linking clause:
> Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
There's also the Zero-clause BSD License https://spdx.org/licenses/0BSD.html which is the same kind of thing except it does not even mention the words "public domain".
Then again, GPL v3 is on many people's danger list
I would have too. I'm getting into Clojure(Script) where React(Native) seems to be a popular choice for UI. I haven't touched it yet. I hope there's a good alternative when I get around to it because I really like Clojure but I never wanted to rely on anything made by Facebook.
+ (not saying React is objectively better than alternatives, only that if you believe it's better then the statement is true for you)
You are licensed to use React even if you never agreed to whatever is in the PATENTS file. The reading where to use a source code is meant only to compile it, maybe admire the compiled artifact but never to put it anywhere near an executable environment seems pretty far-fetched to me.
But you're not wrong, preact is a great alternative to react and it comes with a permissive license.
Actually, React is banned at a number of them, and i've personally discussed the issue with a number of fairly concerned counsel.
So for better or for worse, i don't believe this is as simple as you make it out to be.
* Apple (their entire dev docs site is built in it, and they've hosted Bay Area React user meet-ups)
* Twitter (for their mobile web)
* Microsoft (parts of Visual Studio use it)
* Netflix (all over their frontend stack)
...as well as Dropbox, AirBnb, Venmo...
So whilst I don't doubt you've discussed it with concerned counsel, there are huge corporations deploying React today, many of whom have extensive experience dealing with patent and IP issues (Apple, Microsoft, etc).
Disclaimer: I work for IBM.
Source: Friends at IBM
However, many teams went through the process in order to use it because of how valuable they believe React is to their products. Groups like IBM Watson IoT were fortunate enough to get portfolio-level clearances as well during that time.
Thankfully the process changed and many product teams add React to their list of libraries/frameworks to evaluate for their use-cases.
To be concrete, IBM Watson has several products that leverage it that we sell to customers. For example, Watson Company Profiler, Watson Virtual Agent, Watson Discovery-related tools, and more.
Other organizations use it as well inside of IBM, like IBM Cloud and IBM Watson IoT, but I'm less familiar with their products off the top of my head.
I'd like to ask their legals about why they feel OK using React, but I'm too far away. Is anybody here in touch with them?
It wasn't possible, consequently my company asked that we move away from React.
However, one thing that could be interesting to see is:
* do the companies using React are using the latest version or the last version without the patent clauses?
* do they start new projects with React?
Also, it's my opinion that the companies like AirBNB who use it are not considering that it will complicate acquisition by another party. They are basically taking themselves out of contention for purchase by a company that is in direct competition with FB. Maybe, evidently, they don't care but I just hope everyone using it is thinking about such things.
I pointed out a number of these are concerned. There is in fact, reason for concern.
That doesn't mean people won't use it, it just means they may be willing to take the risk.
In fact, some of the counsel who are in fact, concerned, are on your list of big users!
If i have 100 billion dollars in the bank, i may be willing to take more risk around a random open source project than a small startup.
You don't seem to argue the original point at all (ie whether there is cause for concern), just point out "there are lots of people who use it who have extensive experience dealing with IP". I'm not sure how this means there should be no concern.
For example, i know at least a few of those corporations treat React very specially compared to most other open source (in how they use it, in how they try to segregate it, etc).
you mean vs code, which is a separate product from "visual studio"
Do you really see no difference between the two?
Also see this HN thread from a year ago: https://news.ycombinator.com/item?id=12108273
Consider: The risk for React is based on 1) speculation that Facebook has patents on core React concepts and 2) the fact that patent grant that comes with React terminates in some situations if you end up in conflict with Facebook. So for safety, it might be better to make sure you use code that Facebook has no patents on, which (if (1) above is true) means "code that is nothing like react at all".
A React clone that doesn't have the patent grant at all is vulnerable to all the same issues React itself is, plus more. It's strictly more dangerous than using React itself.
(Unless, of course, we assume there's some bit of React that's subject to a Facebook-owned patent that would not also apply to Preact. But having spent a few minutes thinking about it, nothing leaps out at me.)
React is a functional component library that uses the virtual DOM. It's well executed, but it's a simple concept.
The more you think about the ramifications, the more I come to the conclusion that software patents are an existential threat.
The EU does not recognise software patents.
Software interfaces cannot be patented - this has been upheld in every court, most recently in Google V Oracle.
That would be a strong defence to a copyright claim. We're talking about patents, where there is no concept of "derivative works", and what matters isn't implementations but broad concepts.
> Software interfaces cannot be patented
Right, but what makes Preact concerning isn't that it offers the same API, but that it is built using the same underlying concepts.
Preact renders independent, encapsulated, nested, functional-ish components, usually but not always written in JSX, into a virtual DOM. Components are rerendered to the virtual DOM when their inputs change, and then diffing is used to efficiently sync the virtual DOM with the browser DOM.
If Facebook has some sort of patent covering the virtual DOM (although thankfully as far as I know, they don't), it's hard to see how it would not also cover Preact. And this is true even if, as I assume is the case, Preact shares 0 lines of code with React.
Edit: To be clear, I don't believe the patent situation is concerning, I think Preact is a great project, and I may well be using it in production soon. But if I was worried about Facebook's patent portfolio, I would be worried about using Preact.
Often the large companies that are using React have patent cross-licensing agreements with Facebook (or other special arrangements) that make the issue moot for them.
Otherwise, getting your in-house council (or even your board, depending on the situation/risk) to approve of using React with the very broad patent restrictions can be an uphill battle indeed.
No, seriously, that is what the contract said.
In reality, the bulk of developers used whatever they wanted with no consideration. I assume other contractors were under similar legal terms, but not sure about employees. I was seen as a pain when I kept asking for formal permission for stuff.
Back in the day, this was the norm.
>In reality, the bulk of developers used whatever they wanted with no consideration.
This wasn't - it was grounds for termination.
I remember stuff like - (for Windows C++) you can use Microsoft MFC and Microsoft STL - anything else you write from scratch.
Legal wasn't very flexible back then.
The happy medium that I've found is to provide a list of acceptable licenses and let lead engineers audit that software to be included obey them.
React isn't as popular in the real world as it is on HN.
If y'all think you're going to find some edge case that these companies lawyers haven't already...
...that's obviously not complete, either. If you think of a large tech company the odds are they are using react somewhere for something, be it public facing or internal tooling. Many of the companies that aren't actively using React do so because they have their own JS stacks to dogfood (like Google and Angular).
Hopefully they've all done their due diligence..
A lot of these groups still see front-end tech as just HTML and CSS..
If you don't have any patents, you're not really risking anything using React.
Bank of America was ranked 124th for its number of U.S. patents granted in 2016.
Many don't, and don't.
BTW one can use [preact] which is an almost drop-in replacement, but smaller, and is under MIT license.
FWIW there are hundreds of companies (some very very large) using Preact in production. If there were showstopper bugs, they'd be fixed immediately.
How did you arrive at that conclusion?
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 . 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 . Further, recent court case has shown that these licenses are not simply copyright or patent statements, but can be actual contracts .
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
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  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.
This is the point that most people seem to be missing, and it applies to much more than just React clones. If for Facebook has patents required for Virtual DOM, you are no better off if you use Vue.js or almost any other recent frontend framework. Just because you're using a project without the patents file doesn't mean those patents won't affect you.
Does anyone know what patents you are granted with the React license? Virtual DOM work that I and some colleagues did (and have patents for) pre-dates even the earliest internal Facebook experiments with the virtual DOM. We even spoke with the team at Facebook about our work well before React was even publicly released.
Sure, but that only rules out a reimplementation of React. The question most people face is "React or existing alternative X?". If your chosen alternative is still actively developed, it's probably notably different from React in concept and implementation (why else would it still exist).
Now if Facebook owns any react-related patents, you use all of them by using react, your alternative has a good chance to be sufficiently different to not be infringing.
In terms of your chances of using Facebook patents, any alternative is strictly better than React itself.
And note that that Facebook doesn't reciprocate that, and so if they decide to sue you for any alleged patent infringement then you cannot counter-sue for patent infringement they may be committing if you are using React. Also it makes you far weaker in negotiations about patent portfolios.
I personally dislike this whole patent business, but I can imagine even pro-patent people would also be against this.
From what I can tell the patent grant is only beneficial to users of the software, not facebook. And it exists to address the concerns people might have that, if they use any facebook tech, they might risk getting sued. If you decide to sue, you're as good off as before. But if you don't sue, you can be sure facebook will never sue you either for violation of the patents they granted.
Economically, by losing the license to use React in your product once you serve them with papers. It's an implied gun to the head. Or poison pill, if you prefer.
From an ideological or appearances point of view, it seems a bit clumsy. People see it as a submarine to get access to their patents, rather than an insurance to prevent unnecessary patent litigation costs.
I wonder what other companies do with their patent grants, e.g. Microsoft. I remember MS had one that said, you may use our patent for the Ribbon UI, as long as you follow our UI guidelines and don't make an Office competitor (which I find pretty restrictive). But maybe there are other options out there that people would find more agreeable.
I think a unilateral patent grant for React in the license would be nice, but unrealistic. Maybe they should restrict the kinds of patent actions that trigger the invalidation of the grant, say only to certain patents, but it is hard to find a good compromise.
I don't like software patents on an ideological level, but even from a legal and practical perspective these license terms should be reason for concern. The first thing I read when I look at a free software project is the license, and when I first saw React a few years ago I stopped looking once I read the PATENTS file.
Anything I as a solo or mostly-solo dev would put together to sell would almost certainly be sold to a company less than 0.1% Microsoft's size - even at the 1% level it's just as likely that a company would decide they'd rather just build their own version or get someone to do so as a work for hire.
Edit: I'm also mentally picturing scenarios where Facebook's terms might end up tested in court. A developer team using an open-source framework without understanding the legal ramifications is one thing, and a thing done by people not authorized to negotiate binding contracts for the company. A purchase of a company or significant software (not off-the-shelf) on the other hand is by definition done by someone with authority to negotiate binding contracts. It's not that hard to imagine a scenario where that difference becomes relevant in court. Heck, I wouldn't be surprised if it turned out that Facebook had an intern or two somewhere focused on identifying and tracking projects using React and what companies they're owned by, just in case they end up in a conflict with someone and need to say "Hey, are they using anything of ours that can make this go away?"
This is not a tool for Facebook to be able to use against another multibillion major tech company. This is a tool for Facebook to be able to use against potentially disruptive tech upstarts of the sort that they were 10-15 years ago. Also, don't just think about Facebook's core business - remember that they're getting into all sorts of fields now. Do you think there are any VR related patents held by smallish companies that might be of interest to the owner of Oculus? If those companies are using React, Facebook now gets to negotiate with them from a position of "You've already basically given us permission to use your patented IP in our new headsets."
this one was FAST :)
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.
I found this :
> 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?
(But don't ask me which licenses, I have no idea)
> My reading of that is if you use this code and Facebook infringes a completely unrelated patent that you own, you can't sue them for infringement without giving up this patent license. That is much broader than the language in the ALv2 which is limited to a single work.
So it almost certainly doesn't affect personal projects unless you are the sort of person who files for patents as a hobby, but for a commercial project, the scenario, I think, is that if you own some patent (not even a software patent!) and you sue Facebook for it, you lose your patent rights to React. In effect, you may as well be granting Facebook a patent license to literally all your patents for use in any context, in exchange for using React.
Also, it's not just Facebook: it also covers suing anyone for infringing your patent in their use of any other Facebook product or service, as well as "any party relating to" React -- so quite possibly, depending on how lawyers and judges read the license, you can't enforce your non-software patents against anyone who uses React.
See also http://en.swpat.org/wiki/Implicit_patent_licence
If the concept of an implicit patent license is coherent and legally meaningful (it sounds like it is), then an explicit patent license, like Facebook's, would supersede it - and so losing your rights under the explicit license would leave you worse off than relying on the implicit one.
In any case, this is why people like the Apache license and the GPLv3, so you don't have to think about whether a patent license is implied. Both of those have explicit patent licenses with significantly less draconian termination clauses than Facebook's.
(Obviously I am not a lawyer, otherwise I'd know better than to comment on HN about unclear areas of IP law.)
Without an explicit mention of patents, it's up to the courts to decide whether the grant of usage rights includes an implicit grant of patent right. With an explicit mention, you're hosed.
I'd say that's overstating the case. You aren't granting them a license to your patents and you can still sue them for infringing (which you would not be able to do if you granted them a license).
Rather, you are promising to look the other way for as long as you are using React. Should you choose to sue,
1. You can say in your case that they never had a right to your patents
2. You can take the time to remove your usage of React prior to filing the court case (so that you never infringe).
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!