
Preact, React alternative without weird Patents License - wiradikusuma
https://preactjs.com/
======
libertymcateer
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.

~~~
tyingq
See [http://www.rosenlaw.com/lj9.htm](http://www.rosenlaw.com/lj9.htm)
particularly the strong patent retaliation clause portion.

~~~
libertymcateer
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?

~~~
DannyBee
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).

~~~
libertymcateer
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 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.

~~~
DannyBee
"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 f _cked
anyway? Yeah, maybe. But it 's worth _something*.

~~~
gdi2290
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.

------
xpaulbettsx
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.

~~~
TomMarius
What patents regarding React exist and which of these are held by Facebook?

~~~
comex
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.

~~~
EduardoBautista
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.

------
tchaffee
If anyone has experience switching from React to Preact I would be interested
in hearing what that was like.

~~~
lioeters
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.

------
erokar
How does Inferno ([https://infernojs.org/](https://infernojs.org/)) compare to
Preact? Seems to be faster than both React and Preact.

~~~
garkin
I watched both a while ago, things could have changed.

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.

