Live data from Hacker News

Explaining React's license

code.facebook.com

71–80 of 622 posts

Re: Explaining React's license

#71

Facebook claims BSD+PATENTS is GPL compatible. I'd like to hear what the FSF has to say about that.

The two copyright-based licenses are compatible, based on pretty much every legal opinion published. Facebook is offering a separate patent license, and that is out-of-scope of the GPL.

I agree the plain BSD 2 and GPL licenses are compatible. The issue here is how the PATENTS file from Facebook reduces an implicit patent grant by the BSD license making BSD+PATENTS into essentially a different license with less permissions than plain BSD.

According to the FAQ on the GPLv3: https://www.gnu.org/licenses/quick-guide-gplv3.html "Whenever someone conveys software covered by GPLv3 that they've written or modified, they must provide every recipient with any patent licenses necessary to exercise the rights that the GPL gives them."

So, since GPLv3 talks about patents, and the Facebook PATENTS clause reduces the implicit patent grant of BSD, I feel it is in scope for GPLv3. A plain BSD 2.0 license with an implicit patent grant would presumably provide enough patent rights to be compatible with GPLv3. To my reading of the situation, BSD+PATENTS does not seem to provide enough patent rights to comply with GPLv3 (because of the one-sided retaliation clause of Facebook's PATENTS file).

The GPLv2 is a different story which is less clear to me.

In section 7 GPLv2 says: "If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program."

So, because some of your downstream users might not have a valid patent grant from Facebook if they sue Facebook for infringing their patents, does the last sentence imply you can't distribute the combined BSD+PATENTS and GPLv2 code?

Re: Explaining React's license

#72
For someone like me, (Free Software advocate, Ember user looking for a breath of fresh air--and better job prospects--with React), it all boils down to doing a cost-benefit analysis.

Sweeping conclusions like "you have nothing to worry about" or "you should never use software with such a license" do not apply to everyone.

As a Free Software advocate, I abhor troll-like behavior, regardless of whether the vehicle is patents, copyrights, or anything else.

I am also more likely to benefit from potential patents contained in a project like React than I am to ever 1) Own a patent. 2) Have a company use that patent in a way I find harmful and offensive. 3) Have the resources to sue an internet giant.

So for me, it's probably worth it to use React, although I can understand why others insist on a more cautious approach.

One thing Facebook could do that would inspire confidence (not to mention make the company a champion of free innovation) is to enumerate which patents the company owns and release all of them under the Defensive Patent License [0].

Such a move would require a lot of courage, but Facebook is large enough and entrenched enough that they would probably gain much more than they could potentially lose.

[0] https://defensivepatentlicense.org

Re: Explaining React's license

#73

This is in reply to the Apache Software Foundation decision to list the BSD + Patents license as a Category-X license. - Facebook gets attacked by meritless patent litigation - Facebook creates the BSD + Patents license, which has the following effect : > The patent grant says that if you're going to use the software we've released under it, you lose the patent license from us if you sue us for patent infringement. -…

Facebook and other large software firms have a large arsenal of patents that's sufficient to defend themselves from a patent lawsuit from a large competitor. These patents are broad. So if you're writing web software with any amount of compexity, you probably infringe on Facebook's patents. If you are a small firm that owns a patent Facebook is infringing on and you wish to litigate it, you have basically two options:

1: give up your main business so you no longer infringe on the Facebook patents. IOW, become a troll.

2: get demolished by the Facebook counter suit.

The React license doesn't change those two options one bit, it just makes it much more obvious. Facebook's intent is likely just to prevent the suits from even being considered in the first place.

Re: Explaining React's license

#74
post #63

I wonder how Facebook would feel if all the open source software they currently use incorporated the same license. I bet it would deter them from enjoying much of the code they built their business on. This stance seems pretty antithetical to the goal and spirit of open source software and I really hope it's not the beginning of other companies following suit and 'poisoning' the well of other open source projects.

I completely agree that the Facebook BSD+PATENTS license is antithetical to the goal and spirit of open source software. And that is why the Apache Foundation rejected it it. I'd like to see more statements by more groups like the FSF and OSI on that.

Re: Explaining React's license

#75
post #25

Isn't the style of programming react imposes (unidirectional data flow and component composition) the real innovation for front end applications here? Sure the dom diffing technology was hot at the time it came out but it's basically is a commodity item at this point. In that sense, the open source community can (and should) build multiple react clones that are licensed more liberally. Sure, I'm annoyed by the licens…

I'd agree with you, but... React Native. :(

Re: Explaining React's license

#76

ELI5 anyone? My basic understanding is if you use React and decide to sue FB for patent infringement down the line, FB can countersue(?) bc they revoke your grant to use the patent upon you suing them. But what _exactly_ constitutes using React? Of course using the library is one thing, but what about using some other library that installs React as some dependency? Does using JSX also count as using "React"? I just f…

jsx is defininity not owned by react

Re: Explaining React's license

#77
I'm not sure if React (and the other projects that contain the PATENTS file) will survive the backlash to this in the long run. Vue.js is rapidly climbing in popularity, and Elm is probably going to go mainstream in 2018. There are alternatives like Mithril and Ember too.

Re: Explaining React's license

#78
post #3

Earlier quoted context omitted.

Well generally React users seem to not care. So I don't blame FB. I guess the clause could be rewritten to be more like what Google/Apache 2.0 does - then everyone would be happy.

React was originally under the Apache2 license. So is this a bit of a bait-and-switch? https://github.com/facebook/react/blob/75897c2dcd1dd3a6ca462... Also, could that original patent grant in the original license apply to later versions of React?

No that is a gpl concept.

Re: Explaining React's license

#79
post #60

I wonder how Facebook would feel if all the open source software they currently use incorporated the same license. I bet it would deter them from enjoying much of the code they built their business on. This stance seems pretty antithetical to the goal and spirit of open source software and I really hope it's not the beginning of other companies following suit and 'poisoning' the well.

> how Facebook would feel if all the open source software they currently use incorporated the same license

That would work incredibly well to neutralize patents, actually, and would be a huge win for free/open source software.

It's surprising not to have seen anyone point out the logical conclusion of a world where every major license includes a React-like stance on patents: it's a world where no one is able to bring patent suits against anyone, because it means they are now violating the licenses of every piece of FOSS they're currently using. (I'm relying on the assumption that there's no entity that could perform an audit right now and conclude that there's not a single piece of FOSS underpinning their products/services/infrastructure.)

Licenses like Apache 2.0, MPL2, etc all have a "MAD" policy wrt patents, but they all have a gaping hole in their strategy. The React license patches this hole in a really clever way--probably the cleverest thing since the GPL's invention of copyleft to hack copyright law by using it against itself. It's really disappointing to see people's sense of disdain for Facebook overpower their ability to appreciate how clever the React license is.

Addendum from the last time [1] I commented: "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 [those that frame the React terms in a negative light]".

1. https://news.ycombinator.com/item?id=14780358

Re: Explaining React's license

#80

Of course they release this late on a Friday so it is does not get much reach. Facebook is very very evil - in every part of the company. Copying other's ideas (Snapchat) yet trying to stop other companies from copying them (this licensing).

I don't see it as "released". It's just the closing of a Github issue, not a press release.

Do you feel that if a company is "evil", do you feel there's a moral imperative to not use their products? It seems to me there's a lot of "But React!" going on.

Post reply on HN