top | item 9356508

Updating Our Open Source Patent Grant

354 points| spicyj | 11 years ago |code.facebook.com | reply

90 comments

order
[+] zaroth|11 years ago|reply
To those relieved that Facebook open source discussions will no longer be dominated by PATENTS file discussion, I just would point out, is was exactly the persistent complaints which motivated Facebook to make this change. So I would say thank you to everyone who complained about the language in the original grant. It shows exactly what is possible when a determined group persists in vocalizing their grievances.

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.

[+] baddox|11 years ago|reply
I'm not a lawyer, so I can't comment on the validity of people's concerns about the previous license terms. However, I will point out that just because there was persistent complaining which led to Facebook changing the terms does not imply that the complaining was valid or proportional.
[+] dynamic|11 years ago|reply
Good point and I'll concede that the overReaction had a real positive impact (that wouldn't have been possible if it had only been a few pedantic open source law geeks). It's really cool to see developers taking an interest in these issues, and in a bottom-up approach to reforming the patent system. I just hope people agree that explicit, well-designed defensive patent licenses (like Facebook's new language and the Apache 2.0 license) are a step forward.

> Today it's Facebook PATENTS, tomorrow maybe it's nation-wide automatic license plate tracking.

What happened overnight...

[+] jacques_chester|11 years ago|reply
Actually, a big part of the problem is that Facebook decided to be -- and have remained -- a snowflake in the world of licensing.

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".

[+] spcoll|11 years ago|reply
> 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.

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?

[+] tomjen3|11 years ago|reply
I really don't like this, because I fear that from now on all these debates will be dominated by various interest groups hoping to get their petty little issues resolved.

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.

[+] dynamic|11 years ago|reply
[Lawyer, but not a patent lawyer]

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.

[1] https://news.ycombinator.com/item?id=9271246

[+] superuser2|11 years ago|reply
The problem was that under the original license, Facebook could sue you (as an initial aggressor) for an unrelated patent infringement, and if you claimed that the unrelated patent was invalid, you would lose your license/patent grant to i.e React. It did not just discourage you from suing Facebook, it made you defenseless if Facebook sued you.

This appears to remove that language and creates the much more desirable balanced situation you are talking about (IANAL).

[+] stupidcar|11 years ago|reply
I think everyone, including those who agitated against Facebook's original patent license, understands and agrees that patent licenses are important and should be encouraged.

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.

[+] teraflop|11 years ago|reply
> which, in effect, allows Facebook to use its patents against users of React defensively but not offensively

> 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.

[+] joshpadnick|11 years ago|reply
But what if you have a legitimate patent claim against Facebook that doesn't relate to usage of react? It sounds like if you pursue that, then as a result, you can no longer use react. Or perhaps I'm missing something?
[+] lotsofmangos|11 years ago|reply
the license would be terminated if you attempted to invalidate one of Facebook's patents or defensively argued that it was invalid or unenforceable

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.

[+] ploxiln|11 years ago|reply
Also try to understand that a lot of software engineers, like myself, would rather that the source code license not implicate or involve patents at all.

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...)

[+] brown9-2|11 years ago|reply
in effect, allows Facebook to use its patents against users of React defensively but not offensively

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.

[+] blackkettle|11 years ago|reply
what about the Apache license? this seems to be the go-to for this particular issue, and is widely used by Google and MS as well as about a billion other projects. it directly addresses this issue. to me the biggest red flag initially was just the fact that they decided to create a new 'variant' for no obvious reason:

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.

[+] DannyBee|11 years ago|reply
I'm very glad Facebook was willing to take a step back here, evaluate people's concerns, and update the grant to address them. Most companies, when placed in the same position, would simply double down and tell people to go pound sand.

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.

[+] throwaway41597|11 years ago|reply
edit:

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.

[+] chamakits|11 years ago|reply
This is what true commitment to open source looks like. Many companies may have remained silent about this and never address it. Their projects where already popular enough that they didn't really need to address the concerns that many had about them.

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.

[+] themgt|11 years ago|reply
I think the key bit is Notwithstanding the foregoing, if Facebook or any of its subsidiaries or corporate affiliates files a lawsuit alleging patent infringement against you in the first instance, and you respond by filing a patent infringement counterclaim in that lawsuit against that party that is unrelated to the Software, the license granted hereunder will not terminate under section (i) of this paragraph due to such counterclaim.

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.

[+] sulam|11 years ago|reply
I don't think I follow the logic. Most of the "bad" patent lawsuits are from companies that don't make any software. Not being able to use React (or even Linux, let's say) would hardly be a problem for them.
[+] scarboy|11 years ago|reply
I'm glad that facebook fixed this solely for the fact that facebook open source software discussions will not be dominated by the contents of the PATENTS file.
[+] sangnoir|11 years ago|reply
Or possibly to increase the uptake of their projects at other large corporates: thereby increasing mindshare/developer goodwill. Don't tell me that Fb doesn't want to put up IBMs logo on the "who uses React" page
[+] watty|11 years ago|reply
Thank god! This means every Facebook (React) thread on HN and Reddit won't be half filled with patent arguments.
[+] loceng|11 years ago|reply
I'd much rather spend my energy supporting an idea or effort than having to state objections for why it might be bad - as would I hope most who are inventors and wanting to improve the world around them.
[+] fuzzybunny|11 years ago|reply
Can anyone comment on whether corporate M&A departments are concerned with this license? An aquirer would either have to rewrite much of the code of their newly acquired startup, or they would lose the ability to initiate a patent suit. According to [1], Google is not able to use React. How much of a concern is this when considering a new aquisition? https://news.ycombinator.com/item?id=9271246
[+] jamesgpearce|11 years ago|reply
NB that post pre-dates this change.
[+] oe|11 years ago|reply
Waiting for some Lawyer to explain why they think this is or isn't great. But mostly out of interest. The old patent grant never prevented me from using their projects.
[+] marcofiset|11 years ago|reply
What does this whole patent thing mean? I'm not well-versed at all about licenses and patents and the technical jargon of the file is mostly non-sense to me. Would someone care to simply explain what this implies?
[+] bryanlarsen|11 years ago|reply
Most popular open source licenses (except GPLv3 and Apache) only give you a copyright license to the code, they do not give you a patent license. In theory, somebody could create some software, get a patent for it, release it under the BSD license or equivalent, and then sue everybody who uses the software for patent infringement.

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.

[+] nemothekid|11 years ago|reply
From what I can understand from [1][2][3], is the previous patent clause meant that if you and Facebook got into patent litigation, any open source software you used that was written by Facebook would be revoked (opening you up to a license breach). This was scary because Facebook owns a ton of patents and if Zuckerberg woke up on the wrong side of the bed one morning and decided to sue everyone with their portfolio of patents, it would be impossible to countersue if you used any Facebook code. The other posts go into how companies like Google and Facebook use patents as a way of ensuring mutually assured destruction, and if Google had used Facebook code under the license it would be like Google disarming all their nuclear bombs against facebook.

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

[+] pixl8r|11 years ago|reply
basically that even if you sue facebook, the license stands (unlike v1 of the license).
[+] danschumann|11 years ago|reply
I think this is an upgrade. The patent as worded before made it seem like if Facebook sued you, you couldn't both defend yourself and keep your license. In this version, it seems, that you only lose your license if you are the first actor in a lawsuit.

Any legal people to verify what I said?

[+] yizi|11 years ago|reply
I don't see how this makes everything okay to use now? To me it basically means, if I sue Facebook for any reason involving patents, I would have to give up using its code. I invent a time machine, Facebook can infringe on my patent and I can't sue unless I stop using their code. Please tell me I am wrong.
[+] choppaface|11 years ago|reply
The patent language in the previous FB license seemed pretty similar to the patent language in Apache 2.0. Can anybody comment or link to a discussion of why the FB language was undesirable? And why not change Apache 2.0 in the same way? (Confused)
[+] cmwelsh|11 years ago|reply
Can you sue Facebook for patent infringement and still use React.js?

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?

[+] pluma|11 years ago|reply
Without an explicit patents grant, you're not granted any patents and therefore could be sued for patent infringement if the software is covered by any patents owned by Facebook.

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).

[+] raquo|11 years ago|reply
> A "Patent Assertion" is any lawsuit or other action alleging direct, indirect, or contributory infringement or inducement to infringe any patent, including a cross-claim or counterclaim.

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.

[+] fncypants|11 years ago|reply
Yes it has special meaning that lawyers tend to forget confuses laypeople. A legal action is a term of art that means a legal proceeding such as a lawsuit or a petition at a gov't agency. From Black's Law Dictionary:

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

[+] serve_yay|11 years ago|reply
I wonder what will be the next scapegoat non-technical reason not to use it :)
[+] jakejake|11 years ago|reply
This may not have been an important issue for you, but many of us actually have to pay attention to licenses. There are components out there that I would very much like to use, but can't for licensing reasons. Having Facebook respond and make changes is quite welcome.