Ask HN: Is it safe to use Facebook's open source projects?
There is a PATENTS file in almost all Facebook's open source projects with statements on "Additional Grant of Patent Rights".
E.g., React (https://github.com/facebook/react/blob/master/PATENTS)
Why Facebook adds this declaration on top of the BSD license of the software? Is it safe to use those projects in my commercial project?
54 comments
[ 3.4 ms ] story [ 112 ms ] threadhttps://news.ycombinator.com/item?id=8901357
E.g. if you so much as Tweet that one of Facebook's patents, even one entirely unrelated to React, is invalid, you've lost your license.
Compare this with the patent grant in the Apache license, as used in a library like Angular: https://github.com/angular/angular/blob/master/LICENSE
Here the license is only terminated in the event that you institute litigation alleging patent infringement by the software itself. You're still free to challenge shitty patents and call out companies about them. Not so with Facebook's license.
Can you give a license that says, words to the effect, that if one accuses you of a crime then the license is revoked? This would make licenses beholden to not report the licensor for criminal activities.
IPR infringements tend to be torts, which is different, but I'm still interested in how far you can push license terms before something in the law, USC here presumably, pushes back and says "woah, you can't do that".
Anyone?
IANAL, but he is, and this is his area of expertise (IIRC he runs the open-source program for Google).
The BSD license says nothing about patents, so this project is in some sense safer than a "normal" BSD-licensed project (but not an Apache, EPL or GPLv3-licensed project). The grant Facebook is giving you is fairly minimal but that's understandable from their perspective: they don't want to give you any extra patent rights, just enough to use the stuff they're actually trying to release.
It's not safe to use software in a commercial project. Facebook might hold patents on any random library you're using. Companies that aren't Facebook might hold patents on any random library or on React. You could develop a library in-house in a clean room and it could still infringe someone else's patent. Patents really suck that way. But React is in no more danger than any other code you might use.
EDIT: no more danger than any other BSD-licensed code. It would be safer to use code that has a less revocable patent grant, such as that in the Apache License, EPL, or GPLv3.
"A social networking system user may associate an emoji representing the user's emotional reaction with a content item presented by the social networking system. The user is presented with one or more emoji maintained by the social networking system and selects an emoji for associating with the content item."
[1] http://www.google.com.ar/patents/US8918339
That's right folks, they patented using the emoji to respond to content.
On the other hand, I think the patent is invalid because LINE predates this like a year or so.
That's pretty bad.
They say you lose the license if you make a claim "...that any right in any patent claim of Facebook is invalid or unenforceable." They also helpfully indicate what a claim means, and making an assertion counts.
Now why would they do this? My guess is that they wanted to have a legal tool that they could use to provide a chilling effect on any third parties who might volunteer information that is useful to someone filing a lawsuit against them. Which, if you are a lawyer, might seem like a good response to the demonstrated ability of groups like groklaw to crowdsource legal research. And if they were in such a lawsuit, that comment is exactly what Facebook would not want to see.
But there is no need to speculate. Their patent grant is quite clear, and the comment I pointed at is in violation.
IANAL, but, it is my understanding that if that's the case the patent wouldn't hold up to the novel requirement.
See "Carmack's Reverse" - where John Carmack independently developed an acceleration for robust stencil shadows, documented his discovery and then had to capitulate to Creative Labs who owned a patent on the algorithm from a few months earlier.
Not "anyone" could have them only people who have their details registered as patentees at the relevant patent office, eg USPTO or WIPO.
Patent claims are written in a legal way as they define the monopoly the patent protects, it's necessary not to use normal language as they must at once be legally precise and also define as broad a field to serve the patentee. Claims are drafted by, or for, the patentee.
The patent description must, in order to comply with the relevant laws, disclose the invention in a way that makes it possible for a skilled worker in the art to repeat the invention. If it does not the application should fail. Patent description must include at least one concrete implementation of the invention but the invention itself can cover many different implementations. The description needs to support the breadth of the claims.
Yes, practically - especially in the USA in the past - so-called submarine patents could surface out of the depths. If you're working in an area of technology you should be using patents both to advance your knowledge of the market and to ensure you're not in breech of other's IPR.
Your parenthetical remarks are entirely correct however.
Patent infringement isn't just a hazard of the software industry it's a part of how all technological industries work in countries that use patents (nearly all countries [may be all established ones?]).
As I've mentioned in another common, this is both false and a common misunderstanding, because most engineers are not familiar with implied patent licenses.
BSD normally carries one. So you do in fact, get a implied grant. By doing this you don't, you only get the explicit grant. The implied grant is normally not revokable unless the underlying BSD terms are violated, whereas the explicit grant is revokable for other reasons.
The reason people use explicit patent grants is to avoid getting into some unsettled law. Particularly, the sublicensability of implied patent licenses is not clear. The TL;DR of this is "the answer is clear if you get the software directly from person owning the patents. If you get it through someone else, like say, a linux distribution, it's not clear what happens". The related doctrine of "patent exhaustion" that plays into this is also not settled, and currently the subject of a Supreme Court cert petition by Cisco.
If you're going to worry about anything, worry about the squillions of open-source projects that don't include any patent grants. But you probably shouldn't worry about that either.
Are you certain that Facebook doesn't have any patents that cover any of its open-source software?
And in corporate world, that means any comment of any of your employees in an official capacity.
Edit downvotes, well maybe the text of the clause will help
> The license granted hereunder will terminate, automatically and without notice, for anyone that makes any claim ... by ... assertion or other action ... alleging .. that any right in any patent claim of Facebook is invalid or unenforceable.
> https://github.com/facebook/fbcunn/blob/master/PATENTS
There, I may no longer use their code :D
What if I merely live in the EU and thus implicitly agree to the laws in Europw. Does that fall under "other action" or would I have to explicitly state that I think their patents are not enforceable.
What if I have actively participated in the anti software patents movement? Do I have to single out specific Facebook patents for this clause to trigger or is it enough that they are caught in the general umbrella?
Edit: I'm assuming this is found on all the stuff they release and not just fbcunn? At least it's also true for react: https://github.com/facebook/react/blob/master/PATENTS
It doesn't matter. If their patents aren't valid where you live, you don't need their patent grant.
The way I read it I could be constructed as claiming their patents are not enforcable here and thus the grant would be revoked in countries where I'd need it (not here).
This is not correct — your license to use any patent of Facebook's that covers the software is revoked. You are still not infringing copyright on the software by using it, but you will no longer be protected by Facebook's patent grant, which is in addition to your license to use the software.
This is a boilerplate patent grant, and it doesn't mean that Facebook holds any patents on e.g. React.
To be clear, this parent grant is in addition to your license to use the software and as a result does not restrict your freedom in any way, versus the license not being granted at all.
Of course, all free software licenses involve some exchange of freedoms: You give up your ability to publish closed-source modifications of the software in exchange for being able to use and modify it at all. The question is whether the freedoms you are asked to give up are reasonable in exchange for what you gain. A patent grant that restricts your freedom to launch patent infringement litigation against other users of the software seem reasonable to me. Whereas a grant that is invalidated simply by alleging, through any action, that any of the original author's patents are invalid, does not.
They can 'come after you' iff you have accused them of that, and you are using their software in such a way that a parent of theirs is violated.
It's pretty straightforward:
- Facebook has released some open source software. In the case of React, it's under the BSD license.
- You can use this software however you want, in accordance with the license.
- In addition to granting you a license to use the software, Facebook has granted you a license to any patents they own that cover the software.
- There is no enumeration or claim that any patents do cover the software.
- Your license to use any hypothetical patent that does cover the software will be revoked if you make a claim—legal or otherwise—that Facebook has infringed any patent.
- At that point, you will no longer have a license to use any patent that covers the software.
- If you are subsequently using the software in a way that infringes one of their patents, Facebook would legitimately be able to claim patent infringement.
[0] http://en.swpat.org/wiki/Patent_clauses_in_software_licences...
[1] http://en.wikipedia.org/wiki/Software_patents_and_free_softw...
This is unambiguously safer to use than if they had released it under a vanilla BSD license. As for why Facebook did this, they're most likely trying to give away additional rights while still maintaining the ability to use these patents defensively, in the event someone sues them for infringing a different patent.
It's ironic that people are freaking out about this. If anything, we should be encouraging more companies to give away patent rights. Sure, it's not as broad as the Apache license, but it's a lot better than the default (nothing), and given some of the ridiculous patent lawsuits that have been brought against Facebook, Google, and others, I can understand why they'd want to avoid restricting their ability to use their patents defensively.
This is 100% totally and completely wrong :)
The BSD license normally includes an implied patent license.
It says " Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met .. "
This grants an implied patent license to the patents necessary to actually do this, as long as you meet the restrictions.
This is actually well settled law. You don't get to give people stuff unrestricted, and say "you can use this for free", and then say "just kidding, what i meant was, you can use this for free as long as you pay me for the patents"
However, when you do what facebook has done, and give an explicit license, you have overwritten the terms of that implied license, and you get no implied license.
So it is not only "not unambiguously safer", you are not "left with the same rights you had under the bsd license if it is revoked".
This is because if you revoke the explicit grant, you get nothing in terms of patents. But the implicit grant is not revokable unless you violate the copyright license.
So sorry, but this is not "better than the default" and does not in fact, help you.
I'm not sure it is, and I'd argue the situation is unclear. I'd be keen to see any examples though – it would be awesome if there was something to fall back on.
All I can find is evidence that it would be at best very risky to rely on an implied patent grant.
For example, it's considered unclear enough that the ClearBSD license was explicitly created to clarify that it doesn't offer patent grants - http://directory.fsf.org/wiki/License:ClearBSD
Even more damning:
In the absence of an explicit patent grant, but considering the word use in the license, can we assume that the BSD license impliedly grants enough of whatever patent rights the Univer- sity of California then owned that a licensee may use the soft- ware as it was originally distributed by the University? Most licensees under the BSD assume it does on the theory that oth- erwise the copyright license would be of no value. What good, they say, is software that can be copied but not used?
Such a conclusion is not based on the law of licenses. Indeed, a bare license of copyright need not include a bare license of patent at all. It is only if the BSD is viewed as a contract that we can introduce contract law principles such as reliance or reasonable expectations of the parties. If software is licensed under the BSD without forming a contract between licensor and licensee, the extent of any patent grant is at best ambiguous.
As to whether an implied grant of patent rights extends to versions of the software with modifications, that’s an even more complicated question. The BSD license is silent about a patent license for derivative works. So if a licensee improves the origi- nal Berkeley Software Distribution in a way that infringes a patent owned by the University of California, there is no easy way of knowing whether an implied BSD patent license includes a patent license for that improvement.
Since courts are likely to construe implied grants of license narrowly, a licensee should consider obtaining separately from the licensor an explicit grant of patent rights that might be needed for modified versions of BSD-licensed software.
I wouldn't. What you've quoted is Larry Rosen's view. Larry is a wonderful guy, but his views are pretty far outside the norm for open source lawyers.
To start "If software is licensed under the BSD without forming a contract between licensor and licensee, the extent of any patent grant is at best ambiguous."
This is now settled since he wrote this. It is in fact a contract, that, if breached, leaves the licensor without a copyright license (causing both infringement of copyright and breach of contract).
So you don't have to worry about this.
The latter is a real issue, but one that most explicit grants don't solve either.
In particular, apache/et al have explicit grants do not cover modifications by others that suddenly encompass patents.
So you aren't any better off there either :)