Late Friday, Facebook announced it's finally giving in to pressure from the open source community and fixed its open source patent grant. While most people felt the intent was good and welcomed the original version of the grant, it was worded in such a way as to give Facebook a significant legal advantage in any open source community where it was the initiator.
While current versions of modern open source licenses, such as the Apache License, the Mozilla Public License, and the General Public License, all include coverage to patent rights associated with the copyrights the licenses cover, older licenses like BSD and MIT include no explicit patent grants. Facebook was following common practice by giving a full license to any patents necessarily infringed by users of code in Facebook projects that incorporated the grant under those licenses.
The grant includes termination clauses that are far more extreme than those built into open source licenses. If you make any patent claim against Facebook in any context -- no need for it to be in any way related to the project in question -- Facebook's grant eliminates your patent licenses to its patents and automatically makes you an infringer.
That extremity alone is enough to discourage large patent holders from collaborating in projects originating at Facebook. The original language even applied to defensive patent usage: If Facebook attacked you with its patent portfolio and you defended yourself by attempting to invalidate its patent claims, the original language invalidated all your patent licenses from Facebook.
Many people in the open source community -- already wary of the extreme and hair-trigger patent termination language -- felt this was going too far. What Facebook has done in the revised language is make an exception for defensive activities. That means you can now defend yourself against attacks from Facebook with its patent portfolio without exposing yourself to fresh attack for unrelated patent infringement.
The new language was welcomed by many commentators on Hacker News and will no doubt be welcomed in all the projects where Facebook is using the grant. While the language of the grant could still use tightening -- it could be interpreted to mean that code accepted into the project from third parties is not covered by the grant, for example -- the clarification is a great move. It may not be enough to get the biggest patent holders involved, but the rest of us are grateful. Thanks, Facebook!