Wait, this doesn’t solve anything. They replaced BSD with MIT, which are basically the same license and then they removed any explicit patent grant. So this means the user is actually granted less rights then before.
Am I missing something or does this make zero sense?
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.
Furthermore, suppose you're some company like, say, IBM which figured out some way to say, safely double the energy density and recharge cycles of Lithium Ion batteries, which you have patented. Let's also assume that you are shipping some critical problem which is dependent on React. Facebook could now freely use your patented idea, and violating it left, right, and center, and if you try to sue them for violating that patent, you're completely f*cked.
So Facebook's idea works fine if you believe that Patents as a Thing are bad (all patents, not just software patents), and should not be asserted under any circumstances, and it's fine for Facebook to arbitrarily violate any patent of any company who has become dependent on React.
> and if you try to sue them for violating that patent, you're completely f*cked.
No, if you try to sue them for violating that patent, they can try to sue you for using React - if they actually have valid patents that cover React, that is. I doubt IBM's lawyers are breaking a sweat.
Why do you keep spreading FUD about this stuff even after Facebook withdraws the license?
Furthermore, this is all untested in the courts. Contracts and laws aren't really worth much until they're tested in courts. It's arguable that giving someone a license to use your code also gives them a license to use the patents that code uses. Kind of like how you're not infringing on iPhone patents if you buy and use an iPhone.
> Facebook could now freely use your patented idea, and violating it left, right, and center, and if you try to sue them for violating that patent, you're completely fcked.
Maybe, maybe not. You suing them over your patent would terminate you patent* license from Facebook, but not your copyright license. Whether that fucks you or not depends on whether or not you actually NEED a patent license from Facebook.
As far as I know, no one has actually found a Facebook patent that covers React.
> As far as I know, no one has actually found a Facebook patent that covers React
This would make Reacts PATENTS file a bluff (nothing to grant or revoke). I don't think many companies would be eager to base decisions on that legal theory.
The license granted hereunder will terminate, automatically and without notice,
if you (or any of your subsidiaries, corporate affiliates or agents) initiate
directly or indirectly, or take a direct financial interest in, any Patent
Assertion: (i) against Facebook or any of its subsidiaries or corporate
affiliates, (ii) against any party if such Patent Assertion arises in whole or
in part from any software, technology, product or service of Facebook or any of
its subsidiaries or corporate affiliates, or (iii) against any party relating
to the Software.
If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, 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.
If implicit patent grants are a thing, why have more modern licenses like Apache 2 and GPL 3 made it a point to include explicit patents grants in the language of the license?
Wouldn’t their legal counsel advise them against it if it was redundant?
Explicit probably saves a lot of time in court, and helps with global consistency. More importantly, Apache 2 and GPL 3 include reciprocal patent grants. They work similarly to the React patent grant, but unlike that one they go both ways. In the React one, only you lose access to the patents if you sue Facebook, but Facebook can sue you fine even if you contributed to React. Under Apache 2 and GPL 3, no one contributing to the software can sue anyone for patents infringed as a result without having their license revoked in its entirety (copyright AND patent).
I'm not well versed enough in the various licenses to compare BSD+Patents and MIT, but in my opinion, this is more of a move to appease the community than anything dealing with the benefits/disadvantages of the license being used.
You may be right that this might actually reduce our rights, however, the MIT license is well known and accepted by many in the developer community. It's been around long enough that developers know what they are agreeing to when they use something with an MIT license. With the BSD+Patents license, the biggest concern was not understanding what you were getting into when using React.
Facebook recognized this and conceded despite still believing in the BSD+Patents license to be better. So in that sense, this makes a lot of sense as it:
* alleviates community concerns
* builds up their standing with developers
* generates a lot of good PR
* draws attention away from alternative solutions which were getting a lot of publicity from all of this (Vue.js, Marko, Preact, etc.)
It would be nice though to have a lawyer chime in on the differences between BSD+Patents and MIT.
That's what all the Facebook & React folks were arguing. Facebook doesn't want to do unconditional patent grants. Plus, they decided that the weak patent retaliation clause in Apache 2 license wasn't strong enough. This new license is strictly riskier for people than the old license, but it's more familiar, so people won't freak out.
If there is an implicit patent grant, we have more rights. I think there is a strong case that the implicit grant exists, and would vastly prefer seeing projects licensed under MIT than under the Facebook license.
Apache 2.0 would have also been acceptable, as it had a better explicit patent grant. I'm actually a little surprised they didn't choose it.
The way I interpret it is, explicit patent license implies _less_:
- Explicit patent license specifies why / how it can be revoked.
- Without an explicit patent license, patent infringement case (by Facebook) against a party that uses Facebook's OSS would be become harder, because one may argue that such grant is implied by Facebook open sourcing the software.
There hasn't been a single patent covering a standard React implementation found yet. Someone found one that might cover a niche case, but the bottom line is no one really knows if any patents of any substance or having broad claims will actually ever issue.
That combined with the implied licenses means there was a patent clause causing a ton of unecessary hand-wringing.
The reality is every company of FB's size is patenting every developer's latest dump if it can get through the patent office.
Am I missing something or does this make zero sense?