I agree, and that's what I was saying in the second paragraph (I've edited it a bit to try to make that clearer). This is definitely an improvement from that original language.
But I don't see how the original license was somehow worse than the open source projects that use the MIT or BSD licenses without any patent license, thus potentially allowing the patent owner to use patents against you offensively or defensively. (As far as I know, it is still unresolved whether the MIT or BSD licenses include an implied grant of patent rights, but at the very least there would be serious legal uncertainty.)
For one example, see the license on this Google project: https://github.com/google/trace-viewer/blob/master/LICENSE. No mention of patent rights, and unless you could successfully argue that there was an implied license, Google could sue a user for patent infringement for using this software (not that Google has ever used patents offensively, to my knowledge). So it confused me to see a Google employee complaining in the other thread that they weren't allowed to use Facebook open source software due to the limited patent grant. I'd be really interested to know more about this policy.
Some lawyers appear to think that such an implied license exists. I'm not a lawyer and I'm not qualified to speculate on how accurate that is, but see these examples:
I don't know what happened with trace-viewer; perhaps you could ask the developers?
In some cases, Google uses a BSD-style license with a separate PATENTS file. For example, here are the PATENTS files for Go [1] and Dart [2]. Apache 2 is also common and it includes a patent grant.
"(As far as I know, it is still unresolved whether the MIT or BSD licenses include an implied grant of patent rights, but at the very least there would be serious legal uncertainty.)"
It's not really unresolved. There are dreamers who believe it's not the case. For everyone else, it's clearly the case until proven otherwise. There is a ton of case law on implied licenses. To believe it would simply not apply to software when it applies to every other area in which there are patents, for some magical unknown reason is ... strange and weird legal thinking?
The difference between the two situations is that without the facebook patent grant they could come after you for patents you infringed upon. With their patent grant you were no longer allowed to use react when they come after you for patents utterly unrelated to react.
But I don't see how the original license was somehow worse than the open source projects that use the MIT or BSD licenses without any patent license, thus potentially allowing the patent owner to use patents against you offensively or defensively. (As far as I know, it is still unresolved whether the MIT or BSD licenses include an implied grant of patent rights, but at the very least there would be serious legal uncertainty.)
For one example, see the license on this Google project: https://github.com/google/trace-viewer/blob/master/LICENSE. No mention of patent rights, and unless you could successfully argue that there was an implied license, Google could sue a user for patent infringement for using this software (not that Google has ever used patents offensively, to my knowledge). So it confused me to see a Google employee complaining in the other thread that they weren't allowed to use Facebook open source software due to the limited patent grant. I'd be really interested to know more about this policy.