See for example the discussions at https://news.ycombinator.com/item?id=9111849 (eg. https://news.ycombinator.com/item?id=9113515)
Full disclosure: I work at Google, where many are sad to not be able to use recent Facebook code.
See for example the discussions at https://news.ycombinator.com/item?id=9111849 (eg. https://news.ycombinator.com/item?id=9113515)
Full disclosure: I work at Google, where many are sad to not be able to use recent Facebook code.
> The license… will terminate… for anyone that [claims] infringement of any patent… by any party if such claim arises… from any software, product or service of Facebook.
> The license… will terminate… for anyone that [claims] infringement of any patent… by any party relating to the Software.
> The license… will terminate… for anyone that [claims] that any right in any patent claim of Facebook is invalid or unenforceable.
Wow.
It means that you lose the additional license to use any of Facebook's patents that may cover React. These may or may not exist.
As an example, say Facebook owns patent 1234567 "Method and system for reacting natively". Google owns 7654321 "High-density computers in a data center". Google builds the new Maps app using React Native. This would infringe 1234567, except that React Native comes with a patent grant, so the Maps app is properly licensed.
Then Google sues Facebook over Open Compute Project, claiming infringement of patent 7654321. This has nothing to do with React Native, but Google has just lost its license to 1234567. So Facebook now gets to sue Google over the Maps app. (More likely, Facebook will threaten to sue in order to force a settlement for the other lawsuit.)
Also, they'll likely be patenting whatever they can out of this technology, whether it's valid or not, you'd have to fight any action that Facebook holds against you - in the meantime invalidating everything, allowing Facebook to sue you for violating potentially dozens of patents; most everyone can't afford a lawsuit.
Facebook open sourcing all of these things is purely a power play, and not trying to contribute to the developer community. The power that this is going to allow Facebook to leverage in the future could get really nasty - it's why Google isn't using any of it.
"That Facebook patent is invalid." or "Software patents are invalid."
And even if we assume that to be true and assume that both parties believe in patents want a robust, well-functioning software patent system, that clause still sucks. If Facebook and I both invent something at roughly the same time and apply for patents, and the Patent Office misreads our applications and grants them both, and I point this out to them and I had priority (thereby invalidating some of Facebook's claims), Facebook gets to terminate all my patent licenses.
There are two separate kinds of legal protection at issue here, copyright and patent. The only thing that's close to covering ideas is patent law, not copyright law. (I'm assuming US law here, since that's where Facebook and I both are, but most of this is generally true I think.)
Copyright covers a creative expression, and is automatic. If I write a story, paint a picture, compose a song, or code a program, copyright secures my ability to commercialize that creative work as I see fit. If someone else writes a similar story, paints a similar picture, etc. but does not use my words or notes or lines of code, they aren't infringing my "copy right", because they're not copying my work.
Patents cover inventions, and are very non-automatic and best acquired with lawyers. Their term is also much shorter (about a decade, instead of about a century). US law currently lets you patent an algorithm or an arrangement of computer systems, under the artifice that you're actually patenting the implementation of that algorithm on any physical computers. Patents are issued for the invention, not for a specific implementation, and any implementation that works the same way infringes the patent.
(Trademarks, for reference, cover names used in advertising, i.e., "trade marks". They're somewhat automatic, they only cover names, and they're not very often relevant to F/OSS licenses.)
Traditionally, F/OSS licenses have been primarily concerned with copyright, partly because several of them were written when software copyrights were well-acknowledged and enforced, but when software patents were rare or nonexistent. This leaves you in the unfortunate situation where e.g. Facebook can write some code (automatically gaining a copyright), get a patent on the idea, open-source the code, and then sue you for patent infringement despite your copyright license. To avoid that, Facebook has an explicit patent grant in addition to the copyright license. (Although, as other commenters have pointed out, F/OSS licenses that don't specifically restrict themselves to copyright can potentially be read as a implicit patent grant if you stare at it hard enough.)
At no point in this does Facebook claim ownership of your work. Certainly your idea isn't legally owned by anyone, either you or by Facebook, if you haven't gotten a patent on it. Facebook's patents remain Facebook's patents, with or without this clause.
Because patents cover any implementation of an invention (whether or not the implementor knew about the patent), and because patents are in stupidly dense legalese, it's super common for people to be inadvertently infringing a bunch of patents. The traditional solution for this is that large companies have defensive patent portfolios in a sort of mutually-assured-destruction scenario: if Facebook sues Google over a patent, Google will countersue over all the patents they have. So there's an armistice, at least among big companies. The explicit patent grant weakens that, because now Google can just incorporate parts of React into their React-competitor, and Facebook loses a patent from their defensive portfolio.
So a few clauses like these are normal: you get a patent grant from Facebook, as long as you don't sue Facebook over (different) patent infringement. This maintains the armistice between big companies, and it's also great for the little guy, who wasn't going to sue anyway because they don't have any/many patents (but also doesn't have a defensive portfolio because they don't have any/many patents). These clauses only cover claims of patent infringement, which are the thing that everyone is unintentionally doing en masse, not copyright infringement, which is much harder to do unintentionally, so they're pretty fair.
But the fourth clause is super weird. It means that you can't dismantle any of Facebook's patents by e.g. providing prior art, without losing your patent license. It might even mean you can't lobby for software patent reform. It solely holds up Facebook's patent portfolio and the armistice between big companies. Usually dismantling patents is a good thing for everyone, because it's disarmament, and it's unfortunate this license doesn't extend to people who do that.
(IANAL, TINLA, corrections graciously appreciated.)
If that reading is correct, you can still use React Native to the extent that doing so doesn't violate any of Facebook's patents. They could argue it does and you could argue it doesn't. Until and unless a judge ruled that it did, you could continue using the software.
Edit: Geofft that's a good point. I suppose this really is a poison pill for a sufficiently large company.
For Google's use case, it means that if they ever find themselves in court claiming to have prior art on any of Facebook's patents (let's say Facebook sues them over something G+ does, and Google says it was described in the literature well before either of them), they automatically lose the (patent) rights to all of Facebook's OSS, even if they're legally in the right. So they can't build anything they care about on React.
I'm confused. The Facebook PATENTS stuff seems no worse than MIT-licensed code that includes no patent grant at all.
In other words, if the PATENTS termination clause takes effect, then the software essentially reverts to being plain MIT, instead of MIT + patent grant, right?
EDIT: Appears the issue is implicit vs explicit patent grant, and the Facebook PATENTS stuff can indeed be worse than no patent grant. https://news.ycombinator.com/item?id=9113515
As far as I understand it, the patent grand terminates when you end up in court with Facebook and then you're effectively distributing software that may or may not be covered by patents you don't own/have a license for.
>anyone that makes any claim (including by filing any lawsuit, assertion or other action)
Even just stating that a Facebook patent is invalid terminates your license.
>any right in any patent claim of Facebook is invalid or unenforceable
Even just stating your belief that software patents are invalid or unenforceable terminates your license.
However, if you read closely, the last paragraph starts out with:
>The license granted hereunder
There isn't actually any license granted after that clause (it occurs before this clause), so I'd argue the entire last paragraph is meaningless puffery.
"hereunder" does not refer to a direction within the text :)
>further on in a document.
Even your primary definition contains the location clause, 'under the terms'.
Odd, that didn't show up in my view o_O Maybe google is geo-targetting dictionary definitions...
Also, 'under the terms of this document' does not literally mean 'physically located beneath this sheet of paper' :P
I guess that's the interesting part. Sources would be really helpful.
I'm mostly interested in the interpretation since it's a curious use case. The actual grant you'd lose is pretty much useless in that scenario either way (as it can't really be granted due to the software not patentable issue).
Whether the clause is triggered or not shouldn't matter if the patents aren't valid in your jurisdiction.
You don't have to state your rights — you just have them (there might be exceptions to this).
---
I'd love to get an answer to the bigger question as well.
Are there ever! For example, right against self-incrimination must now be invoked explicitly. Refusing to answer a question (they will say "being evasive") can be used against you unless you affirmatively state you are exercising your right to remain silent. [1]
[1] - http://www.abajournal.com/news/article/chemerinsky_silence_i...
Facebook holds patents granted in the US. Those patents to do not apply to all other jurisdictions. German law doesn't consider US software patents invalid, they just don't apply under German jurisdiction.
Basically, if Facebook can't sue you for patent infringement in the first place, the clause doesn't apply. If you use React in a product that enters the US market (or any market that is subject to US patent law), that's a different story.
That said, I'm suspicious that the entire thing is not enforceable in Germany in the first place (to clarify: I'm not claiming it's invalid, just speculating that it may not be enforceable in German courts). German contract law is actually pretty restrictive when it comes to what may or may not be in implicit agreements like software licenses.
Case in point: WhatsApp was told off in Germany because it blocked the accounts of users who used third-party clients. Using third-party clients was explicitly forbidden in the WhatsApp ToS, but the clause was considered "surprising" and therefore invalid. The ruling argued that using third-party clients was accepted by most popular similar apps and losing access (not just in the third-party client, but in WhatsApp proper) because of doing that could not reasonably be expected by users.
There are also serious restrictions to what rights you can waive. Not only doesn't the public domain exist in German law (you can grant a universal unrestricted non-exclusive license, but you can't waive your ownership completely), nor can you completely disclaim responsibility (e.g. you can still be sued for intentional harm even if you give something away for free). Another example was Walmart in Germany trying to prohibit employees from entering romantic relationships with each other (and failing, resulting in lots of bad PR).
There's a reason contracts in Germany typically include a clause stating that even if any single clause is legally invalid the other clauses (or even "the spirit of those clauses" in so far as it can be enforced otherwise) still remain in effect. I'm not sure whether this is actually required, but the idea is that it prevents contracts from becoming invalid because of any single clause being ruled invalid.
> 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.
This seems equivalent to me, is the Facebook one broader?
The general argument is made that there is an implicit patent license granted when an open-source license is applied to a software product, and that this explicit patent license somehow overrides the implicit patent license (despite not being part of the license itself).
I've received different advice on the matter, so YMMV. But at the Google level, I'd imagine there'd be channels to negotiate an acceptable solution to this issue…
I'm not really sure what Facebook thinks they are gaining with this clause. They aren't going to stop patent trolls, because they are non-practicing entities. Maybe they want to guard against someone making improvements to React and then suing Facebook if they do something similar later.
Wouldn't that apply to Google as well?
But I think you've made a very good point. If you're not going to avoid all component-based and/or virtual-DOM view engines, picking an alternative to React may not give you any advantage in a legal situation.
1. You have a license to our related patents
2. You're on your own if someone else claims that your use of our stuff infringes their patents
2a. But if the party suing is also a licensee, they lose their license.
3. You lose your license if you come after us for anything.These kinds of licenses have network effects, and are only really effective in a mutually-assured destruction scenario.
http://ipjournal.law.wfu.edu/2011/03/googles-afraid-its-free...
Not only did the call for patents never actually materialize anything (12 supposed but never named companies in a press release four years ago), Google bought out the MPEG LA's claims anyway[1].
Meanwhile the VP8 patent grant[2] is exactly the kind of thing being contrasted here: you lose your license to the VP8 patents only if you sue over patent infringement in VP8 itself.
[1] http://arstechnica.com/information-technology/2013/03/google...
If I'm reading this right, any fork of this code is not covered by the patent-protection can be sued into oblivion, by Facebook themselves if they feel threatened. Wow.
Ability to fork is crucial for real life open-source projects, so having a clause like that pretty much nulls out any open-source benefit which may have been there in the first place.
You have to differentiate between copyright and patents.
From the perspective of copyright you're perfectly in the clear, the grant of rights that's part of the BSD license will not be revoked.
What will be revoked is the right to Facebook's patents insofar they apply to React.js. First of all that that requires, that Facebook actually has patents that apply to React.js. It also means you're no worse off than without a patent grant.
I prefer the Apache 2.0 wording, but this seems to be blown widely out of proportion.
No, see discussion above re: implicit and explicit patent grants. You don't fall back to an implicit grant when an explicit one is revoked.
It is absolutely possible to legally use React while going ahead and suing Facebook. You do not lose your license to React by suing Facebook.
What you do lose is an explicit grant of additional patent rights - the grant given in the PATENTS file. Note that there is no specification therein regarding what patents might be covered; it's completely possible that none of Facebook's patents have anything to do with React. I haven't looked. in any case, patents are totally distinct from you license to use React.
Would it be practically advisable to do so?
Only if it's possible to use React without infringing (or licensing) any Facebook patents. "Use" is not just about copyright.
(Which, as you point out, is plausible; there's just no reason to believe it's guaranteed to be true.)
It should only regard to react. If the clause is to protect their right to develop react, it should only pertain to such.
Suing Facebook does not void your license to use React. It voids your additional patent grant. That's different.
To put it simple, without the patent grant you'd be worse off. But with the Apache 2.0 version you'd be better off.
That might or might not be Facebook's goal in the license, but regardless, it seems like a great outcome. Likewise, avoiding that outcome might or might not be Google's reason for not using this code, but since other companies are, it seems in need of explanation.
Or they sue each other anyways and it takes another 5-10 years to figure that situation out, hobbling any OS development under those licenses while there are very clear and widely used and accepted patent grants available.
There's a reason the FSF recommends Apache 2.0 if you aren't going to go GPL.
But this new patent license is stronger. If it would make the industry safer from patent armageddon in the long term, it might be worth the effort to popularize yet another license.
Let's say 10 years from now Facebook decides to go on the warpath over fairly bogus patents. The EFF puts the headline patent on their Most Bogus patent busting list and then puts out the cry for "who is with us?"
No company using any Facebook open source code answers.
How does that make the industry safer?
I understand there might be a chicken-and-egg problem here. But the final outcome seems optimal with this license. And someone has to go first.
Good for you buddy.