Live data from Hacker News

Explaining React's license

code.facebook.com

111–120 of 622 posts

Re: Explaining React's license

#111

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.

The post linked is from 4 hours ago. So yes it's a late Friday statement.

https://code.facebook.com/posts/112130496157735/explaining-r...

Re: Explaining React's license

#112

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.

Elm going mainstream?! What a prediction!

yeah I doubt about elm, but vue is definitely catching up.

Re: Explaining React's license

#113
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?

I don't think so, but you could fork from v11 (0.11 in old naming) as it was the last full release to use Apache.

Re: Explaining React's license

#114
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…

> and would be a huge win for free/open source software

It would be a huge win for companies with large software patent portfolios, which is the opposite of what the free software movement is about.

Re: Explaining React's license

#115

There is a lot of confusion with regards to one point: the Apache Software Foundation did not make a request for a license change. The Foundation does not presuppose to know how others should license their products. That is those others' choice. The Foundation does have policies on what licenses can be used, within the Foundation's projects. But that is for our projects, and not the same as pushing back against licen…

it's not 'rejection' that's bothering ppl... most ppl don't care about 'rejection' whether it happened or not.

Re: Explaining React's license

#116

Earlier quoted context omitted.

> 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…

> be a win for free/open source software Any project with such a license would be non-free, so I'm not sure how that would be a win for free software.

> such a license would be non-free

I'm inclined to say you're mistaken. The FSF hasn't published an analysis of the React terms, but if they did, it seems pretty much assured that they'd deem it a "free software license, but incompatible with the GPL".

Recall that Apache 2.0, MPL2, and GPLv3—all free software licenses—have patent termination clauses as well, but they're comparatively weak. In fact, GPLv2 didn't have one, and this was the reason why Apache 2.0 is labeled as free but incompatible with GPLv2. The FSF's solution to this was to include it's own patent termination in the next update to the GPL, which is why Apache 2.0 and GPLv3 are compatible today.

See https://www.gnu.org/licenses/license-list.html#apache2

Re: Explaining React's license

#117

I love love love love love react as a technology, but this is just awful. I believe any developer not on Facebook's payroll still contributing to React or React native at this point has a moral obligation to stop. I personally feel like such a fool for not taking all this seriously before the ASF gave me a wakeup call. React is a trojan horse into the open source community that Facebook purposely and maliciously stee…

https://github.com/facebook/react/blob/0.11-stable/LICENSE

Turns out that forking a somewhat recent version of React that uses Apache is possible while still retaining any relevant patents (esp pending vdom patents) and API compatibility.

Re: Explaining React's license

#118
post #35

> We've been looking for ways around this and have reached out to ASF to see if we could try to work with them, but have come up empty. There's a pretty obvious solution to this: relicense React. The fact that Facebook isn't even considering that is a pretty strong indication that they "weaponized" their license on purpose. > To this point, though, we haven't done a good job of explaining the reasons behind our BSD +…

I would patiently beg everyone to employ some basic reasoning. Situation A: React is licensed under BSD + PATENTS. You sue Facebook for infringing your widget patent. Turns out Facebook has a patent for something in react. They revoke your grant and counter sue you for infringing that patent. Long legal battle ensues. Situation A: React is licensed under just BSD. You sue Facebook for infringing your widget patent. T…

[deleted]

Re: Explaining React's license

#119
post #86

Earlier quoted context omitted.

If Facebook has a patent on React, it's almost certainly going to be on the vdom concept. If Facebook has a patent on the vdom, then all the projects in your list violate the patent, and none of them come with even a conditional patent grant from Facebook. If Facebook does not have a patent on the vdom or other React technology, then those other projects are safe, but so is React , since termination of the patent gra…

You're missing the fact that if you sue Facebook for any patent infringement, even a legitimate one (say, you're the creator of some new hardware), Facebook will revoke your React license. Also, Facebook has no vdom patent. It's not like you can be granted a secret, hidden patent (even the word "patent" itself means "open").

> Facebook will revoke your React license.

you mean their patent grant? How can an open source license like apache, MIT or bsd be "revoked"? Do facebook have a public blacklist of people who aren't allowed to use react?

Re: Explaining React's license

#120
post #86

Earlier quoted context omitted.

Yeah, I got tons of pushback when I tried to steer Automattic and the WordPress community away from React in 2015 with people saying not to worry: "Replace React with Mithril for licensing reasons" https://github.com/Automattic/wp-calypso/issues/650 Personally, I increasingly doubt that BSD+PATENTS is even GPL-compatible -- and so potentially Automattic may be violating the GPL by using React integrated with WordPres…

If Facebook has a patent on React, it's almost certainly going to be on the vdom concept. If Facebook has a patent on the vdom, then all the projects in your list violate the patent, and none of them come with even a conditional patent grant from Facebook. If Facebook does not have a patent on the vdom or other React technology, then those other projects are safe, but so is React , since termination of the patent gra…

It's speculation what patents Facebook has for React or what they cover. I've heard of claims of prior art for vdom-like concepts, so it is possible even if Facebook has React-related patents, only narrower interpretations of any claims might hold up (if that). React has a specific way of updating state which, for example, Mithril does not use. So, it is possible other vdoms may be far enough away from React to not be covered by any patents claims Facebook might try to make. Granted, that is no 100% guarantee of anything.

To me, the most important part of a vdom library like Mithril is using the HyperScript API with it, a library which predates React: Aug 20, 2012: https://github.com/hyperhype/hyperscript/tree/9237f590f3bc82... May 2013: https://github.com/facebook/react/blob/75897c2dcd1dd3a6ca462...

Personally, I feel templating approaches to making JavaScript-powered UIs like React's JSX or Angular's own templating approach or the templating systems in many other UI systems are obsolete. Modern webapps can use Mithril+Tachyons+JavaScript/TypeScript to write components in single files where all the code is just JavaScript/TypeScript. Such apps don't need to be partially written in either CSS and some non-standard variant of HTML that reimplements part of a programming language (badly). (Well, there may be a tiny bit of custom CSS needed on top of Tachyons, but very little.)

Here is an example of a coding playground I wrote that way with several examples in it which use that approach: http://rawgit.com/pdfernhout/Twirlip7/master/src/ui/twirlip7...

So, by writing UIs using HyperScript (plus a vdom library), you can potentially (with some work) replace a backend like Mithril with almost any other vdom or even a non-vdom solution. So, that is another way I mitigate this risk when I have a choice.

Granted, I know many web developers grew up on tweaking HTML and love HTML-looking templates and so they love JSX or whatever and are happy to ignore how hard it is to refactor such non-code stuff in the middle of their applikcations or validate it (granted, some IDEs are getting better at that). But I came to web development from desktop and embedded development working with systems where you (usually) generated UIs directly from code (e.g. using Swing, Tk, wxWidgets, and so on). I like the idea that standard tools can help me refactor all the code I work on and detect many inconsistencies.

Maybe a deeper issue for me is that with BSD+PATENTS Facebook is redefining what "open source" means in a way that is harmful to the open source community -- and also free software community as well like with Automattic using React on top of a GPLd WordPress. Which is why the Apache Foundation rejected the React license.

Post reply on HN