527 comments

[ 3.0 ms ] story [ 301 ms ] thread
Death to asymmetrical patent clauses! Huge victory for OSS.
Was it asymmetrical? I thought it was a "we won't sue you for anything in this software, unless you sue us first". This change still allows them to sue you for any reason.
to be fair, Facebook could still sue anyone for any reason they can think of irregardless of what you're using! ;-)
They could, but you would still get to keep the PATENTS clause. It was asymmetrical, but in the direction against Facebook.
It’s asymmetrical in the sense that your license terminates even if you sue them for something that’s not in the software you’re using. I.e. they rip off your feature, and you’re using React, you’re f##d.
Literally not true. You’d just revert to BSD if you sued.

So same protection as now.

Literally is true. In the presence of patents BSD license alone (and MIT, too) would basically mean you’re infringing on their IP, and they can and will bring action against you on the basis of your use of their software, even if your legal action against them was over completely unrelated patents.
Not sure what you're trying to say as your phrasing is jumbled but the BSD licence offers zero protection from their patents now. They can sue you whenever they like now.

This is, of course, true of any other OSS and patent holding company.

Many argue that the difference is between the old explicit grant (which was one-sided) and the new implicit grant (which is more two-sided). Reverting to BSD doesn't remove the fact that the explicit grant was revoked, so the real comparison of one sued is BSD with no inplicit grant to MIT with an implicit grant.
Implicit grants have very little case law and what law there is doesn't look too useful for people in this case (the patent(s) would have to be extremely specifically applicable to the code, which most patents are designed not to be).

So I trust implicit grants much less than explicit.

Right, if they were equal grants, I would too. But they aren't, that's the point.
It's a principled stand for sure, and I can respect that, but it also means that in practice you get less protection.

Like, I'd love to live in a world where patent protection wasn't even an issue but we don't. So in this situation we end up with less protection due to compatibility concerns.

Given we do live in a world where software patents are valuable to companies and they won't all want to give blanket irrevocable licenses... there has to be a way for business to do that and protect users of the software.

The patent grant FB did was a (flawed) attempt at that.

Not sure how the topic veered; this thread was about the difference between BSD+Patents - Patents vs MIT and the two being less equal (in my opinion) than first posited, because the +Patents and -Patents don't cancel out to equal the implicit patent grant of MIT.

Even if you believe the implicit grant to be weak, or Facebook's Patent grant to be better than an implicit grant, the above discussion stands independently of those things.

If you sued Facebook, you would have lost the patent grant, but not the copyright. With the new license, there's no patent grant at all, so if any code in React is patented, you're in the same boat as you'd have been if you'd sued in the prior situation.

Edit: It seems like some consider MIT, unlike BSD, to have an implied patent grant based on its wording: https://www.scribd.com/document/46088081/Closing-the-Loophol...

Keep in mind that holding a patent allows the patentholder to prohibit someone else from importing, making, selling, or using some product or practice.

The MIT license gives you the rights to "use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software", and that's not even exhaustive. (See "without restriction" and "without limitation".)

Is there something missing from the second list that you think needs protection from the powers granted to patentholders (the things in the first list)?

Wow, that's a fantastic move, huge win for open source.
:O

Never thought this would happen

What about GraphQL?
Is the GraphQL spec itself under the BSD+patents clause? Or just their specific implementation? Couldn’t somebody like the Apollo crew create their own implementation if necessary?
The problem is that there actually are patents covering GraphQL. So anybody who writes an alternative GraphQL server implementation is potentially infringing upon those patents.

The issue with the GraphQL spec is that people actually want a patent grant for alternative implementations, but there isn't one.

"This shift naturally raises questions about the rest of Facebook's open source projects. Many of our popular projects will keep the BSD + Patents license for now."
My guess is they go with Apache v2 for GraphQL.
Looks like React Native isn't included in the list for a license update.
That's what gets me. There's a very narrow list of packages that they've selected for the MIT treatment. Why isn't the blog post something along the lines of "We're re-licensing all of our open source libraries under the MIT License and removing their patent clauses"? It seems like they're still trying to play games, and are only buckling to the pressure for a tiny number of libraries.
My less cynical view (hope) maybe react-native isn't due for an update soon and they'll do it next time there's a version bump?
You don't need to update anything else besides the license when changing the license, though? There's no version bump required.
Isn't the license file part of the distributed .tar.gz, packaging metadata, and other release artifacts? It's bad form to change the contents of a release after it's distributed. So even a small change like that would require a (minor) version bump.
See the fourth paragraph.

> This shift naturally raises questions about the rest of Facebook's open source projects. Many of our popular projects will keep the BSD + Patents license for now. We're evaluating those projects' licenses too, but each project is different and alternative licensing options will depend on a variety of factors.

So the list of packages they're truly open sourcing is intentionally small, then. They're only truly open sourcing the ones that are very popular and that had a huge amount of outcry over the license. That makes it worse.
> That makes it worse.

In what way does re-licensing their most popular packages make it worse? It says they're evaluating. Doesn't say no and as demonstrated here it doesn't mean they wont change their mind later.

What more is there to evaluate, though? What is different between React, which did get the relicense, and React Native, which didn't?
You didn't interpret my comment correctly. What is worse is that the narrowly selected range of projects to re-license is intentional rather than unintentional. They're only fixing the patent clauses on the bare minimum that they feel is necessary due to outrage. That means that they'd rather not but they're being forced into it. It'd be different if they were deciding to re-license everything; that might indicate an actual change of heart.
What worries many is that they may change the license at a later
It creates continued uncertainty. If all the tools/libraries in the React ecosystem (such as React Native) don't all have the license, then we will probably stay the course with Vue. While Vue is amazing, React has a larger ecosystem. But if that entire ecosystem isn't available due to licenses then we might as well stick with Vue.
Of course its intentional, unless you truely thought they forgot about React Native.

The common thread here is that these libraries are often used together - changing React's license wouldn't have helped if they're also using Flow and Jest.

They said they're evaluating those. Facebook has to consider the impact of each library on their patent portfolio. They may not choose MIT for some of them. Maybe they'll go with Apache v2 for React Native. Let's relax. They're making the right moves here.
I don't think it's fair to claim that it wasn't "truly open source". There isn't just one "truly open source" license. There are several. They obviously aren't all the same, that's why they are different licenses. People might have a reason to prefer one to another, but they are all "truly open source". People might even realize that there are some of them they can't use -- _many_ people have reasons they can't use the GPL, but that doesn't make it "not truly open source".

The Open Source Initiative's definition of "open source" doesn't say anything about patents: https://opensource.org/osd

I don't know if Facebook has asked the OSI to validate their "before" license as "open source." Perhaps if they did it would be controversial (or perhaps not), perhaps it would lead to OSI making more restrictions on what it will call 'open source', I dunno.

One version of a "BSD+Patents" license is approved by OSI, but not one involving a "retaliation" clause. https://opensource.org/licenses/BSDplusPatent

Anyway, I don't think you have any grounds to say that license was not "truly open source".

How are patents at all aligned with "truly open sourcing"? The GPLv3 is openly hostile to patent litigation:

"and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it"

The whole fight here is about patents, not about open source. Perhaps Facebook's solution to nuking patents was too crude, but it had nothing to do with "open source" vs "closed source". The whole issue here is whether you could still use your patents against Facebook, something orthogonal, if not outright hostile to open source.

The author of this Facebook Engineering post confirmed that React Native's license currently is the same as it's always been: https://twitter.com/dmwlff/status/911348886882607104. I don't want to get into a big discussion about precise details here but pragmatically both the MIT and Facebook BSD+Patents licenses work well for most businesses, in particular those that aren't seeking to claim patent infringement against others.
I may not intend to go suing FB for patent infringement, but if they infringe on one of my patents, or if they sue me for patent infringement, it's really my only recourse.
You're probably already infringing on several Facebook patents. They bought a $500 million war chest of them in 2012 after getting sued by Yahoo. Many of them were from AOL and probably cover really broad concepts that we're all infringing upon. Let's not forget Amazon patented "one click checkout". Ok software patents are ridiculous. They always have been. The patent system was not built with something like software in mind.
> if they infringe on one of my patents

Well, the implicit assumption behind FB's bsd+patents license is that you should be ok with anyone "infringing" on your software patents, since software patents are mostly bullshit and you only acquired them to be used in defense (i. e. never suing someone first). That license doesn't make any sense if you believe otherwise.

Well, the React PATENTS file seems to indicate that you would lose the patent grant for any patent assertion against Facebook,[1] not just for software patent assertions against Facebook. So, it's theoretically possible that the poster in the parent comment was concerned about a patent on something other than software. Maybe he or she has patented some type of VR headset, for example, and uses React VR for the software that drives it. He or she might reasonably worry that suing Facebook for infringement on the VR headset would result in the loss of patent protections concerning the React VR software.

[1] The language I'm thinking of is the part that says that the license terminates if you initiate "any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates, (ii) . . . "

IANAL, etc. This is indeed a very problematic bit. I'm not sure if it is even possible to restate that patent grant in such a way that the termination clause would apply only to software patent assertions and simultaneously keep the text sufficiently unambiguous.
I agree that it is a legitimate concern if you believe that only software patents are a problem but want to keep your other patents available.

They probably left it this way because there is no legal definition of a "software patent" - they cannot differentiate between those and "other patents". It's not like "other patents" are all sunshine and rainbows either - the patent system is fundamentally broken.

Unfortunately lawyers don't care about pragmatics :-(
Yeah, that is a downer. I'm going to wait and see what they decide to do about React Native before asking my company's lawyers if we can use React now.
Well, everyone that didn't want to use react, didn't use it because of the license, so I guess now these people will be happy too. Good news.
Except not all the pieces of the React ecosystem are changing license, so... we'll probably end up staying with Vue.
Which parts do you rely on that haven’t changed it?
(comment deleted)
If we were to move to React, one of the main things we would want to use is React Native. But our lawyers have forbidden us from using any of the Facebook technologies licensed under the current licenses.
This is a very smart move by Facebook, and a win for the open source community as a whole. Why it took so long for the license change is a bit of a mystery, but removing the complications of software patents from their licenses will help further drive adoption and remove the precedent they were in danger of setting.
> Why it took so long for the license change is a bit of a mystery

Have you ever worked at a large company with its own legal team? It's not such a large mystery.

I guess you haven't seen the Facebook projects where the patent grant was dumped after a handfull of people asked nicely. There it was more of a "Yeah sure, why not?" by the maintainer without much input from the legal team as it seems.
> Why it took so long for the license change is a bit of a mystery

Big organizations require more time and people to reach consensus at different hierarchical levels. Probably the legal department was the bottleneck.

I suspect it also took time for the mounting discontent and for the number of voices to reach some kind of tipping point which then caused Facebook to begin the internal process of re-evaluating their licensing.

Either way, it's a good move.

> a win for the open source community as a whole

I'm not sure how changing course from a direction that could have neutralized patents, to one engineered so patent aggressors aren't hurt, is something that can be considered a win for the open source community.

Because their licence gave Facebook the upper hand if they wanted to come after you.

MIT is like a standard when it comes to OS. At big companies, complicated licencies are very hard to get approval of.

> Because their licence gave Facebook the upper hand if they wanted to come after you.

No it didn't. Facebook made a nothing-up-the-sleeve showing; you had recourse if they decided to "come after you", because your right to countersue was something that was explicitly protected in the PATENTS grant.

Removing the grant, on the other hand, contributes to a world where everyone else can come after you. That should be scarier, because the set containing entities who aren't Facebook is much larger than the set of entities who are. (And the latter set is much less likely to sue—virtually guaranteed not to sue, even—for the exact reason mentioned above.)

Wasn't the issue not "if they come after you" but "if they pirate your tech without suing you"?
(comment deleted)
When you use the loaded term "pirate your tech", you mean "infringe your patents", right? The thing that the clause is trying to neutralize?

This is why Facebook's move to neutralize patents failed - everyone's suddenly in love with their own patents, even if they agree that the system is broken.

It was a good idea to scrap the clause to prevent the community from fracturing, but there's no triumph here - they failed to convince people that patents were a scourge to be eliminated.

If that was Facebook's intent, they could have worded their license in a more reciprocal way.

"We grant you a right to use all patents we have covering this work.

[1] If you sue us regarding a patent you claim covers this work, we revoke your right to use all patents we hold covering this work.

[2] If we sue you regarding an unrelated patent, you retain your right to use patents covering this work for purposes of this work.

[3] If you sue us regarding an unrelated patent, you retain your right to use patents covering this work for purposes of this work."

The entire point of people being annoyed about this is that Facebook specifically didn't include the [3] grant. Consequently, this was more about Facebook attempting to use React's popularity to make themselves immune to patent litigation (as anyone relying on React wouldn't have been able to sue Facebook for any patent without losing the React patents grants).

I work for a company with at least one lawyer dedicated to IP law and we thought about this long and hard. What it does is potentially make t prohibitive to sue FB if they violate our patents. Since we have hardware patents and they have hardware, it was distinctly possible that this could be a real problem. We decided to proceed anyway but we know we are risking something. And you can say patents suck and we shouldn’t have them, but our hardware patents represent decades of R&D that wouldn’t exist if we didn’t have patent protection.
(comment deleted)
This is a win for fans of the mentioned packages. This license lives on in other facebook packages.
> Why it took so long for the license change is a bit of a mystery

Be careful. Facebook hasn’t said they’re removing the patents override completely. All they’ve said here is they’re changing their licensing, not what they’ll do. They may end up with BSD+Different patents grant. Make sure you check the changes next week. I doubt it will be straight BSD or they would have said it.

The article straight up says these repos are moving to MIT
There was a graphql Patent grant issue as well.
Why not Apache 2.0 though? That would have been a logical choice.
MIT license doesn't contain any patent clause. So it is the same as BSD + Patents with patents part revoked. Thus, in theory, FB can still have a case on patent over React even if you use the source with copyright grant.

Apache 2.0 has a patent grant from my understanding.

This is all so complicated, and there's so much conjecture and uncertainty from the community. Engineers interpreting legalese is a bad idea. We need impartial lawyers to explain each of these licenses in plain English, including the ramifications and side effects to consider, and put the debate to rest.

This has all been so tiring.

Yup. There’s going to a lot of self congratulation going on in the comments but basically all this has done is remove explicit granting of patents.

Like... ok, great, better really hope you never get into legal issues with FB now

> basically all this has done is remove explicit granting of patents

If that were true, then why would they write all those blog posts saying that the BSD+Patents was "for their protection". They even repeated it here. It's pretty clear that the patent grant was asymmetric, but not in the direction you're suggesting here.

Oh it works both ways. It's the opposite of the Apache 2 grant for example (which is extremely liberal, and I like it) but that's also exactly what you'd expect from many large companies.

There's a reason that BSD/MIT is preferred by companies vs Apache 2 (which has been adopted, yes, but much less). It's because - just like here - it preserves all their patent rights.

So yes, you now have less protection but FB has just the same if not more.

Don't get me wrong: the patents grant wasn't a great solution but it solved specific problems and concerns on both sides that BSD by itself doesn't even try to address and alternatives (like Apache 2) only address half of.

Apache 2.0 has a patent clause going in the opposite direction of what they were originally trying to do. That's probably why they didn't use it.

For what it's worth, the software that I'm developing at a Big 4 is released under the Apache 2.0 license.

(comment deleted)
(comment deleted)
Why pick a license with much more legalese? MIT is pure OSS love, no BS no need to hire a legal team. You just use it. I love the MIT license.

Why would you have preferred the Apache 2.0 license?

That was incredibly unexpected. Facebook may very well end up in the majority's good graces with this move. I wonder how some of the bigger players will react (no pun intended) after their abandonment of React in lieu of Vue or some other framework. Interesting times indeed.
perhaps making a big deal out of it on mainstream media made it less unexpected? Odds are, it was a data-driven (shift in hype/marketshare) decision.
(comment deleted)
>Facebook may very well end up in the majority's good graces with this move.

Really? They are doing the minimum possible to prevent an exodus from their stack after a public outcry.

React is pretty popular already. FB only really needs to change the license to keep the growth.
Exactly.

React would have been fine, but to say the big players jumping ship didn't matter is just wrong.

There was no sign of an exodus. That’s ludicrously hyperbolic.
An HN thread with a dozen responses? Hardly an exodus.
A quarter of all websites? An exodus.
(comment deleted)
Those websites weren't leaving, they never arrived..
They were close to arriving but they backtracked, all 25% of them. I'd call that an exodus before you even arrive.
You can't die if you were never alive to begin with
And yet a project can die before it's born
If that's the definition then let me tell you about my exoduses from almost every country on the planet...
...of sites that posted on HN.

Projects that I work(ed) on that use React have no plans to switch away and aren't represented in that 25%.

That's not what I meant.

25% of sites on the Internet run WordPress. WordPress was rewriting its editor in React, but decided to switch away due to BSD+Patents.

Right so even then, its a bit weird to say that 25% of sites decided to not go with React, but actually 25% of sites (unknowingly) use software that decided not to go with React.
You're splitting hairs to reduce the significance of WP's stance.
No, he's not. He's pointing out that calling it an "exodus" implies that many individual projects have decided to abandon React. In this context WordPress is just one project, not "25% of all websites".
WordPress runs 25% of all websites. That is huge. You're trying to trivialize it as being "just one project" when it's really one of the most widely used and significant projects out there. One decision that WordPress makes is worth tens of thousands of decisions from much smaller projects that aren't used very widely. WordPress is a many billion dollar a year industry in itself, and whether it uses React or not will directly contribute to many thousands of web developers out there learning it or not.
All of that is true but that's not what we're talking about here. We're talking about individual projects who decided to abandon React -- not the influence of said projects.
You are trivializing the difference between "using" and "choosing". One is transitive, the other is not.
I'm saying that it doesn't much matter. WordPress is the largest player in the web platform ecosystem. The choices they make have huge consequences. Them choosing to use one library over another directly contributes to thousands of more developers using that library. The choice doesn't need to be transitive because developers using the platform don't have a choice of library -- they go along with whatever the platform people are using.
Nobody is disagreeing with you, you're just talking about something different than everyone else in this thread.
Does the decision to use React or not affect end users? Each WordPress site is not making an independent determination.
(comment deleted)
That's a strange claim given how many major projects have appeared on the front page of HN because of it, everything from the Apache foundation to Wordpress.
> everything from the Apache foundation to Wordpress.

Those were the only two.

We get it, React would have been fine with out them.

But it did matter.

It set a strong precedent.

WordPress accounts for something like 19% of all websites, more so than any other single platform. Do not underestimate the importance of their decision.
A bit higher, according to those who monitor these sorts of things.

Some 28.7% of sites use Wordpress.* Curiously, I've seen the 19% number being cited as 19% of all new websites use Wordpress. I'm not sure how 19% becomes 28.7%, but it may just be that sites using WP stick around longer.

* https://w3techs.com/technologies/details/cm-wordpress/all/al...

Drupal was also close to picking a new library to replace or supplement Backbone, and React was just dropped out of the running (with a strong favor for Vue) a week or two ago.
Only 2 that you know of. I work for a Fortune 150 company and we settled on Vue almost solely due to the licensing issue.
I too work for a Fortune 150 company and we've gone all in on React.
I'm told that one reason companies might have chosen to avoid React was that they could have imagined themselves be in competition with Facebook at some point, and thereby in the danger zone with their old BSD licence.
They explicitly said in their FAQ that you could use React even in direct competition. None of this matters now, of course, because it's been relicensed. The only impact the patents license ever had on anyone was iff they initiated a patent lawsuit against Facebook.
Would the previous license have become relevant if Facebook initiated a patent lawsuit against you?

Even being on the back-foot when having to defend your patents, by refactoring React out of your application, was apparently damning enough for people to migrate.

The point is that if you're in direct competition, the chances of Facebook violating one of your patents is much higher, and then your cost of suing them is significantly increased (since you also have to rewrite your app).

If you're ok with trusting a direct competitor not to misbehave, then sure, use React under those terms while competing with FB. But large companies consider their patent portfolio to be a significant strategic asset, so it shouldn't be surprising that their legal counsel advises against accepting such a clause.

Yeah, obviously not all lawyers see eye to eye.
You must have missed a lot of news. A personal example: in my company we were comparing React vs Vue internally and the hint of licensing issues committed us to Vue.

This Facebook post gives us hope for GraphQL moving away from BSD+, as it is currently in our stack, but without doubt we are considering a move away due to uncertainty.

The same thing happened at my company (Fortune 150 company). We settled on Vue too, and it has been amazing. But if this had happened back when we were considering things we probably would have gone with React.
Same here, this conversation is happening right now since we've built a pretty large application using React. I would much prefer to use React so this couldn't be better timing.
>In the wake of uncertainty about our license, we know that many teams went through the process of selecting an alternative library to React.

Evidently FB saw enough people leaving to prompt this change. No doubt they were also afraid of an exodus of their internal developers on these projects. High-profile developers will move on to companies where they know they'll have greater impact if that's seen to be at risk.

Huh? Where have you been for the last month or two?
(comment deleted)
This. FB is intentionally leaving a ton of their ecosystem with the PATENTS virus.

Theorizing, but I suspect FB will begin targeting and picking off IP of apps built entirely on React stacks in a few years.

Please don't go back to them. Just contribute to Vue's ecosystem like crazy. Worst case scenario it'll keep FB in check.

there was no exodus, React is the number one javascript framework in the job market in Boston and probably other tech hubs too
>I wonder how some of the bigger players will react (no pun intended) after their abandonment of React in lieu of Vue or some other framework

Competing frameworks will now need a new "Reason #1 to use us instead" for their pitch-decks.

Yeah, we've already settled on Vue (because our lawyers forbade us from using React), but now I'm sure they would approve React. So... do we abandon our work on Vue (which so far is amazing) to switch to React since the React ecosystem is so large, or do we stay the course? Sigh. I wish Facebook had made this change a year ago.
I would stay with Vue. While the react world is bugger it's mostly made up of competing solutions instead of distinct tasks.

That said, this healthy Vue/Angular/React competition has been great for us devs.

"great" is relative to how much free time you have evaluating all the various alternatives and finding the bugs/missing use cases nobody cares to tell you about up front..
> the bugs/missing use cases nobody cares to tell you about

In the case of fewer frameworks, you would still have these. Arguably more due to lack of competition.

> evaluating all the various alternatives

Pick one of the "Big 3" above. You'll be fine. Largely due to the previous point.

I agree that competition is generally good, but I hate choices so much. I don't even care if Vue is 10 times better than React, I've just spent the last year diving into React and React Native. I've finished 3 big projects and now I'm feeling more confident. And now I get the feeling that I have to throw out a whole bunch of experience and switch to the next big thing.

I think I'm going to dig in my heels this time. React is fine. It's more than fine, I absolutely love working with React, Redux, redux-saga, redux-observable, and a whole bunch of other libraries and patterns that I've finally begun to master after over a year of headaches and frustration. I'm not going to switch to Vue, not even for my next side project.

I didn't personally care about the BSD+Patents license, but you definitely have to keep your eyes and ears open with backlash like this. Even if I think it's a total issue, it might affect my ability to hire employees or even sell my company. So I'm really glad that React is now released under the MIT license.

> over a year of headaches and frustration

Seems like an argument against the react ecosystem

A thousand times this. We'll know the JavaScript UI toolkit has started to mature when we can pick up a new tool and not have to abandon all of the other tools we already learned and spend a year getting on our feet in a new "ecosystem".
Don't get me wrong, it was the good kind of struggle where you grow and push yourself. Like going to the gym.

It was the same as any other programming language, framework, or ecosystem. Exactly the same as my experience with Ruby on Rails when I first started doing web development.

I don't think anyone's really claiming that Vue is a 'next big thing' to switch to from React. Vue/React/Angular are all competitors of the same generation.
If you don't mind sharing, what problem did you have before that was solved by adopting React? (I'm not referring to React Native. It's obvious to me what problem that solves.)
The main thing is having the state flow top-down through your app, so you never have to worry about manually keeping things in sync in the UI. Redux and redux saga have really taught me a lot about programming, and then RxJS and redux-observable completely blew my mind.
I've never found manually keeping things in sync with the UI to be overly burdensome. I guess I've just been lucky.
Many things going forward will happen in reacts petri dish. Lots of ideas seeking to get consensus like the evolution of styles, animations, native performance, async scheduler, easy-to-create native renderers. Vue is nice and all, but it's rather complacent, catering to old Angular-like roots and web artefacts. If you believed the hype then Vue was supposed to be the be-all-end-all of frameworks, the reality of course is quite sober: http://www.npmtrends.com/angular-vs-react-vs-vue-vs-@angular...
The point has been made before that npm downloads are a poor measure of framework popularity because the architecture of the framework and the typical distribution channels can skew the number of npm pulls in a way unrelated to the number of projects utilizing it.
These numbers track actual, daily usage in production environments. You can't explain these numbers away, not if they're both competing in the same field. Both are distributed in the same way (npm, unpkg, various cdns), both websites show you how, both do not need build tools to function, both are better off with build tools. It would be pretty disingenuous to claim suddenly the only actual numbers we have are skewed.
I don't understand the link. We don't get Vue from NPM. I assume others don't either. That implies to me that the numbers implied in that chart are inaccurate at best.
Why do you say the statistics are inaccurate. They show a clear picture, actually the clearest we have, because if it weren't for actual usage stats we would have to rely on github stars, google trends and hear-say. Both react and vue release through the same channels, npm and cdns. Of course npm is the more important channel for modern environments and businesses. The point is that they both are subject to the same rules. The portion of users that like script tags use script tags with react as well. Those would fall out, but that happens on both fronts obviously.

The comment i made above, that most things going forward will happen in the react eco system, is supported by these statistics. If you have lots and lots of vue users that are still using script tags, and let us - without any data to confirm it - assume that there are less react users doing this, then that would speak volumes about the userbase at large, not the most forward leaning to say the least.

Out of curiosity, what stage is your company at that your lawyer has an influence on your tech stack? Was this part of due diligence for fundraising?
Um, I work for a fortune 150 company. I'm not sure what stage that makes us, but we definitely don't do fundraising ;-)
No way! Vue is way better than react. Ok, it depends on personal opinion, but I think it’s s much nicer framework to work with.
I... well, I kinda expected it. Facebook wanted their products to be used, but it was obviously their legal department that made them put the patent clause in. The more people who develop using their libraries, the more contributions they get back, and the more benefit they get from it.

I almost guarantee you none of the devs wanted that weird-ass patent clause in there, but I'm guessing that none of them thought that it was a big deal in the long run, just CYA shit you'd expect from a legal department.

They were proven wrong, and it impacted their market share, they raised a stink about it and they got it changed.

> I wonder how some of the bigger players will react (no pun intended) after their abandonment of React in lieu of Vue or some other framework

What do you expect them to do, shrug and come back? I doubt anyone who left based on concerns with their stack being owned by Facebook is likely to regret weaning themselves off of it.

The react ecosystem is massive, and includes impressive projects like the various backends/renderers: react-native, react-sketch.app, react-vr, react-pdf, ink, that have no equivalent in other frameworks (or at least to nowhere near the same level of maturity), so yeah people ditching it may well regret it.
As I see it this shows that you can't trust Facebook. And that Mark still is the same dude that once said "They trust me. Dumb fucks".
Good move by Facebook. This is highly appreciated.
(comment deleted)
(comment deleted)
But would using those libraries infringe upon any patent of TheFacebook?
React Native would be a notable omission, unless it's included as part of React.
Kudos to Facebook and the React community for prompting this change, this was the right move.
(comment deleted)
Wait, so they're replacing a license that has a dodgy patent grant that everyone distrusted, with a license that doesn't have a patent grant at all? Why not Apache?
Yeah, exactly, what does this actually accomplish besides putting the user in a worse situation where they are no longer given any sort of patent grant?
At least it might give the louder parts of the community that have been consistently complaining about this issue a good reason to stop shouting quite as much
Because an unspecified parent grant is most likely an implied patent grant, and especially for FOSS there is a very strong case since your are explicitly permitted to study, modify, and use any part of the code.
Probably because they have no patents that cover the concepts these libraries introduce. Perhaps wit some of the others they will go Apache v2. People have been so worked up by the FUD that Facebook can't even relicense under MIT one of the de facto open source licenses without being met with suspicion.
> Probably because they have no patents that cover the concepts these libraries introduce.

Apache 2.0 certainly doesn't require you to have patents in order to use it ("applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s)")

They have the patent: https://www.google.com/patents/US20170221242. Just MIT is a good option, I don't really understand why they don't want to "fix" the patent grant to be like Apache 2.0 or Google's. Why relicense everything when fixing 1 sentence would fix the problem completely.
To quote a comment in a similar thread, apparently there's such a thing as an implied patent license:

Implied patent licenses:

https://www.wilmerhale.com/pages/publicationsandnewsdetail.a....

https://copyleft.org/guide/comprehensive-gpl-guidech7.html

Basically, if you sell or license a product that requires a patent to work, courts have generally held that you grant an implied patent license for any patents that the product might require. If you explicitly reference patents within the license, however, then whatever terms you explicitly write into the license supersede this implied patent license. BSD+patents (and Apache 2) have explicit patent language; paradoxically, this makes them more restrictive than licenses like MIT, BSD, or GPL that don't mention patents at all.

Seriously, big thanks go out to Wordpress. They're no small part of this win for Free Software.
(comment deleted)
Well...now back to writing code and shipping things...we can all put our irrational fantasies of patent litigation and being "unacquirable" startups due to React to rest.
It's not irrational when your companies lawyers say that you many not use React due to the licensing, and there is a very real chance you will be terminated if you do. Unless you mean that lawyers are irrational, in which case I would agree (throwing in judges and politicians and anyone else in the legal profession while we are at it).
Lawyers do what they do at the behest of their clients.

If you want to blame someone for the litigious culture in the US, blame John Q Public and the corporations he works for.

With the old patents license, you had to be the one to initiate patent litigation with Facebook. The odds of needing to and wanting to get into patent litigation with Facebook are way less than 1%. That's an irrational fear. If something has a 1:100,000 chance of impacting you...I dunno man, when it comes to startups I can think of 1000 other things more likely to affect you. Companies that didn't even have patents were getting up in arms about this. It was quite a bit of irrational FUD. Even Wordpress's lawyer didn't have a problem with the license. They were just tired of fending off the FUD from their user base.
I don't work for a startup. I work for a Fortune 150 company with nearly 100,000 employees.
I love HN, and I hate to risk my account, but I'm tired of responses like this.

You're being an asswipe. There is no reason for you to respond this way. The lens upon which you view the world must be pretty god damned shallow to make these kinds of statements. If you want to be a fuckstick and reply like this, please find another community.

(comment deleted)
Something about pots and kettles, and a plank in one's eye...
(comment deleted)
(comment deleted)
Agreed. Thank you for saying something.
i hope you're willing to say what the problem is, rather than simply name-calling.
If you love HN, you shouldn't be damaging it like this. Every time an established user behaves badly they give license (pun intended) to new users to degrade the site further. That's seriously not cool, regardless of how wrong some other commenter was.

The last way we want people to be defending HN, even against perceived assholes, is by being assholes themselves. Would it really have cost you to make your point substantively?

I guess I can adjust my tone. I have never heard of a startup being turned down for acquisition due to their front end framework of choice, but that became a fear that was legitimately passed around over React. It was irrational, in my opinion.
apparently concern trolling really can change the world!
You're right that this ultimately may only be relevant in a tiny number of cases, but there's no reason to take the risk that your case will be one of the unlucky ones. There are plenty of good React alternatives that don't carry that risk.
I doubt it was related. The wheels to get this in motion must have started months in advanced, probably around the time ASF started advising against this license (labeling at as Category-X [1])

[1] https://www.apache.org/legal/resolved.html#category-x

In a statement from Facebook on August 18th, 33 days ago[0]:

    We have considered possible changes carefully, but we won't be changing our
    default license or React's license at this time. We recognize that we may lose
    some React community members because of this decision. We are sorry for that,
    but we need to balance our desire to participate in open source with our desire
    to protect ourselves from costly litigation.
Given that they apparently didn't think it was a big enough deal then, and what changed was Wordpress, I don't think it's incorrect to give them some credit.

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

If I had to speculate, I'd suspect that even though they reaffirmed the BSD+Patent license publicly, FB probably started exploring the possibility of relicensing the projects shortly after that. Not to say WP saying they wont use react didn't help, but I don't think it was the "tipping" point for them at all.

Legal matters at big companies generally take months to resolve and come to consensus over. I can easily imagine their legal team evaluating all such scenarios that a change in license could hurt them (as they should), and that kind of research isn't something done in haste.

>Legal matters at big companies generally take months to resolve and come to consensus over.

Sure, at your typical big public company. But Facebook voting control is firmly in the hands of Mark Zuckerberg, and he doesn't have to wait for approval of a board of directors. Just like when he decided to buy Instagram for $1 billion in a matter of days. If Mark detected developer sentiment shifting, he can move just as fast as he wants to stanch the bleeding.

> If Mark detected developer sentiment shifting, he can move just as fast as he wants to stanch the bleeding.

how is react's popularity at all material to facebook's interests? at best it means you get more outside contributions, but you already have plenty of talent internally.

Having popular, high-profile open source projects helps Facebook attract more and better talent in three primary ways:

First, it increases the likelihood that the average programmer already is familiar with the tools they'd use at Facebook. It's useful for them to be able to hire people who already know React, Reason, etc. On occasion, they'll manage to find highly talented developers who either contribute to their projects or build useful related projects, and then they can make those people an offer. Even better, sometimes that's an entire startup they can acquihire.

Second, it increases the prestige of a job at Facebook. Most of the core public functionality of Facebook isn't particularly interesting to me, for example, but the stuff they're doing with OCaml is. The chance of me working there is still essentially nil but it's definitely less nil than it would be if I didn't know about projects like that.

Third, it gives them something really valuable to offer skilled devs -- the ability to become widely known and respected for your contributions to a popular open source project. That's worth a great deal to some people.

Software companies are all about lock-in, controlling the platform, making sure they have control of as much user and dev attention as possible. At Facebook's world-eater size, the better question is "Why should we not seek to dominate this element of the development platform?"

I can't pretend to know the exact rationale behind Facebook's decision to open-source React, but there are several things to gain from controlling a major piece of the web infrastructure: influence/clout with browser vendors (decisions that may negatively impact React's performance now threaten a huge percentage of the web, not just Facebook.com), the ability to introduce more and more Facebook-controlled technology with something like React as a shoehorn ("You liked React, try Flow..."), PR benefit/good vibes, and so forth.

Platform control is the real showdown among big software companies. It makes your company downright inextricable. Just ask Microsoft.

If I had to speculate, I'd suspect that even though they reaffirmed the BSD+Patent license publicly, FB probably started exploring the possibility of relicensing the projects shortly after that.

If I had to speculate, I'd say they did a ton of research on existing licenses on the route to BSD+Patent, and they already knew what the best alternative would be if it came to that.

Oh sure, a framework used on a quarter of the web might have had something to do with it, but actually it was my Hacker News comment the day after the Wordpress news, that put the final, decisive nail in the coffin. It captured so many people's hearts and minds, it ended up with seven upvotes ...and still counting. 1, 2, 3, 4, 5, 6, 7. Yup, 7.

You're welcome everybody! And thanks for the assist, Wordpress!

https://news.ycombinator.com/item?id=15254977

Hacker News does have an impact. Not any one person, but thanks to HN, things like this go viral in the tech community pretty fast.
I disagree. I think it was entirely related. Facebook could likely put up with a few dissenters here and there, but a major defector such as Wordpress is a canary: they likely feared that this would be the first domino to topple React's supremacy.

FB: "...we know that many teams went through the process of selecting an alternative library to React. We're sorry for the churn. We don't expect to win these teams back by making this change, but we do want to leave the door open."

This can seem like a response to the community at large, but can also be read as a direct response to Wordpress' comments:

WP: Automattic will also use whatever we choose for Gutenberg to rewrite Calypso — that will take a lot longer, and Automattic still has no issue with the patents clause, but the long-term consistency with core is worth more than a short-term hit to Automattic’s business from a rewrite. Core WordPress updates go out to over a quarter of all websites, having them all inherit the patents clause isn’t something I’m comfortable with.

Now if someone (i.e. an Actual, Impartial Lawyer) can explain if changing to MIT actually changes anything.

EDIT:

As others have pointed out, FB reaffirmed its decision to maintain the patents clause on Aug 18th (33 days ago): We recognize that we may lose some React community members because of this decision. [1] But they change their minds 8 days after the Matt published the On React and Wordpress article.

This pretty much proves that the decision to move to MIT was heavily influenced -- or perhaps in direct response to -- Wordpress' decision to ditch React.

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

> This pretty much proves

I believe the wording you are looking for is "strongly implies", because that's all it is, an implication. There is no proof. (and not even a boat to be seen ;).

You're right. "Proves" was the wrong word.
Shot callers; they exist. Lawyers don't actually control these companies, they just have a wide berth.
What reason do you have for thinking it was a lawyer who decided in the first place. In my experience lawyers work on behalf of executives.
Agreed. Wordpress helped making it happen faster that's for sure.
Sorry, I'm confused, can you help me understand that blog post? I'm getting three messages from it:

1. We like React a lot with or without the license.

2. It's not our job to convince the world React's patent license is fine.

3. We're substantially moving away from React, including large rewrites.

...why are they moving away from React? I'm confused, do they believe using React implicitly supports it? They're already vocally supporting it.

I don't have an opinion or a dog in the race with regards to the React and patent license drama, but I legitimately don't understand why this blog post (or the underlying decisions) was written. In my opinion it feels like a huge deal to decide to rewrite a piece of production software, especially if you like the software already. So what am I missing?

Are they concerned that people won't use WordPress because it has React components? Does React's BSD + Patents license extend downstream like that?

EDIT: Thank you for downvoting me twice for asking an honest question folks...

FTA:

> I think Facebook’s clause is actually clearer than many other approaches companies could take, and Facebook has been one of the better open source contributors out there. But we have a lot of problems to tackle, and convincing the world that Facebook’s patent clause is fine isn’t ours to take on. It’s their fight.

My interpretation is that due to the negative publicity that Facebook has garnered with their license, they didn't want to scare people away from using/building on top of their platform by using their library even though they themselves did not have a problem with the license.

It's understandable how that might be the final straw for Facebook when even people who don't have a problem with their license won't use their libraries for that reason.

Thanks for that clarification. I interpreted that paragraph to be somewhat contradictory (“we like this but we’re moving away from it because it’s not our job to convince people it’s fine”). Your interpretation makes more sense and provides better color to it.
Yes. The way I read it, Facebook essentially shirked the issue, regardless whether it's only a perception problem, onto companies like Wordpress. WP has their own users, it's not WP's job to do FB's work for them, and FB has to have known the patents clause was going to be problematic, or at least controversial.
React has been out for 4 years now. This hasn't been this big of a deal. But I guess at this point, React has hit critical mass, and it's sort of becoming a standard for front end development, so the FUD hit fever pitch.
You seem to have other issues with the controversy, but remember that the impetus for discussion these days was the Apache Software Foundation not accepting BSD+P as compatible with its policies.
They feared that for example the Apache Foundation wouldn't use WordPress, and so with others.

And yes, the Patents part of that extends downstream to anything using it, that's the dangerous part of patents. It applies to everything that does that — even in independent implementations.

Fascinating, I didn’t realize it could become an existential problem for them. Thanks!
4. The license causes Fear, Uncertainty and Doubt for those considering our product. We (WordPress) do better by not causing this FUD for our customers.
> Does React's BSD + Patents license extend downstream like that?

Yes, why would it not?

I think the key point in that blog post is this:

"Core WordPress updates go out to over a quarter of all websites, having them all inherit the patents clause isn’t something I’m comfortable with."

It's one thing to look at the license and guess that it's vanishingly unlikely you'll ever be in an intellectual property fight with FB (and it sounds like the counsel Automattic consulted with came to that conclusion for Automattic).

It's another thing to make that decision for everybody downstream using software that you distribute. Particularly when that's a reaaaally large number of people.

I'm on much less solid ground in speculating about more, but it's often interesting to watch the contents of speech when people are working to assure you of something:

"One nice thing about this apartment is that it's very secure." (That's interesting. Why is it important that this apartment is very secure? Is the neighborhood not so much secure?)

"This guy we're interviewing here is not being interviewed for your position." (That's interesting. Why do I need to know that, manager?)

In the case of this post, between the lines I potentially see something like:

"Hey FB, we don't feel threatened by the license, and you know, he who writes to code makes the rules, like Linus says. You're obviously doing what's right for you, from your point of view, and we're sure you know what's best for you, and if you're doing right by yourself, do you need to even ask if you're doing the right thing?

You do you, bro. And we're sure you won't be mad that we wanna let everybody else be themselves, too."

Not sure it's there, I could be reading more into it than I need to.

(comment deleted)
Though I am a bit curious about why WordPress would need React in the first place. It's not like they're building a real-time app. Am I missing something here?
Wordpress has a pretty good JSON api that you can use with crud operations: https://wordpress.org/plugins/rest-api/

There's also already a theme that uses React: https://themes.redradar.net/foxhound/

With those two things you could build a pretty good web app. The only thing is you'd be in WordPress land and isn't glamorous.

> Wordpress has a pretty good JSON api that you can use with crud operations: https://wordpress.org/plugins/rest-api/

FYI: this shipped in WordPress 4.7 as part of the core software, and is now available on every WordPress site. (e.g. https://www.wired.com/wp-json/)

> The only thing is you'd be in WordPress land and isn't glamorous.

We tried to shield REST API users from much of the nastiness of WordPress' backwards compatibility (inconsistent field naming, date weirdness, etc), but yeah, it's still not perfect.

(I'm the co-lead on the REST API focus, happy to answer any Qs!)

Hey, I'm not a WP user, but I'm a huge fan of the work you guys do, and the impact you have. WP has done so much to bring the power of the web to the people. No questions, just thanks. :)
Yes, that React is really convenient for building practically any type of web app, not just real-time apps, and they probably want the slick and seamless user experience they can get by building a progressive web app in React.
React has the largest front end ecosystem short of JQuery. And it's a great declarative way of describing UI.
So, Facebook knuckled under to increasingly intense public and commercial pressure.

In this instance.

I don't think they should be particularly rewarded for this. I think we should keep in mind what it took to get to this point.

And that, absent such pressure, individual organizations and people, and perhaps our collective society, remain at their... "mercy?"

Remain under their thumb. Whether that thumb presses down this year. Or next. Or... we just don't know.

In other words, I'd remain cautious about whether and how far I move under their umbrella -- tech-wise, or other.

Thank them for what? I don't get it. It sounds to me that they just ran away from the problem. The problem in my eyes being software patents not the BSD+Patents license. But sure, thanks for being weenies.
So, sucks to be WordPress or are they coming back now?
Nice. Now if only Facebook changed their attitude regarding tracking and profiling of users, letting users be the "product", grabbing the attention of users with psychological tricks and fake news, then perhaps I'd consider using and supporting their open source projects.
Totally agree but this stupid slaves to the system actually vote you down and defend this deeply immoral crap of a company.