What if there was no patent grant, and just the BSD license?
Then you have no patent protection in the first place! You are in the same situation as when the patent grant expired because you sued them. I don't see how this is any better.
You do not give them a license to use any patent. You are right that in practice the non-enforcement means that they can willy-nilly use your patents. But if we are arguing about factual ability vs legal rights - they can probably already to that, due to the fact that they likely have more money and better lawyers then you do.
You are in a better place though - because you're not the only react user. If indeed it turns out there are some submarine react patents facebook owns, with this patent license most other users can continue to work. Without the license, facebook then has the choice to either sue everybody (kind of unlikely) or to create the situation wherein suddenly everyone knows that they're infringing but haven't yet been sued, or to retrospectively grant the license (probably losing trust).
And if you do have the license - then what? It's still a react death-knell should any submarine patent appear; no large company is every going to agree to such an assymetrical deal.
Better to at least be left in the situation where it's likely in facebook's own interest to never surface any (so restrictively licensed) patents in the first place.
> no large company is every going to agree to such an assymetrical deal.
The thing is, if you just use react for something inconsequential, and can live with the fact that you have to cease using it when you sue Facebook, then it is fine.
You shouldn't base your business on Facebook's (potential) patents, and then attack them with your own patents - but that is true with or without the patent grant.
Of course, what would be great would be 1) a finer grained, symmetrical patent grant, or 2) a bilateral agreement between your company and Facebook instead of the patent grant. If you are big enough and have patents, you can probably negotiate something like that.
> You shouldn't base your business on Facebook's (potential) patents, and then attack them with your own patents - but that is true with or without the patent grant. [...] If you are big enough and have patents, you can probably negotiate something like that.
The chilling future effect, which I believe is the primary driver of op worries, is what if you build on React and are the next Facebook? (I.e. you are growing quickly to become "big enough" but are not yet)
Old Facebook now how a lot more leverage on you at several critical moments -- either in terms of making an offer, or in the negotiations around a more reciprocal patent licensing deal, or the aforementioned infringing of your patents, or the mere threat of either if someone else makes an offer.
The entire point of ladder kicking is to build a moat to ensure that others can't grow past you in the same way you did, and this is pretty effective at that (intentionally or unintentionally).
As you said, a more reciprocal, more finely-scoped patent balance would resolve these concerns. (E.g. "if you sue Facebook over a patent involved in React...")
Yes, you're right that "BSD+patent"+"revoked patent grant because you sued Facebook over another patent" is pretty much the same as just BSD from the start. Licensing software you know you have patents on under BSD only with no patent grant would be pretty awful, of course.
If Facebook wanted to be the good guys here they would license under Apache 2.0 or write their own symmetric patent grant. They already relicensed RocksDB after Apache's move, perhaps they will do the rest of their stuff too.
> "BSD+patent"+"revoked patent grant because you sued Facebook over another patent" is pretty much the same as just BSD from the start.
Not really. If you have BSD with no patent grants you can at least argue that there's an implicit patent grant. If there's an explicit patent grant which you violated/got terminated that defence is clearly not going to fly.
My understanding is that if a company open sources a patent protected code (with one of the standard open source licenses without any additional patent clauses), the company grants anyone the right to use the patented technique without any obligations to the company. Otherwise we would see many cases of code released on liberal licenses, such as MIT, that no one is allowed to use, unless they pay for the patents separately.
That's definitely not the case. Some licenses like Apache-2 explicitly grant you the use of necessary patents. Others do not. And there are projects which are absolutely covered by patents, yet the code is opensource. That was the situation with Gif and MP3 formats for years.
I was involved with an opensource project which got a patent application submitted by the company. Even though I pointed out prior art. And even though I refused to sign the application as one of the authors. That's corporate environment for you.
As far as I know GIF and MP3 decoders were made open source not by the patent holders, if the patent holders open sourced the decoders, would they be able to enforce the patent rights?
The license of an open source implementation is granted by the authors and allows you to make copies and derivative works, while a patent grant comes from the patent holder and allows you to actually use the software. They are two completely independent things.
Then you have no patent protection in the first place! You are in the same situation as when the patent grant expired because you sued them. I don't see how this is any better.
You do not give them a license to use any patent. You are right that in practice the non-enforcement means that they can willy-nilly use your patents. But if we are arguing about factual ability vs legal rights - they can probably already to that, due to the fact that they likely have more money and better lawyers then you do.