Updating Our Open Source Patent Grant
code.facebook.com
code.facebook.com
Today it's Facebook PATENTS, tomorrow maybe it's nation-wide automatic license plate tracking. One thing is for sure, staying silent never changed anything.
It's a ridiculous comparison, I know, but never underestimate the ability of a small group of determined rabble-rousers to make a difference. A small incident with some tea in a large body of water comes to mind.
On political issues, the three-letter-agency-mandated bots/shills in the comments of mainstream news outlets and on mainstream social media sites (twitter/reddit) will always be louder and more numerous than us.
It's only on issues that the powerful don't really care about that democratic change is possible.
EDIT: To the downvoters: may I know why you are downvoting me? Maybe you believe I'm a tinfoil hatter? Maybe you think governments, who have been controlling media "narratives" for as long as media has been a thing, don't care about social media even though it is dead easy to manipulate? Maybe you don't know that this has been heavily documented for a while, and is really happening on a large scale, all the time?
If senators or representatives don't vote to fund agencies, it's career suicide. There are so many of these causes that martyrs would be burned up too quickly -- it would be dumb to sacrifice yourself for one of these causes, when there are hundreds up for vote each year. You'd just be replaced by someone with fewer morals.
On one side, it's the same issue as dealing with paid restaurant reviews on review sites; you have to wait for a large enough critical mass of comments/information outlets for true snippets to slip out.
On the other side, it's not like people are being killed. When they come for the Socialists, and these people start disappearing from our society, I will speak out. But this is not happening yet. So many Chickens Little, so few Eggheads Jr.
I'm not the original poster, but I do believe that astroturfing of social media is a reality of our world. The only real source I can provide is http://www.bbc.com/news/uk-31070114
And point out the fact that many companies hire social media people. I can also point out old cases like https://i.imgur.com/LY5suhh.jpg
I'm not sure I'm as paranoid as op, but if you think that no agency has at least seriously experimented with this stuff (instigating flame wars etc.) then remember how you felt reading the few people saying "they're recording everything you're doing on the internet".
> Today it's Facebook PATENTS, tomorrow maybe it's nation-wide automatic license plate tracking.
What happened overnight...
I'm sure they have what they think are good reasons not to use the Apache 2 license. But that doesn't change the fact that legal departments all over the world are just walking backwards muttering "nope nope nope".
This was never an issue that mattered and yet it dominated the debates every single time something on the frontpage had to do with react. For those of us who are actually interested in the technology this sucks.
I was perplexed by the uproar on HN about the original patent language (in the thread announcing the release of React Native [1]). This kind of open-source patent license--which, in effect, allows Facebook to use its patents against users of React defensively but not offensively--is exactly what we need more of in the open source world. Why did people think that their defensive patent license was somehow worse than the industry standard (the MIT or BSD copyright license with no patent license, which made patent rights murky at best)?
But this new language eliminates the major limitation on the original language, which was that the license would be terminated if you attempted to invalidate one of Facebook's patents or defensively argued that it was invalid or unenforceable (or even, according to a strict though implausible reading of the language, if you publicly stated that the patent was invalid).
Glad to see Facebook paying attention, even if the original complaint was overblown.
This appears to remove that language and creates the much more desirable balanced situation you are talking about (IANAL).
But I don't see how the original license was somehow worse than the open source projects that use the MIT or BSD licenses without any patent license, thus potentially allowing the patent owner to use patents against you offensively or defensively. (As far as I know, it is still unresolved whether the MIT or BSD licenses include an implied grant of patent rights, but at the very least there would be serious legal uncertainty.)
For one example, see the license on this Google project: https://github.com/google/trace-viewer/blob/master/LICENSE. No mention of patent rights, and unless you could successfully argue that there was an implied license, Google could sue a user for patent infringement for using this software (not that Google has ever used patents offensively, to my knowledge). So it confused me to see a Google employee complaining in the other thread that they weren't allowed to use Facebook open source software due to the limited patent grant. I'd be really interested to know more about this policy.
https://www.fenwick.com/FenwickDocuments/potential_defenses....
http://ipmall.info/hosted_resources/sipla/sipla_2005/raviche...
In some cases, Google uses a BSD-style license with a separate PATENTS file. For example, here are the PATENTS files for Go [1] and Dart [2]. Apache 2 is also common and it includes a patent grant.
[1] https://go.googlesource.com/go/+/master/PATENTS [2] https://code.google.com/p/dart/source/browse/branches/bleedi...
It's not really unresolved. There are dreamers who believe it's not the case. For everyone else, it's clearly the case until proven otherwise. There is a ton of case law on implied licenses. To believe it would simply not apply to software when it applies to every other area in which there are patents, for some magical unknown reason is ... strange and weird legal thinking?
> the original language, which was that the license would be terminated if you attempted to invalidate one of Facebook's patents
That clause is the exact reason many of us saw the old patent terms as being offensive rather than defensive. Why would it be valuable to Facebook to prevent people from arguing that their patents are invalid, if they weren't planning to sue for infringement of those patents? Facebook's calling the new terms "clearer" but the clause that they removed seemed pretty unambiguous in its intent.
I can understand people getting upset about that. It seems hardly a small limitation.
I wouldn't agree to terms of use that mean I cannot point out that an unrelated idea was previously thought of.
Was there any language in the license that bound Facebook to defensive use only and not offensive? Because otherwise this seems to be reading a lot of good intent into a place where none might be deserved.
Two important limitations--the original license terminated if you argued that a Facebook patent was invalid or tried to use patents defensively against them (this has been fixed in the new license, as far as I can tell), and Facebook can still sue you for patent infringement for something other than using React.
[1] https://github.com/facebook/react-native/blob/6938f4524676e2...
You would (probably) only do this defensively against an aggression by Facebook. People don't generally have an interest in alleging patents are invalid, unless they are being sued for infringement of those patents.
Also check out Ask Patents, which works on invalidating patent applications: http://www.joelonsoftware.com/items/2013/07/22.html.
Let the lawyers argue about the patents; I don't want to accidentally hobble the ones on my side or arm the ones on the other side, I don't want to accidentally harm other open-source contributors, I'd rather not be involved at all.
(In the BSD vs GPL debate I'm pro-GPL, but not GPLv3, because it involves the patents...)
But I'm confused by your statement that you want the license not to mention patents because you want to leave patent issues to the lawyers. The license isn't software code, it's legal code--it's what the lawyers are arguing about!
If the license doesn't mention patents (and doesn't imply a particular grant of patent rights, which like I said is an open issue), then you haven't chosen "nothing." You've chosen the default: the patent holder retains all rights.
It seems that any variation either hurts my defense or comes off as aggressive (which is what happened to facebook).
In a hypothetical situation where the patent language matters, it's total war. Multiple concurrent lawsuits in opposite directions, ITC injunction requests, etc. Maximum pain to make the opponent capitulate. None of these patents are really valid anyway, it's either math or implementation detail. There's no reason or logic here.
Better to make no statement, leave the default unsaid, and stick your head in the sand, it may keep you under the radar of involvement.
As an illustrative example of what can happen when some third-party profiteers file for patents on your software while re-selling it themselves, read up on the JMRI project's legal troubles:
http://jmri.sourceforge.net/k/summary.shtml http://lwn.net/Articles/181261/ http://lwn.net/Articles/294066/
That's why my preference is for licenses that explicitly deal with patents: ALv2, MPLv2, (L)GPLv3.
If I'm doing a startup, this clause is no issue. If I actually have patent assets, this seems like a non-starter still.
It's like saying Facebook can use all Google's patent, from search engines, Androids, Google car, etc. All because Google use React in a single presentation page.
It's even more viral than GPL. At least with GPL, your code only becomes infected with GPL in derived works. But Facebook has all access to even your unrelated patents.
Where the original patent license was perhaps "worse", in an ethical if not legal way, than no license at all, was that its limitations were non-obvious, and there was a feeling, right or wrong, that Facebook were attempting to restrict developers' rights by stealth. Licenses without any patent grant are problematic and uncertain, but they are at least problematic and uncertain in an obvious way, if that makes sense.
The original patent license felt akin to the Microsoft's early attempts at "shared source" versions of their libraries and frameworks, where just reading the source code could theoretically curtail developers' ability to work on open source implementations.
I think it's natural that people will react more negatively and forcibly to these kind of apparent bad-faith actions than to simple omissions. Furthermore, taking an aggressive stand against these sort of license tripwires hopefully makes it much less likely that others will attempt to insert similar clauses in future.
https://www.apache.org/licenses/LICENSE-2.0.txt
IANAL but Section 3. definitely seems to cover exactly the same thing, with quite clear, and moreover long established language:
> 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. 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.
The fact that they didn't, and in fact, actually talked with folks and addressed this head on, speaks volumes about them as a company.
They actually kept a large part of the previous license. The new license will terminate if you initiate: "any Patent Assertion [...] (iii) against any party relating to the Software".
So if you sue any React user for infringing any patent, even unrelated to React usage, your license for React will terminate. On the other hand, if Facebook uses your Apache 2.0 software, their license to your patents terminates only if they sue people for using your software. Isn't that asymmetric?
/end edit
Isn't there a loop-hole though? With the new license, if a FB affiliate sues you, you can only countersue the affiliate. So if FB asks an affiliate to sue you (maybe they sell the affiliate a couple of patents for instance), you can't counterclaim against FB, you can only counterclaim against the affiliate, which may not have a product.
Is that correct?
Thanks for raising awareness about the previous license. The new one definitely seems better.
Past that, to be honest, there are always "loopholes" in all of these licenses related to transferring patents to entities/etc. Given any open source license, i can come up with a valid legal way for an entity to sue you over patents in it. But at some point, you have to trust that isn't the spirit/goal of the license, because if it is, you are kind f*cked anyway. That point, has, IMHO, been reached here now.
Otherwise, it's generally not a sane problem to solve in licenses. It's an insanely complex area due to the ways it can happen. You generally don't want to try to shove all that in one document, it'll be a mess, and you'll never be able to update it for ambiguities discovered or change it with the times as law changes (OSS already has a large enough problem rev'ing licenses)
Things like transfer problems are better solved by things like http://www.lotnet.com/, et al, which have specific, well thought out and targeted agreements.
Yes, it makes it harder to tell your likelihood to get screwed, in the sense that you have to know not only the actual license, but whether they are a member of LOT or whatever, but i honestly can't see a good way around this.
If you use React, doesn't it basically mean that you de facto license all your patents to Facebook whereas Facebook licenses those required strictly for React? With Apache 2.0 or GPLv3, you would only de facto license patent covering the software and the author would de jure license theirs. With BSD, there is no de facto licensing from you, as termination doesn't relate to patent suits. If so, the new grant is okay for people who don't have patents but it seems unsuitable for those who do. Less patent suits overall would certainly be a good thing but this condition seems very one-sided.
No. The only patent grants you give are through CLA's. Otherwise, i'm not sure i follow the concern?
While rereading the grant, I even wonder: (1) does the termination in the grant mean termination of the copyright license as well? (2) asserting any patent against "any party relating to the Software" could include end users since they receive the same license and grant.
But they did. And I'm sure it wasn't a trivial effort from whoever worked on getting this amended. So I applaud Facebook and the people that worked to address the communities concerns.
In other words, it's an explicitly defensive capability they are reserving - to revoke your patent grant iff you are the one to initiate a patent suit against them. If every open source project included such a statement, it could potentially do a lot to end software patent wars.
> I’m glad (Facebook fixed this). I’m glad (solely for the fact that […]).
You seem to have read this:
> I’m glad (Facebook fixed this solely for the fact that […]).
https://github.com/facebook/osquery/commit/159899a303d0859eb...
Here is the scenario:
1. Google decides to buy my company in 2016.
2. They ask me to purge my codebase of React, so I switch to Angular.
3. Some years later, Google decides to sue Facebook over a blimp route optimization algorithm.
4. Facebook responds: "Well Google, one of your subsidiaries used React back in 2015 before you bought them, and now that you're suing us, that grant is no longer valid, so you're now liable for infringements on our React patents."
So with that scenario in mind, Google chooses to pass on buying my company, leaving some smaller acquirers, and maybe Facebook as possible buyers.
Please tell me this is not how it works. I would love to use React, but I can't bet the farm on this without more assurance.
Also apparently I now rank on Google for something; that is pretty cool.
Edit: of course, I also fat fingered that one - the l should have been an o.
It's called mutually assured destruction for a reason. Stockpiling patents as deterence is the most reasonable thing you can do in a system that allows software patents. It's the only thing likely to keep others from suing you over bullshit patents.
IANAL, but it seems the new license is a bit more GPL-esque in its restrictions by saying if you use this software than you cannot sue Facebook, its subsidiaries, and your parent weapon of choice can't be based off Facebook software (or else you lose the software license). However if Facebook sues you, then you don't lose the license and you are free to counter sue facebook with your nuclear arsenal of patents.
The reason I call it GPL-esque is it seems to introduce restrictions on how you can legally use the software once you've incorporated it (like how the GPL prevents you from not redistributed the source code), the Facebook license seems to prevent you from launching patent claims that are built off Facebook software. My guess is that if enough people used this license it would be difficult to litigate anyone else without revoking some of your software licenses.
Finally, I never took a law class a day in my life and the closest domain knowledge is an intro to econ class I took in freshman year of college so I could 100% wrong.
[1]https://news.ycombinator.com/item?id=9271246 [2]https://news.ycombinator.com/item?id=9111849 [3]https://news.ycombinator.com/item?id=9113515
However, some lawyers believe that the BSD and similar licenses give you an implicit patent grant. The licenses say you have a license to use the software. Since you cannot use the software without a patent license, then giving somebody a license to use the software automatically includes patent rights.
The inclusion of an explicit patent grant means that the implicit patent grant is no longer necessary and therefore no longer exists. So you had armchair lawyers divided into two camps. The first weren't so sure about that implicit license thing, so Facebook's inclusion of an explicit grant was a good thing. The second camp noticed a few problems with the explicit grant, and complained loudly that the explicit grant was worse than the previous implicit grant.
With these changes, Facebook addresses the criticisms of the second camp.
Any legal people to verify what I said?
https://www.apache.org/licenses/LICENSE-2.0
It comes with a patent grant.
What I mean by that is... do you actually need this patent grant to use React.js? Since React.js is BSD licensed, can you distribute a fork of React.js that does not include this file?
Also, I think the "license" (in the legal sense) for React consists of both the LICENSE and the PATENTS file, so in order to re-distribute the project you'd still personally need to obey its terms.
There's also the problem that the requirements for a "derived work" (which could be distributed with your own license) are more complex than "change a bunch of files", so if you simply slap a new license on someone else's project the new license is not necessarily enforcible and you may be infringing their copyright.
Basically, IP law can not easily be gamed (case in point: legally speaking there's nothing wrong or unexpected about patent trolls).
Does "action" has any special legal meaning here? It almost seems that you can't write a blog post about facebook infringing on any patents.
Lawful pursuit for justice or decision under the law, typically leading to proceeding within the jurisdiction’s court system. An entity accuses another for a unlawful action, to protect an entity’s rights from violation