Apache Foundation disallows use of the Facebook “BSD+Patent” license
issues.apache.org
issues.apache.org
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?
https://www.amazon.com/Kicking-Away-Ladder-Development-Persp...
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.
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.
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?
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...")
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 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.
EDIT: better?
Ceding your license to use any patents Facebook may or may not have on React. There's a difference.
I'll send you US$50 if you can find ANY evidence this is true in the US, UK, Aus, or Canada. :)
https://patentscope.wipo.int/search/en/detail.jsf?docId=US90... https://patentscope.wipo.int/search/en/detail.jsf?docId=US19...
Query:
PA:facebook* AND FP:(Hierarchical user interface) AND CTR:USYou may still have other kinds of patents, which are very much enforceable.
https://www.epo.org/law-practice/legal-texts/html/guidelines...
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).
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.
Why should Facebook support companies that are suing them?
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[5]. 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.
[1]: https://www.gnu.org/philosophy/fighting-software-patents.htm... [2]: https://www.gnu.org/philosophy/danger-of-software-patents.ht... [3]: https://www.fsf.org/licensing/h264-patent-license [4]: https://www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audi... [5]: http://www.openh264.org/index.html
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.
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.
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)?
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̶.̶
https://github.com/facebook/react/blob/master/PATENTS
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.
My professional opinion is that if you use React and are concerned about this, talk to your attorney.
The answer to that one is, unfortunately, yes.
Has any of this React patent usage agreement been tested yet?
Maybe someone out there has access to legal cases and could help?
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.
What are you referring to?
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 implementation.
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.
https://github.com/grpc/grpc/pull/11432
https://github.com/grpc/grpc-java/pull/3047
https://github.com/grpc/grpc-go/pull/1290(I'm the executive director of CNCF and wrote the blog post. )
Calling what it is has become unpopular amongst the hipsters.
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.
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. https://github.com/fuchsia-mirror/magenta/blob/master/PATENT...
- 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.
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).
[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…
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.
But you're not wrong, preact is a great alternative to react and it comes with a permissive license.
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.
https://github.com/facebook/react/wiki/sites-using-react
...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.
http://www.ipo.org/wp-content/uploads/2017/05/2016_Top-300-P...
If y'all think you're going to find some edge case that these companies lawyers haven't already...
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.
[preact]: https://github.com/developit/preact/
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.
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.
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.
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?
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
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).
So yeah.
FWIW there are hundreds of companies (some very very large) using Preact in production. If there were showstopper bugs, they'd be fixed immediately.
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.
How did you arrive at that conclusion?
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.
Always check the licence. Public domain, MIT, simple, plain BSD, GPL (any version), apache - if it's anything else, be extremely cautious.
https://lists.opensource.org/pipermail/license-review/2014-A...
https://lists.opensource.org/pipermail/license-review/2014-S...
Then again, GPL v3 is on many people's danger list
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".
+ (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.
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-...
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.
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.
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.
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.
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 [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?
(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!
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?
The line "A year has passed, but searching patents with 'facebook compression' suggests no patent application regarding ZSTD has been filled" is not very convincing to me for a few reasons, primarily that the word "compression" may not show up at all in the patent document. When I got the text of the patent application back from the lawyers, after describing to them in engineering terms the thing we'd invented, I could hardly understand what it was talking about. Patentese is its own dialect of English, and there's no reason to assume that it'll say in straightforward terms that it's a compression algorithm.
And I'd find it highly unlikely it contains any patents too. Occulus was bought in March 2014 by Facebook and RakNet was bought in April 2014 by Occulus and there is only a handful of commits on GitHub that don't seem substantial at all and are just maintenance and cleaning up the repo. RakNet operated for years before that so it's unlikely they happen to have had a patent in it at the time of its purchase or they'd be nuked by Facebook before.
Then again, there are/were patents for some bit tricks and Carmack's Reverse so anything is possible.
It is also quite possible that facebook collects patents under a different name, e.g. "faceless intellect llc", a wholly owned subsidiary of Facebook. Or they may have bought patents that are essential for ZSTD from someone else who filed them independently.
The conclusion that "zstd remains free of patents" is baseless and made by someone who is not familiar with patent practice.
Holy shit, what?! The US patent system means that you can infringe on patents that you had no way to know even existed at that point in time? How the fuck can someone look at this policy and think that it's in any way reasonable?!
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.
Of course, a random comment from a React dev on github carries no legal weight, and absence of evidence is not evidence of absence. But so far the picture being painted seems consistent with there being no list of patents at all, secret or otherwise.
All licenses to "use" and "distribute" this software are now contingent upon a patent. The copyright license is secondary to an overriding control and use and distribution via patent.
I don't think avoiding React makes you any safer. You don't know how broadly Facebook or the courts will interpret their patents.
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.
Its not talking about terminating the patent grant, its talking about terminating the license to use.
This is totally incorrect, and has been debunked many time. "The license granted herein" is the patent grant, because that language occurs in the patent grant. The BSD license is totally separate.
This has been stated, repeatedly, by representatives of Facebook and independent lawyers; the language is standard and unambiguous. They even answered it in a FAQ here[0]:
Q: Does termination of the additional patent grant in the Facebook BSD+Patents license cause the copyright license to also terminate?
A: No.
Emphasis mine. So it seems to terminate just the patent grant. You can't terminate a BSD license so if you're in like France (no software patents) then you are fine to use React and sue Facebook for patent infringement.
The license to use React is governed by the BSD license, and it's not terminated if you end up suing Facebook over their violation of you VR patents or whatever.
Edit: Downvoted for a factual answer? There's a host of sources confirming by answer as correct, including Facebook's official FAQ on React licensing[0].
Q: "Does termination of the additional patent grant in the Facebook BSD+Patents license cause the copyright license to also terminate?"
A: "No."
That's about as simple as it gets.
I mean, if you can use the software without the patent license, what is the patent license giving you?
Facebook may or may not have some patents covering concepts or algorithms used in React. If they do (nobody is aware of any), then they could sue you for using React, or any other framework which uses the same underlying concepts (eg, Preact, maybe Vue, possibly Angular 2.x, etc., depending on what the patents cover). If they did sue you, a valid patent grant (which you obtain by using React) would be a very strong defence, and would be quite useful.
The value is real...but quite narrow in scope. :)
> I think the patent grant applies to everything you make
Yes, if you have a patent grant from using React, it would be a defence from claims that things you have written that do not use React violate patents included in the grant.
> For avoidance of doubt, no license is granted under Facebook's rights in any patent claims that are infringed by (i) modifications to the Software made by you or any third party or (ii) the Software in combination with any software or other technology.
Your license to use React is therefor not governed by the BSD license. It governed explicitly by the Facebook Patents+BSD license.
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.
The part you said is important sounds like you lose the right to use the patent in the given software if you attempt to sue someone over patents in that software which sounds absolutely sane.
In facebook's case they terminate the patent grant given to you for you trying to sue them for any patent, except a counterclaim if they sue first: https://github.com/facebook/react/commit/b8ba8c83f318b84e429...
And even that is just few years ago, RakNet that Facebook owns via Occulus is still using the old wording: https://github.com/facebookarchive/RakNet/blob/master/PATENT...
So basically the difference boils down to the CAPS part below:
Apache 2.0: we grant you use of these patents, sue anyone over one of the patents we gave you and we take that grant away.
Facebook's BSD: we grant you use of these patents, sue anyone over one of the patents we gave you OR SUE US OVER ANY PATENT AT ALL and we take that grant away.
Another difference is what is covered. Apache is about suing, Facebook's BSD says you can't even 'take a direct financial interest in' any of the stuff they don't want you doing.
I do fully support this bit though, which is specifically to avoid that whole thing where Microsoft was bankrolling patent trolls.
If you happen to be a ML/VR/cars company and think "oh, we use React on one tiny website that'd be cheap to rewrite and Facebook uses without paying our 42314 super expensive patents for ML and self driving cars and VR.. should we sue them?" you already are using React patents illegally because you took financial interest in patent assertion.
With that wording taking out the "you (or any of your subsidiaries, corporate affiliates or agents)" part would still cover cases like bankrolling patent trolls that sue.
And 'patent assertion' means: >A "Patent Assertion" is any lawsuit or other action alleging direct, indirect, or contributory infringement or inducement to infringe any patent, including a cross-claim or counterclaim.
So basically, thanks to that language, being that kind of a company I mentioned above, you could write a blog post saying "WTF, we use React and Facebook uses our expensive shit for free!?!" or even a legal letter to them to stop using patents without getting a grant from you and lose your patent grant already because you are 'alleging' or 'taking financial interest' in 'alleging' or 'lawsuit'.
And other users of software are only protected from you suing them over React patents like in Apache license, Facebook is protected in a special separate way from any patent lawsuit, allegation or even financial consideration of a lawsuit or allegation.
This is very one sided and the reason why I immediately remembered RakNet PATENTS file I've seen back in 2014 when I got hyped over RakNet being open source is because it stuck in my mind how stupid and one sided that patent grant was.
So hypothetically if Google released some JS frontend library under Apache 2.0, I don't lose the patent grant if I sue them for violating my company's VR patents, whereas I do lose my patent grant to React if I sue Facebook for violating my VR patents.
My company happily uses React, because we don't believe that's a risk worth worrying about, but it is a difference, and it might be relevant to some.
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.
I agree you can add the Apache 2.0 license on top of that, but you cannot discard the BSD license unless you own the code.
Copyright (c) 2011 The LevelDB Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
View
The first list item disproves your statement. 2. Grant of Copyright License. Subject to the terms and conditions of this
Agreement, You hereby grant to Facebook and to recipients of software
distributed by Facebook a perpetual, worldwide, non-exclusive, no-charge,
royalty-free, irrevocable copyright license to reproduce, prepare derivative
works of, publicly display, publicly perform, sublicense, and distribute Your
Contributions and such derivative works. Based on the grant of rights in Sections 2.1 and 2.2, if We
include Your Contribution in a Material, We may license the
Contribution under any license, including copyleft,
permissive, commercial, or proprietary licenses. As a
condition on the exercise of this right, We agree to also
license the Contribution under the terms of the license or
licenses which We are using for the Material on the
Submission Date.I hate to say it because it makes changing the license significantly more problematic than it seemingly was an hour or two ago. By changing the license, Facebook assumed rights to contributions that it does not have. Even if the licenses are _compatible_, releasing contributions under a different license is not allowed without permission from the contributors.
This is a change from a permissive open source license to another permissive open source license, but what if my GPL contributions to a project were released under BSD? Or what if they were released under a proprietary commercial license? In either case, I might not have contributed, and I should have the right to rescind my contribution to prevent it from being included under a new license.
It's an interesting quagmire, and one that FB's choice of license was destined to lead into at some point. I think it was a bad decision from the get-go.
This is not the first major licensing snafu. A lot of projects ran into similar issues trying to adopt GPLv3 when it first came about. And I have seen a few other projects deal with community uprisings as other license changes came about.
Personally, I think FB should adopt the combined apache/GPL license, adopt CLA language like you've stated, and provide notice that developers can rescind contributions if they don't agree. Perhaps do a tri-license of Apache/GPL/BSD if there's significant kickback. Their current license is a problem and too much of a continuing distraction. JMO.
If you read the CLA, the contributors agree to allow Facebook to sublicense their contributions. Which is what Facebook is doing.
FYI, the dual-licensed it under APv2/GPL.
> 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
https://github.com/facebook/react/blob/master/PATENTS
The actual license text is what matters, not what some intern wrote on a page.
And then
>against that party
IANAL, but does that mean that if Facebook proper transfers a patent to a new subsidiary (wholly owned patent troll) they can sue you, and the only patent counterclaim you can make without terminating your ready license is against the troll subsidiary, not Facebook proper?
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.
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.
We know this statement to be a lie. A deliberate falsehood. There are extra conditions by which you may use or distribute this software.
It was never open source.
Many corporate lawyers operate on the assumption that all open source licenses that do not mention patents (BSD, MIT etc) implicitly grant a patent license. Clarifying this ambiguity is seen by them as harmful — that’s why approval of CC0 at OSI was abandoned[1], for example. Including an explicit patent grant removes the possibility this could be argued in court and is seen as an escalation of the patent conflict by Facebook.
Given many voices at Apache are being quietly guided by corporate counsel, this seems the most likely underlying explanation for the antipathy that's been rationalised out into the open.
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?
If you sue Facebook for infringing on your patents, then you lose the rights to any patents which Facebook may or may not have on parts of React.
Nobody has, to my knowledge, found one of these patents to date.
So my guess, is Apache and GPLv2 together makes sense if author wants to give the user the maximum choice in combining the library with other software. That because depending which lawyers you ask Apache and GPL are not always compatible.
So say your code is Apache and you want to use RocksDB, you can pick to use the Apache license for it. Your code is GPL, then you can pick GPL.
> Hi all, wanted to jump in here to let everyone know that the RocksDB team is adjusting the licensing such that it will be dual-licensed under the Apache 2 and GPL 2 (for MySQL compatibility) licenses.
The reason Facebook doesn't, I assume—and this is just my personal opinion—is because Facebook wants to do evil shit in the future that the Apache 2 wouldn't allow them to do. Otherwise, I just don't see any value for Facebook in all the negative publicity they've gotten over this idiotic patent grant crap they're trying to pull.
But MS and Google are big fish relative to Facebook, private deal or not.
> 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.
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.
I wonder if such a clause is actually enforceable. Are there any actual cases where this clause was invoked?
:-)
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.
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?
WUT?
You usually can get patents for "software-related inventions" but there's no huge "software patents" problem in most other places like there is in the US.
So many of these questions would be easier to answer if anyone knew the patents FB actually has obtained on this technology.
LEGAL-303 (the issue linked here) was opened to ensure that we were legally clear to do that. The answer of "no" basically means that a project such as Cassandra:
- Can create a pluggable storage engine that enables RocksDB
- Can not have the RocksDB implementation of that plugin in an Apache repo
There were about half a dozen other ASF projects (Kafka, Samza, etc) that had some reference to RocksDB in their source, that likely would have been impacted.
There are about 50 ASF projects that seem to have some reference to React in their source, which (as this HN comment section clearly noticed) is much more heavily used, and seems to scare more people.
The RocksDB team has already re-licensed the project to make it compatible.
Whether or not that happens with React will determine the apache projects' reactions - a product like CouchDB, which uses react for its database user interface, may have to strip it out (or use a drop-in alternative) before their next release, which is probably a LOT of work for someone.
I'm sticking with Vue, even if (and that's a big if) it might also infringe facebook patents.
[1] https://github.com/caffe2/caffe2/blob/master/PATENTS
[2] https://github.com/torch/torch7/blob/master/COPYRIGHT.txt
[3] https://github.com/pytorch/pytorch/blob/master/LICENSE
[4] https://github.com/tensorflow/tensorflow/blob/master/LICENSE