>Unless a company decides to sue Facebook (or accuse its products), the termination trigger has no actual effect.<p>What if Facebook actually breaches your patents? What if they sue you? You can't counter-claim if your tech is based on React, because you'd lose the grants.
I'd like to extend my thanks Apache Foundation. By questioning and scrutinizing the patents / license clause they cleared up a bit what Facebook's intent was there. A lot of people have been claiming it is just corporate boilerplate, get over it, etc, etc.
At least in the case React that's not the case. There is a strategy there and one where FB hopes to inoculate itself against being sued for patent violations.<p>It is also interesting that for some libraries like RocksDB and zstd they didn't mind changing the license too much. So some projects are more strategic then others it seems.<p>Now I am not blaming them or saying they should change the license, it's their code, they can do whatever they want with it. It is just that the idea of it just being boilerplate legalese can be safely ignored from now on.
> I do represent Facebook on open source matters, but I did not draft the BSD+patents license grant.<p>On what planet is this not a conflict of interest? Why isn't this at the top of the article?<p>Are there any people out there who don't work for Facebook or use React code who are willing to defend the patent license? I don't think so.
As pointed out before, Facebook's license only terminates with respect to patents (not copyright) if you sue them for patent infringement. So ... given that, the important question is what are the actual patents that cover React?<p>Here's why it matters. In my mind, there are basically three scenarios:<p>(1) There are no patents. This seems the most likely scenario. Patents are public. As far as I can tell, no one's pointed to an actual React patent yet. If this is the case, then the patent grant is irrelevant. Facebook can't revoke a license for a non-existent patent.<p>(2) There is a patent (or will be) -- but it covers some relatively new, hyper-specific feature of React. Generally speaking, patent examiners force patent prosecutors to narrow the claimed patent to avoid prior art. So in React's case, you might end up infringing the patent by using React but only if your copy of React comes with JSX, per-component state, context, and the new fibers stuff. So in order to get around the patent, you could fork React and remove per-component state or maybe you pin React to a version prior to the introduction of fibers and use that. This would super annoying for a large code base, but if Facebook actually was infringing your patent (and you thought it was a big enough deal to bring in expensive lawyers), forking React is a (relatively) small price to pay. Remember that Facebook's copyright license isn't subject to patent revocation, so forking to work around a patent is totally allowed.<p>(3) There is a patent, and it's huge. So huge, that you can't really fork React to work around it without completely destroying what makes React work. But here's the kicker. If such a patent existed -- for the sake of argument here, let's say the patent is for components or shadow DOM -- then it probably also covers Vue.js, Angular, or whatever other framework you might want to use. That's terrible! But it suggests that the real problem isn't Facebook's PATENTS license, but the underlying patent itself (which OSS advocates should be trying to kill). At any rate, this seems unlikely -- there's lots of prior art for React out there.
> If you want to fling patent claims at a company that developed and released a great piece of code, removing the code from your business seems like a reasonable price to pay.<p>That seems to be the main point: Do you agree that you shouldn't be able to sue a company whose open source code you use or do you not? Everything else is just .. noise?
The opening lines of the BSD license:
> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<p>So do I have the permission of "redistribution and use" in the BSD license or don't I?<p>If yes, the patent license was unnecessary, as I've got a license to copy and <i>use</i> the software from the BSD license.<p>If no, then it isn't the BSD license anymore.<p>I believe facebook's lawyers intended the latter, the no answer.<p>So no one can redistribute React under BSD, as they cannot proof the permissions of the BSD license. Therefor React is not BSD licensed.
Its not just React - its React Native and Caffe2.ai as well. And these are more dangerous.<p>Arguably, Reactjs can be replaced by something else. But a mobile app in the wild cannot be replaced easily or quickly. And more so if you are using something like caffe2go (deep learning on the smartphone).<p>Or the data and training sets that you build around caffe2.
> Defensive termination provisions of the scope in the Facebook grant are very common in patent licensing, OUTSIDE of the OPEN SOURCE LANDSCAPE.<p>(Emphasis mine) yes this is why people are up in arms. This isn't common in the open source ecosystem.
Given the number of people advocating on HN that software shouldn't be patentable, I'm surprised at how many people now consider it vitally important to be able to use software patents against Facebook. If you do not believe in using software patents, this patent clause should not affect you in any negative way.
Note: this is not legal advice. If this possibility concerns you, consult a real lawyer.<p>Nice apples-to-oragnes comparison of the WebM PATENTS to the React PATENTS. The only things they have in common is the scope of the grant. The revocation clauses range from fair and sane in the WebM case to extremely overreaching and unpredictable in the React case.<p>The WebM PATENTS causes revocation for litigation against Google for patents covered under the grant.<p>The React PATENTS causes revocation for litigation against Facebook for ANY patent, regardless of whether the patent was covered by the grant or not.<p>The WebM PATENTS causes revocation if "you or your agent or exclusive licensee institute" sue Google. That's pretty much limited to you / your company / a subsidiary of your company using the code.<p>The React PATENTS causes revocation 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" - this is where the React PATENTS clause shows it's teeth. "Corporate Affiliate" has a wide definition. For example, a shareholder is a "Corporate Affiliate". So if you own Company A as your startup and use React and also own shares in Big Company B as an investment, then if Big Company B sues Facebook, guess what, Company A loses the patent grant. Or more likely, loses the license and is then hit up for license fees or is then sued if they continue using React.
Heather Meeker is one of top lawyers in Open Source...most of the other people in this conversation don't have a background in this and should be ignored
There is certainly some confusion about this issue and some concerns about Facebook's intent. The gist of the article comes down to "don't worry, nothing has changed." While that is very nice, it can paraphrased as "Don't worry Facebook has always had a gun pointed at your head." Also, it is not until the end of the article that the author tells us she represents Facebook.<p>It would be very helpful to get some clarity about a scenario where many people have concerns: (text copied from another comment)<p>"What if Facebook actually breaches your patents? What if they sue you? You can't counter-claim if your tech is based on React, because you'd lose the grants."<p>Facebook could make a definitive statement about this. Or, representing Facebook the author could spell out exactly why this cannot happen. Yes?
> [...] provides more protection for the contributor (Facebook) against software patent claims of licensees. It’s odd that a community so opposed to software patents would find this objectionable [...]<p>While confusion about the license might be behind some or most of the community reaction, the fact that the license refers to litigation over any patent, not just software patents, neutralizes this punchline. Correct me if I'm wrong, but this clause positions Facebook to fight any patent infringement suit with a software patent infringement suit, which is not in the spirit of the opposition to software patents at all.
The arguments made in this article are misleading in my opinion.<p>The article claims that the Facebook patent grant is no big deal because:<p><pre><code> (1) Yes, it has defensive termination, but defensive termination is standard.
(2) Even Apache's own Apache 2.0 License has defensive termination.
(3) And while Facebook's defensive termination language is on the broad side, it is similar to IBM's CPL 1.0 (an OSI approved license).
</code></pre>
The first two points are completely true, but the third is misleading at best.<p>First, IBM's CPL patent grant triggers termination if you sue a <i>project contributor</i> for software patent infringement. Facebook's patent grant terminates if you sue <i>ANYONE</i> if <i>ANY PART</i> of your patent claim relates to <i>ANY</i> product or service of Facebook or <i>ANY</i> of it's corporate affiliates. That's about as broad as you could possibly get.<p>Does that mean that suing a Facebook shareholder like Microsoft for patent infringement totally unrelated to Facebook could invalidate your React patent grant? Who knows? I bet your lawyer hates you for asking.<p>Second, the article claims that the "CPL is already approved by the Open Source Initiative as compliant." Using the CPL 1.0 as a point of comparison of what is a normal OSI-approved license is completely silly.<p>If you check the OSI site, the CPL is technically classified a "Superseded license" which means it's not intended for further use. It was formally replaced by the Eclipse Public License (EPL) <i>about a decade ago</i>. Most notably, the newer Eclipse license has a <i>much less strict patent termination clause</i>.<p>So why did Eclipse go through all the work to re-write their license and replace CPL? This is important - I'll cut and paste directly from the Eclipse Public License FAQ [1]:<p><pre><code> "Why was the EPL written?
[..snip..] it addresses concerns some Eclipse Foundation members had with how the CPL deals with possible patent litigation."
</code></pre>
In other words, the CPL 1.0 had the exact same patent grant criticism lodged against it - <i>so Eclipse ditched it and re-wrote the license and deprecated the earlier license</i>.<p>So saying that "Facebook's license is normal" because it's a more broad version of a license that OSI suggests you no longer use is pretty misleading in my opinion.<p>[1]: <a href="https://eclipse.org/legal/eplfaq.php#WHYEPL" rel="nofollow">https://eclipse.org/legal/eplfaq.php#WHYEPL</a>
It amazes me the number of people saying that nobody should be worried, that this license is nothing and even that libraries that do not use this license are riskier.<p>They added this license for a reason and they will use this leverage as much as they can and if you don't see that you are in denial.<p>If you cant move away from it, then stick with it. If you can move away or are still building your product just pick another framework and move on.
I call bullshit<p>> Unless a company decides to sue Facebook (or accuse its products), the termination trigger has no actual effect.<p>Please everyone, don't rely on this advice.
> for [some licenses], bringing a patent lawsuit can result in termination of the copyright license as well — forcing one to stop using the code<p>No. Copyright law is concerned with distributing copies and preparing derivative works. Copyright law does not give a creator the tools to forbid anyone from using their copy—that too is within the realm of patents. The way that copyright law can <i>effectively</i> regulate use is indirect; it prevents someone from receiving a non-infringing copy to do anything with. If you are found to violate a license (say because it's a reciprocal license and you didn't provide source code for your own changes), then even a revocation of that license can't revoke your ability to continue using the software, because that is not something regulated by US copyright law. The copy you received was prepared and distributed to you legally. Filing a patent suit, or otherwise running afoul of the license doesn't change that.<p>There's a really pernicious cargo-culty thing going on where people keep describing a bifurcated situation, where the BSD is your "copyright license" and "PATENTS.txt" is your "patent license".<p>BSD is a license. It deals with rights reserved for copyright holders—the right to make copies and prepare derivative works. It also deals with (one of the) rights regulated by patent law—the right to use. It grants you both. PATENTS.txt is an additional grant.