Preact, React alternative without weird Patents License
preactjs.com
preactjs.com
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 is a low (maybe not zero, but low) chance that facebook's BSD+Patents license constitutes a substantial portion of your 'critical' software stack.
* And, finally, if after all this, you are a small startup without a lot of money and you are trying to enforce software patents against Facebook (of all possible litigants, I can think of no larger juggernaut), and react (or any other BSD+Patents licensed software) is a part of your critical stack - there are so many other existential questions about the company's strategy that the particular terms of this license are rather low on the list.
As I said, I am very happy to hear any feedback, and thanks for your thoughtful responses.
Edit / update:
A few notes, in no particular order:
Tl;dr - two main cases here: 1. one is trying to enforce software patents against facebook - I am not going to spend a lot of energy defending the exercise of software patents, generally; 2. one is trying to enforce non-software patents against facebook - I believe there is a low chance that Facebook's BSD+Patents software constitutes a meaningful part of your stack in this instance.
* You are likely viewing this issue from the point of view of someone who chooses what sorts of licenses Google should adopt. I very much appreciate your insight and criticisms from that perspective. However, I am viewing it as counsel to a lot of small companies that have to be nimble - accordingly the scenario in question, where this license is a limitation of a startup's ability to succeed, involves that startup having been misguided into thinking that it is a good idea to sue Facebook for patent infringement over a software patent while also relying on Facebook software as a part of their critical stack. That is... quite a scenario. It reminds me of this scene from Dark Knight:
Lucius Fox: [in his office] Let me get this straight. You think that your client, one of the wealthiest, most powerful men in the world, is secretly a vigilante who spends his nights beating criminals to a pulp with his bare hands; and your plan, is to blackmail this person?
[pause, Reese looks nervous]
Lucius Fox: Good luck.
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.
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."
It 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.