We've migrated several projects to Preact with no issues at all. The projects depend on numerous React-based modules, including an extensive collection of components, some with state management, routing, data fetching, etc. They work seamlessly, built on either React or Preact.
It only takes a small change in the build config, using babel-plugin-module-resolver to alias react and react-dom, to preact-compat.
I switched a small project to Preact. It was fairly straightforward. Most code was compatible. And the code which was not compatible was easily modified.
Preact, React alternative that almost certainly implements many of React's patents, but without a license to do so. Doesn't sound like a great alternative to me.
That’s part of the strangeness of this whole debate: nobody knows. The list of Facebook’s patents is public, but I’m not aware of anyone publicly going and doing the research to see which of them, if any, are likely to apply to React. (Possibly because of the whole treble damages thing - along with the fact that Facebook has thousands of patents to look through.) Facebook’s lawyers may or may not have done that research, but it’s in their best interest to keep things as vague as possible (at least up to the point where they actually threaten to sue someone), to avoid workarounds.
Facebook can sue anyone for patent infringement whether or not they use React. Many people seem to believe that they can't ever be sued by Facebook for any reason as long as they don't use React although that is not the case.
The list of contributors to React, and Facebook patent holders are both public. If someone cared to they could cross reference both and narrow down the search area.
As far as I know, there are not "React" patents. Facebook has many patents, but I haven't seen anyone point to any patent which specifically involves React. The author of https://medium.com/@dwalsh.sdlr/react-facebook-and-the-revok... did a cursory search and concluded:
"To determine patent liability asserted by Facebook, we need to assess Facebook’s various patents and their claims. Or more specifically, which Facebook patents claim any underlying React technology? As the above illustrates, this is not a trivial question. But in my cursory search, that answer is zero. (Again, if you have examples, send them over.) Moreover, it would suprise me given the USPTO and courts general disfavor of software patents if Facebook had anything patentable in React, much less actually patented. The prior art of componetization, diffing, and virtual doms circa 2013 is very well known, and I don’t see any applicable continuation patent applications."
It's unlikely Preact infringes on a theoretical React patent. It's not a reverse-engineered reimplementation of React, but rather a library that happens to have a similar public API. APIs are not patentable, thus Preact's implementation is no more likely to infringe than Angular or Vue's.
I'm a technology lawyer. I deal with a fairly high volume of open source licenses and I write a lot of software licenses. I'm also a former developer and still have hobby projects I write mostly in javascript - primarily in Node.
I've read the BSD+Patents licenses. What am I missing? It seems like it is designed to reduce the power of patent trolls and to reduce the power of people who use software written by facebook to sue facebook for patent infringement - which, IMHO - is pretty reasonable, especially given that I think it is an absurdity that software is ever granted patents in the first place (something being rectified, albeit slowly, in the post 'Alice' world).
So, what am I missing? Are there any other actual lawyers who can weigh in on this? Because I see a lot of FUD on here written by a lot of arm-chair lawyers and, when I go to read the licenses (which I do) I'm just not seeing it. I very much believe in evidence and I am always open to counter-arguments - so please, show me the problematic clauses or the problematic exercise of clauses by Facebook.
As of now, all I see is a license (probably written by Goodwin Proctor or Fenwick & West) with a restriction on initiating patent-based litigation - I can live with this. Again - I'm happy to stand corrected.
Disclaimer: I'm not your attorney, this is not legal advice, this is not an official legal opinion nor the opinion of my law firm.
Thanks for that link. It was a concise and good read.
I don't like the terminology used for the patent retaliation clauses. I see the "weak patent retaliation clause" as fair (within the scope of patent retaliation) and the "strong patent retaliation clause" as harmful.
If I had a say in the matter, I'd like to call a spade a spade and help people understand what these really mean. The terms "weak" and "strong" in this context appear meaningless to me. Without explaining what the clauses mean, the terms themselves don't provide any indication of the (comparative) utility of these.
So the concern is that if you are a company with a large patent portfolio, and you sue facebook for patent infringement unrelated to react, facebook will yank your react license?
I'm also a technology lawyer, i've written several of the patent grants used very widely, as well as having been responsible for open source licensing compliance at Google for a very long time .
If i thought this license would actually help i would support it in an instant. But so far
1. i don't believe it would. It's a very old idea, discussed to death, with a lot of downside, and a little upside.
2. they've ruined a lot of the possibility of getting people on board by doing it in a way that's fairly tone deaf.
As for the license itself:
You also have the same concern if you aren't large.
It's also not just going to yank your react license, it will yank your license to everything under this license.
This license will not have the effect of stopping patent litigation. Patent trolls don't use React, and most of the danger is still trolls.
If you really wanted to play that game, you'd be better off saying "if you sue us, you lose the right to use facebook the service". That might have some effect (but probably not a lot).
Instead, this license will have the main effect of further enabling the large to leverage the small. Hey, seems like you got technology i like, and hey, looks like the app you depend on for your livelihood uses react. it'd be a shame if you had to sue us for taking your stuff and lose your react license.
Do i think facebook will do that? Honestly, no. I doubt it. They may by accident. Do i think, if widely adopted, it would have that effect: 100% yes.
As for the origins, these kinds of broad termination clauses have been around forever. They aren't anything new. As i've said before, they were considered and explicitly rejected from most current licenses with patent grants.
Rather than come to a community of license authors, etc, and say "hey, we want to re-explore this, because we're seeing a problem", they did it this way.
That's ... unlikely to be a successful mechanism (and in fact, i know a large number of corporate counsel who have banned it).
You make a lot of good points, but I want to focus on just one.
> This license will not have the effect of stopping patent litigation. Patent trolls don't use React, and most of the danger is still trolls.
I agree. However - implicit in your position (and my apologies if I am reading you wrong) is that there are small players - or any players - who have valid software patents that should be exercised against anyone - much less Facebook. As a general proposition, I'm hesitant to support that.
Let's put it another way - but first get some caveats out of the way: there may be things problematic with this license (your points are highly illustrative - especially about the systematic, higher-order effects). I also think that, as someone in private practice, I'm empathetic to Facebook's attorneys' goals here, and they are likely saving Facebook a whole host of headaches. I am also very well aware of the counterbalancing arguments regarding the duty of good stewardship of the open source community, and decisions like this by gigantic players such as Facebook have lasting effects for the entire community. /caveats
However - defense of the right to pursue infringement litigation over software patents against anyone is simply not a hill I am willing to die on. I am struck, as a result, by confusion at the willingness of open source lawyers to criticize facebook for license limitations aimed at limiting the rights of licensees to initiate patent suits - even if it is a self-serving limitation. My instinct is that, in general, push-back against limitation (even imperfect ones) of the exercise of software patent rights, within the open source community, should be a fairly low priority. I'm happy to stand corrected - it happens often enough.
Let me make a crude analogy - if you believe in certain forms of gun control, this would be the equivalent of a debate about what type of assault weapons may be owned by the public. If you are of the view that no assault weapons (and I am using the term very, very broadly - I'm not interested in the highly technical debates of what constitutes an assault weapon for these purposes) should be owned by the general public, then law banning the ownership of a particular type of assault weapon against by a particular class of owner is not that big of a deal - even if it is crudely implemented. If anything, it may be a step in the right direction. Accordingly, the criticisms of the BSD+Patent license by the open source community strikes me as analogous to criticism of a partial assault weapons ban by gun control advocates - it is a bit of a head-scratcher.
Back to this license, in more concrete terms - I am skeptical of the claim that there exists an entire class of small companies have that meaningful software patent portfolios that can be exercised against facebook, much less anyone, which companies will be disenfranchised of their rights by this license:
* First, software patents are severely diminished in the post-Alice world, as a category, and very likely to be invalidated in an enforcement action, especially against a company as wealthy and sophisticated as Facebook. Patent litigation with Facebook is going to be as scorched-earth as it can get - the arrow of the BSD+Patents license is but one in a quiver that is full of millions in cash and tens of thousands of associate hours.
* Second, if you have the wherewithal to enforce a patent, you have millions of dollars in attorneys fees at your disposal - meaning you are not very small. Patent infringement litigation is called the sport of kings for a reason - it is monstrously expensive (I seem to recall statistics stating that a 'simple' patent claim is on the order of $1.5-3M to litigate to conclusion, per party).
* Third, if you have non-software patents (e.g., medical devices, drugs, chemical compositions, manufacture processes, semi-conductors, etc.) - it strikes me that there ...
"As a general proposition, I'm hesitant to support that."
I'm even fine with this (I hate software patents).
But it seems very wrong to essentially be able to take what you want from small companies because they are afraid to take you on.
Regardless of what mechanism you use to achieve it.
"and they are likely saving Facebook a whole host of headaches."
I am empathetic, but i also disbelieve this. I'm aware of every headache Google has ever had in these situations, and i can't imagine Facebook's are particularly different.
I can state affirmatively that this license would not have prevented even one of those headaches.
Thus it would have been infinitely more helpful if they had cited any examples.
As for your viewpoint on the scenario. FWIW: yes, i am certainly biased by what i've done. But I actually have dealt with a tremendous number of startups, from both sides of the fence (I also do due diligence on this side, and have helped plenty on the other side). The number who would have no effective recourse under this license, who would have had effective recourse before, is quite high.
Would that recourse only come into play when they are essentially fcked anyway? Yeah, maybe. But it's worth something*.
> The number who would have no effective recourse under this license, who would have had effective recourse before, is quite high.
I think that's the rub. If that is the case, then this is certainly very problematic.
In any event, this is certainly a class of licenses that needs to be watched carefully on an ongoing basis and added to the (already substantial) checklist of licenses that need to be carefully considered before being added to any project.
I appreciate your comments and candor on all of this, btw. Thanks again.
Hi Danny, thanks for your insight about this topic. As someone who works with licensing at Google can I get an idea of what would happen in this scenario.
Let's say Facebook has a Patent on something like `Components`, `Unidirectional data flow`, and `virtual DOM` which were core to React (of course, we don't know for sure). Now let's say a framework built at Google using the same ideas as `Components` and `Unidirectional data flow` under MIT. From what I can find about patents is that if you have a Patent on the eraser then that prevents anyone from building the pencil or at least the eraser can sue for patent infringement. Does this mean the framework that was built at Google under MIT can still be affected by Facebook? If that were the case can we assume Facebook wouldn't sue Google for the same reason as start-up wouldn't want to sue Facebook for patent infringement? What if a startup were sued Facebook for patent infringement and Facebook counter-sues for patent infringement because of use of `Components` and `Unidirectional data flow` in the MIT Google framework do you think Google would step in to help since the startup wouldn't have enough money to take on the counter-sue?
The idea here is that no one knows for sure what Facebook has for Patents on React yet the core concepts that were introduced to the community is wide spread.
Disclaimer:
Of course, this is just hypothetical and you're not my lawyer and this is not an official legal opinion nor the opinion of Google.
@libertymcateer - the scope is still broader than what you're focusing on: first of all, it's not just software patents (I know you mention this, but it's worth emphasising) and secondly it could be a company you have a share in sueing a company Facebook has a share in, about ANY patent infringement. That act alone is enough to revoke your company's licence to use React.
30 comments
[ 3.0 ms ] story [ 70.0 ms ] threadIt only takes a small change in the build config, using babel-plugin-module-resolver to alias react and react-dom, to preact-compat.
Inferno was positioned back then as some kind of a ressearch thing not suited for production.
Preact pros was:
- very small size (it's near 5kb Non-Gzipped without compatibility layer), perfect for lightweb mobile apps (Inferno was like 60kb, React 250kb)
- has less gimmicks for porting from React and an optional compatibility layer to enable some of low-level React libs and components
Preact has no synthetic event system wrapping, if you heavily relly on it then things could be rough.
Do you really think they don't have a pending patent for some part of React? I bet they've got at least one covering virtual DOM.
And don't worry about prior art. As long as some part of it can weasel through a patent it's enough. Doesn't have to be the whole thing.
"To determine patent liability asserted by Facebook, we need to assess Facebook’s various patents and their claims. Or more specifically, which Facebook patents claim any underlying React technology? As the above illustrates, this is not a trivial question. But in my cursory search, that answer is zero. (Again, if you have examples, send them over.) Moreover, it would suprise me given the USPTO and courts general disfavor of software patents if Facebook had anything patentable in React, much less actually patented. The prior art of componetization, diffing, and virtual doms circa 2013 is very well known, and I don’t see any applicable continuation patent applications."
I've read the BSD+Patents licenses. What am I missing? It seems like it is designed to reduce the power of patent trolls and to reduce the power of people who use software written by facebook to sue facebook for patent infringement - which, IMHO - is pretty reasonable, especially given that I think it is an absurdity that software is ever granted patents in the first place (something being rectified, albeit slowly, in the post 'Alice' world).
So, what am I missing? Are there any other actual lawyers who can weigh in on this? Because I see a lot of FUD on here written by a lot of arm-chair lawyers and, when I go to read the licenses (which I do) I'm just not seeing it. I very much believe in evidence and I am always open to counter-arguments - so please, show me the problematic clauses or the problematic exercise of clauses by Facebook.
As of now, all I see is a license (probably written by Goodwin Proctor or Fenwick & West) with a restriction on initiating patent-based litigation - I can live with this. Again - I'm happy to stand corrected.
Disclaimer: I'm not your attorney, this is not legal advice, this is not an official legal opinion nor the opinion of my law firm.
I don't like the terminology used for the patent retaliation clauses. I see the "weak patent retaliation clause" as fair (within the scope of patent retaliation) and the "strong patent retaliation clause" as harmful.
If I had a say in the matter, I'd like to call a spade a spade and help people understand what these really mean. The terms "weak" and "strong" in this context appear meaningless to me. Without explaining what the clauses mean, the terms themselves don't provide any indication of the (comparative) utility of these.
If i thought this license would actually help i would support it in an instant. But so far
1. i don't believe it would. It's a very old idea, discussed to death, with a lot of downside, and a little upside.
2. they've ruined a lot of the possibility of getting people on board by doing it in a way that's fairly tone deaf.
As for the license itself:
You also have the same concern if you aren't large.
It's also not just going to yank your react license, it will yank your license to everything under this license.
This license will not have the effect of stopping patent litigation. Patent trolls don't use React, and most of the danger is still trolls.
If you really wanted to play that game, you'd be better off saying "if you sue us, you lose the right to use facebook the service". That might have some effect (but probably not a lot).
Instead, this license will have the main effect of further enabling the large to leverage the small. Hey, seems like you got technology i like, and hey, looks like the app you depend on for your livelihood uses react. it'd be a shame if you had to sue us for taking your stuff and lose your react license.
Do i think facebook will do that? Honestly, no. I doubt it. They may by accident. Do i think, if widely adopted, it would have that effect: 100% yes.
As for the origins, these kinds of broad termination clauses have been around forever. They aren't anything new. As i've said before, they were considered and explicitly rejected from most current licenses with patent grants.
Rather than come to a community of license authors, etc, and say "hey, we want to re-explore this, because we're seeing a problem", they did it this way. That's ... unlikely to be a successful mechanism (and in fact, i know a large number of corporate counsel who have banned it).
> This license will not have the effect of stopping patent litigation. Patent trolls don't use React, and most of the danger is still trolls.
I agree. However - implicit in your position (and my apologies if I am reading you wrong) is that there are small players - or any players - who have valid software patents that should be exercised against anyone - much less Facebook. As a general proposition, I'm hesitant to support that.
Let's put it another way - but first get some caveats out of the way: there may be things problematic with this license (your points are highly illustrative - especially about the systematic, higher-order effects). I also think that, as someone in private practice, I'm empathetic to Facebook's attorneys' goals here, and they are likely saving Facebook a whole host of headaches. I am also very well aware of the counterbalancing arguments regarding the duty of good stewardship of the open source community, and decisions like this by gigantic players such as Facebook have lasting effects for the entire community. /caveats
However - defense of the right to pursue infringement litigation over software patents against anyone is simply not a hill I am willing to die on. I am struck, as a result, by confusion at the willingness of open source lawyers to criticize facebook for license limitations aimed at limiting the rights of licensees to initiate patent suits - even if it is a self-serving limitation. My instinct is that, in general, push-back against limitation (even imperfect ones) of the exercise of software patent rights, within the open source community, should be a fairly low priority. I'm happy to stand corrected - it happens often enough.
Let me make a crude analogy - if you believe in certain forms of gun control, this would be the equivalent of a debate about what type of assault weapons may be owned by the public. If you are of the view that no assault weapons (and I am using the term very, very broadly - I'm not interested in the highly technical debates of what constitutes an assault weapon for these purposes) should be owned by the general public, then law banning the ownership of a particular type of assault weapon against by a particular class of owner is not that big of a deal - even if it is crudely implemented. If anything, it may be a step in the right direction. Accordingly, the criticisms of the BSD+Patent license by the open source community strikes me as analogous to criticism of a partial assault weapons ban by gun control advocates - it is a bit of a head-scratcher.
Back to this license, in more concrete terms - I am skeptical of the claim that there exists an entire class of small companies have that meaningful software patent portfolios that can be exercised against facebook, much less anyone, which companies will be disenfranchised of their rights by this license:
* First, software patents are severely diminished in the post-Alice world, as a category, and very likely to be invalidated in an enforcement action, especially against a company as wealthy and sophisticated as Facebook. Patent litigation with Facebook is going to be as scorched-earth as it can get - the arrow of the BSD+Patents license is but one in a quiver that is full of millions in cash and tens of thousands of associate hours.
* Second, if you have the wherewithal to enforce a patent, you have millions of dollars in attorneys fees at your disposal - meaning you are not very small. Patent infringement litigation is called the sport of kings for a reason - it is monstrously expensive (I seem to recall statistics stating that a 'simple' patent claim is on the order of $1.5-3M to litigate to conclusion, per party).
* Third, if you have non-software patents (e.g., medical devices, drugs, chemical compositions, manufacture processes, semi-conductors, etc.) - it strikes me that there ...
I'm even fine with this (I hate software patents).
But it seems very wrong to essentially be able to take what you want from small companies because they are afraid to take you on.
Regardless of what mechanism you use to achieve it.
"and they are likely saving Facebook a whole host of headaches."
I am empathetic, but i also disbelieve this. I'm aware of every headache Google has ever had in these situations, and i can't imagine Facebook's are particularly different.
I can state affirmatively that this license would not have prevented even one of those headaches. Thus it would have been infinitely more helpful if they had cited any examples.
As for your viewpoint on the scenario. FWIW: yes, i am certainly biased by what i've done. But I actually have dealt with a tremendous number of startups, from both sides of the fence (I also do due diligence on this side, and have helped plenty on the other side). The number who would have no effective recourse under this license, who would have had effective recourse before, is quite high.
Would that recourse only come into play when they are essentially fcked anyway? Yeah, maybe. But it's worth something*.
> The number who would have no effective recourse under this license, who would have had effective recourse before, is quite high.
I think that's the rub. If that is the case, then this is certainly very problematic.
In any event, this is certainly a class of licenses that needs to be watched carefully on an ongoing basis and added to the (already substantial) checklist of licenses that need to be carefully considered before being added to any project.
I appreciate your comments and candor on all of this, btw. Thanks again.
Let's say Facebook has a Patent on something like `Components`, `Unidirectional data flow`, and `virtual DOM` which were core to React (of course, we don't know for sure). Now let's say a framework built at Google using the same ideas as `Components` and `Unidirectional data flow` under MIT. From what I can find about patents is that if you have a Patent on the eraser then that prevents anyone from building the pencil or at least the eraser can sue for patent infringement. Does this mean the framework that was built at Google under MIT can still be affected by Facebook? If that were the case can we assume Facebook wouldn't sue Google for the same reason as start-up wouldn't want to sue Facebook for patent infringement? What if a startup were sued Facebook for patent infringement and Facebook counter-sues for patent infringement because of use of `Components` and `Unidirectional data flow` in the MIT Google framework do you think Google would step in to help since the startup wouldn't have enough money to take on the counter-sue?
The idea here is that no one knows for sure what Facebook has for Patents on React yet the core concepts that were introduced to the community is wide spread.
Disclaimer: Of course, this is just hypothetical and you're not my lawyer and this is not an official legal opinion nor the opinion of Google.