There's been a lot of discussion recently about the Facebook patent clause ("PATENTS" in Facebook repositories).
While most of the objections to the license have focused on the patent revocation provisions, most of the defense focuses on the patent grant. This has meant that both sides are talking past each other, and casual readers are getting confused about what this is all about.
The Facebook patent grant comes with a revocation clause. It is meant to protect Facebook from patent lawsuits in general. It applies to Facebook's patents, and therefore the revocation clause does not apply to Facebook itself (by definition). Your license to Facebook's patents in order to use the OSS is revoked if:
- You sue Facebook for patent infringement, or
- You sue someone for patent infringement for using a Facebook product or service, or
- You sue someone for using the OSS software
Notably, it does nothing to punish Facebook from suing other contributors for patent infringement, because again, the whole thing is a license of Facebook's patents to other parties.
In contrast, the Apache License also has a revocation clause, and it applies to patents from any contributor.
Your license to the patents held by contributors in order to use the OSS is revoked if:
- You file a patent lawsuit against anyone alleging that the OSS infringes on any patent.
This is intended to protect contributors and users from patent lawsuits from any source about the OSS, and doesn't protect any single contributor from the consequences of filing a patent lawsuit.
To recap, the Facebook license is unilateral: it does nothing at all to protect users from lawsuits by Facebook (the license doesn't cause Facebook to lose any patent rights when it initiates a lawsuit).
In contrast, the Apache license is bilateral: it protects users from lawsuits by Facebook by revoking patents granted by other contributors upon a lawsuit initiated by Facebook.
You might be thinking: why would I need to worry about lawsuits initiated by Facebook? Remember Oracle v. Google.
People also keep saying things like "It's just a grant. Would you prefer no grant at all? How would you be better off?"
This is, again, over-focusing on the grant rather than the revocation clause.
The point of the revocation clauses in both the Facebook license and the Apache license is to discourage certain behavior.
The Apache license seeks to protect the open source project and its users from lawsuits, and therefore protects users from the actions of contributors.
The Facebook license seeks to protect Facebook, and therefore doesn't protect users from Facebook.