Facebook React.js License
elcaminolegal.com
elcaminolegal.com
It's a known and deliberate shortcoming of many licenses (e.g. BSD) not to include patent stuff because it makes everything unnecessarily complex. There was recently an article about why BSD and MIT are so popular, and it's because they're concise and understandable. There is a reason WTFPL exists and some developers resort to it as a way to avoid legalese.
Facebook clearly was aware of this "shortcoming" and being a big player, they might have wanted to be nice and say "we won't sue you for patent infringement if it turns out we have a patent on something React does". Then the managers went "but what if they sue us? Patents are not only for offense but also our defense, we would weaken our defense." And so the clause of "except if you sue us first" came into being.
And now this fuss about the patent part making it not an open source license? Oh come on.
I really don't like Facebook as a company, but this bickering is silly.
Could you (or anyone confident in their legalese) elaborate on:
* Does the Apache2 license indeed solve this? (I'm asking because I read about it in the LLVM/Clang license change proposal [1])
* Why isn't the less-popular-but-still-well-established Apache2 license more widely used, then? To counter what you are saying about simplicity, don't you think patents are a common concern that should be covered by default in a license, even at some complexity cost?
[1] https://news.ycombinator.com/item?id=12531887
EDIT: precisions, wording.
Facebook's is much broader because you lose patent protection if you bring suit against Facebook about anything, even patents with nothing to do with React, like hardware, and even if Facebook is intentionally violating one of your patents.
Now whether that bothers you or not depends on your individual circumstances and the sanity of your particular legal jurisdiction, but it certainly would be something of interest to any corporate legal team.
If the revocation clause were broader, say, invoked for any patent suit against any contributor or user of the software, even better. That might fall afoul of antitrust or similar type restrictions, a not-uncommon problem with patent pooling type measures from what I've read and been told over the years.
I agree that software patents should not be allowed and am fortunate to live in a mostly sane jurisdiction where they are mostly not allowed but that's not the case for everyone.
1) Facebook publishes open source software, that everyone is free to use under copyright law. Everyone agrees this is a good thing.
2) The copyrighted software also includes the use of patented inventions, Facebook adds a patent license to assert that there are no submarine patents (that Facebook is not using copyleft as a means to setup future patent trolling). Everyone agrees this is a good thing.
3) The patent license is worded in such a way that it sets up a sort of 'patentleft'. Facebook is asserting not only that it's patents are defensive, but that there's a license which guarantees it. This license works kind of like copyleft does, though maybe with less precision (at the organizational level). It asserts that if your organization is using patentleft inventions, then by definition, all inventions that come from your organization are derivative works. Unlike Apple's open source license, the guarantees provided by patentleft have no bearing on your rights under copyleft. Not everyone agrees this is a good thing.
For patentleft, some people work in organizations that wish to split their efforts into those benefit from patentleft, from those that don't, like they currently can with copyleft. In the case of copyleft, it's a lot easier to detect infringement (does this code use copyrighted code). At the patent level, not only is it more difficult to tell, but the litigation around it is more difficult to settle.
I personally think that patents and copyrights, when done right, add value to society, but that current laws aren't "done right". Further, I think that copyleft and patentleft exist because of flaws in the existing system of patents and copyrights, are made to fix them, and I fully support that.
* Disclaimer * I am currently a Facebook employee, though my views don't necessarily represent those of the company. I wasn't an employee when the license was created, and I have no work involvement either in the license, or in software covered under the license. When the second/third clauses were added, I was a Google employee worried about the effects of these clauses.
That there are no submarine patents owned by Facebook. There's no protection against third-party software patents. A true patentleft is not possible. Mutually-assured infringement is still the best possible scenario under the current system.
True, the BSD License does not explicitly state
that the licensee receives the right to use the
licensed software under the licensor’s patents. But
I’ve never heard any lawyer postulate that that
document does not grant a license to fully exploit the
licensed software under all of the licensor’s
intellectual property. Anyone who pushes that view is
thinking too hard.If Facebook uses my algorithm without my permission, and I sue them, do I open myself to being sued for using React.js?
Your license to use react is not terminated (https://code.facebook.com/pages/850928938376556).
So, what is the practical upshot of not having the explicit grant to the patents? Can you be sued for patent infringement for using open source software that may be covered by patents owned by the majority contributor to the open source software?
Your license to React.js patents terminates. Your license to those patents was valid before you sued, so you cannot be sued for past damages. If you continue to use React.js after you sue, you then would become vulnerable.
But your usage of React.js has little to do with that. Any patent that Facebook has that applies to React.js probably also applies to pretty much any other modern web framework. There are tons of Facebook patents that you're violating already, whether you use React.js or not.
Patents are only useful for trolls and big companies. Any little guy trying to assert patents is going to lose big time in the counter-suit.
The problem is that if you would bring _any_ patent claim against Facebook or any of its affiliates, the license terminates at that moment.
This is obviously not a problem for everyone, but a problem no less. Using software licenses to gain additional - and completely unrelated - rights is really not something I would like to see become a trend. It sounds like going back to the dark ages, feudalism and all.
Give the bullies free reign, and they will take your money and beat you up. In this case you would also have to take off your underpants and sew yourself a new pair before you can even try to fight back.
Not sure how that is not fair, even more for large players who can objectively decide if it is worth it or not.
No, it's evil, full stop.
Facebook's patent policy means, in no uncertain terms: if you have a patent, they have a worldwide, royalty-free right to use it. Don't want to give them that? Well, until you remove all usage of Facebook's "open source" code, that's the situation.
Note: RocksDB also has this problem, which means CockroachDB is also infected. Tread carefully.
-----
Note to downvoters: No one has a problem with Apache 2-style patent-retaliation provisions. Facebook could solve this problem TODAY by switching to that.
They don't because they don't want to retaliate, they want access to unrelated patents from third-parties at zero cost, with a credible threat to damage those third-parties if they want to retain their unrelated patent rights. There's literally no other reason for Facebook to demand terms beyond Apache 2 than to do what I just described.
The Apache 2 license protects Facebook and third-parties and is 100% ethical. Facebook's patent position is not, for the reasons I've stated above. The community, IMO, should shun Facebook LOUDLY until they relent and stop this bullshit.
-----
Update 2: It's actually worse, because Facebook tends to do this bullshit on stuff like RocksDB and React which are incorporated in other software that you use to run your business.
Using a React-based dashboard widget for your ElasticSearch cluster? Good luck suing Facebook for patent-infringement, because guess what? You agreed to let them infringe by using it, even though you didn't intend to.
Facebook's patent policy requires constant policing to avoid. Like I said: EVIL.
Protecting from patent lawsuits is not evil as SW patents are bullish anyway. No one except maybe some patent trolls or some other big companies will sue Facebook for patent infrigment and if they do then this is a pretty clever defence. If you really really have something really really unique invented (which is really really unlikely) then just don't use anything by Facebook.
Facebook makes hardware and runs a business, and their "we get all your patents for free" stance applies to all patents, not just software patents.
'The initial public release of React in May 2013 used a standard Apache License 2.0. In October 2014, React 0.12.0 replaced this with a 3-clause BSD license and added a separate PATENTS text file that permits usage of any Facebook patents related to the software.'
If I use a clean room clone of React, how does that protect me from Facebook suing me down the line? In fact, by not using React, you are more vulnerable to a hypothetical suit by them given you won't have been granted by them rights to their patents.
Their license gives you everything the BSD license gives you, full stop.
Then it additionally gives you temporary access to all of facebook's patents related to it. The only thing you give up to get the additional patent license is the right to sue them for patent infringement. If that isn't valuable, then just use the software under the BSD license.
12.1 Termination. This License and the rights granted hereunder will terminate:
…
(c) automatically without notice from Apple if You, at any time during the term of this License, commence an action for patent infringement against Apple; provided that Apple did not first commence an action for patent infringement against You in that instance.
Like the React patent grant, this applies to any patent suit, not just ones that allege that the covered software infringes. The Open Source Initiative considers APSLv2 an Open Source license, and the Free Software Foundation considers it a Free Software license. Note that this clause terminates your copyright license, not merely your patent license - it's significantly stronger than the React rider.
So I think the claim that it's not open source is a bit strong, even though I find this sort of language pretty repugnant.
Typescript is Apache 2: https://github.com/Microsoft/TypeScript/blob/master/LICENSE....
Visual Studio Code is MIT: https://github.com/Microsoft/vscode/blob/master/LICENSE.txt
The MIT license is problematic with software patents.
I see some projects moving to Apache2 for that reason (one prominent example here is Rust. They moved to an MIT/Apache2 dual licensing model).
The MIT license grants explicit rights to deal in the software without restriction.
I could have found more, but its a big org. Any examples I found that used other licenses where that way because they where related to something else that used a previous license (i.e. all TypeScript stuff is Apache2, hence any new TS is still be Apache2 for consistency).
FWIW, my Android app's codebase has 18 Apache 2.0 dependencies, 1 MIT and 2 BSD. Maybe since the large libraries mostly use Apache 2.0, the smaller Android devs just follow suit?
More on strong vs weak retaliation clauses here: http://www.rosenlaw.com/lj9.htm
Can't believe Microsoft is the good guy here.
Microsoft has always had "good guys/gals" at the company. They have been in action more the good guys then anything else minus Steve Balmer's anti-Linux bias over the years.
I just looked at XNU and it is still under the APSL. Does anyone know why a company would not want to go back and change the license of a project? Is it that the company doesn't have the copyright but the individual developers? Even if all the developers only worked for the primary company?
Basically: Any attempt to terminate both copyright and patent rights will be gplv2 incompatible Attempts to terminate patent rights, written in the right way, will be compatible.
It is a moderate, but known, amount of work to look through FB's patents, assess which are likely around React, and read through the claims. Considering it's possible, I certainly think that it's reasonable to ask you to do the work, or stop making the assertions.
It also doesn't address potential patents that are still within the 18 month filing window and are still secret.
"If you or your agent or exclusive licensee institute or order or agree to the institution of patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that this implementation of Polymer or any code incorporated within this implementation of Polymer constitutes direct or contributory patent infringement, or inducement of patent infringement, then any patent rights granted to you under this License for this implementation of Polymer shall terminate as of the date such litigation is filed."
I dont see how is that similar to react. It makes way more sense and is closer in spirit to apache I think.
"If you or your agent or exclusive licensee institute or order or agree to the institution of patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that this implementation of Polymer or any code incorporated within this implementation of Polymer constitutes direct or contributory patent infringement, or inducement of patent infringement, then any patent rights granted to you under this License for this implementation of Polymer shall terminate as of the date such litigation is filed."
"against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that THIS IMPLEMENTATION OF POLYMER or OR ANY CODE INCORPORATED WITHIN this implementation of Polymer".
I know I ask much of you but you can do it. BTW. congratulations on copy pasting the text I pasted above...
There is a big difference, although it might not look like that.
No, unless your patent counterclaim is related to Facebook's software licensed under the Facebook BSD+Patents license.
I think this sums up everything.
We deliberately want people to not be able to sue us for patent infringement without us being able to defend ourselves.
One can argue that facebook's method may be harsher than necessary (our rights grant is pretty much a copy of apache's 2), but i think people do not realize how often google/facebook/etc is getting sued for patent infringement.
Given how popular the software is, it deters people who are not NPE's.
This is critical though. Nobody is complaining about the Google (which is also used by Microsoft and Mozilla) retaliation clauses.
i think people do not realize how often google is getting sued for patent infringement.
Fair enough. If Facebook wants to make a public commitment to not use First Strike, the patent license would be acceptable. They have not, so it isn't.
Yes, which is why Facebook's lawyers refuse to answer that question directly and instead obfuscate things by talking about "retaliation".
The Apache 2 license covers, in full, every public goal Facebook legal has stated they have and is 100% ethical. That Facebook refuses to use the Apache 2 license indicates they have additional, private, goals they do not want to own up to publicly.
Except, you know, the one that matters.
If that doesn't prove that Facebook is acting in bad faith, I don't know what could convince you.
The current BSD license plus "additional patent grant", however, grants Facebook additional rights beyond the Apache 2 license that they refuse to admit to in their public communications, including this idiotic "FAQ". That's the "bad faith": Facebook won't publicly own up to why they want a worldwide, royalty free right to use a third-party's patents that have nothing to do with the software Facebook is licensing to them.
They don't own up publicly because it's unethical.
If Facebook is really serious about Open Source, they also have to make their licence so that every organisation is free to use it.
It's the opposite, actually: the original copyleft licenses such as the GPL were explicitly designed to promote Open Source by hindering adoption in some cases, namely those where companies want to distribute derivative works commercially.
Then the BSD/MIT-style licenses weakened this restriction. So you're free to use React in a commercial product.
But Facebook, Apple etc. care a lot about patents these days. Not offensively, as far as we can tell, but they have now been burned repeatedly by often trivial patents being used to extract hundreds of million from them.
So they added these 'patentleft' clauses to their licenses to essentially undermine the patent system in regards to software. As it gets more difficult to build anything without some library that includes this clause, fewer and fewer actors will have the freedom to sue without consequences.
Being opposed to patents on intellectual property in the first case, I can only applaud these efforts. In fact, they should probably go further and extend the protection to everyone: If you use IP patents against Jane Doe, you may no longer use React.
The only problem is the rise of entities focused entirely on patent-litigation.
I'm usually not the one to defend GPL but I want to point out that AFAIK distributing derivative works commercially is totally fine for GPL - you just have to follow the rules in the license (provide source code under the same licence).
Not even that; you lose your license to use the patents Facebook has which cover React...
...if they exist. Nobodies ever found one, and a core React dev is on record saying he doesn't know of any either. :)
But you don't ever your license to use React. Bonus: Many people think the BSD license contains an implicit patent grant, which might well cover you even if the explicit patent grant is revoked. Again, if there are any patents to license.
Open Source means this, no more, no less: https://opensource.org/osd-annotated
A little condescending, no? Do you read (or expect everyone to) the EULA in full when you install Windows, and understand the implications of _all_ clauses? Or for that matter, the Privacy and User Agreements of any website you visit, e.g. Spotify, Facebook, HN (this very website), Netflix, Hulu, Google, etc., or software you might install, e.g. WhatsApp, Signal, iTunes, macOS, all the licenses visible and distributed with Android? What about your banks, and the actions they sneak in that give them the most freedom to do with your money/data under the law?
The text written in these agreements is foremost written for other lawyers, not you. Many companies have made them easier to parse, slowly prioritizing the user's ability to understand them.
Most people have fine reading skills. What you are misconstruing is an ability to understand and derive implications of legal agreements.
> In practice, open source stands for criteria a little looser than those of free software. As far as we know, all existing released free software source code would qualify as open source. Nearly all open source software is free software, but there are exceptions. First, some open source licenses are too restrictive, so they do not qualify as free licenses. For example, “Open Watcom” is nonfree because its license does not allow making a modified version and using it privately. Fortunately, few programs use such licenses.
> Second, and more important in practice, many products containing computers check signatures on their executable programs to block users from installing different executables; only one privileged company can make executables that can run in the device or can access its full capabilities. We call these devices “tyrants”, and the practice is called “tivoization” after the product (Tivo) where we first saw it. Even if the executable is made from free source code, the users cannot run modified versions of it, so the executable is nonfree.
> The criteria for open source do not recognize this issue; they are concerned solely with the licensing of the source code. Thus, these unmodifiable executables, when made from source code such as Linux that is open source and free, are open source but not free. Many Android products contain nonfree tivoized executables of Linux.
http://www.gnu.org/philosophy/open-source-misses-the-point.h...
(Pasted the most relevant portion in case you lack reading skills.)
edit: After Alice there has been a software patent massacre: https://en.wikipedia.org/wiki/Software_patents_under_United_...
I've been favoring Apache2, and am considering adopting the GPLv2 compatibility clause that is being added to Swift.
IANAL, but I've written about the difference in another comment: https://news.ycombinator.com/item?id=12692852
I constantly find the need to read up on licensing. Usually with various blog posts or online information, which never gives me the feeling that I fully understood the legal implications or the context.
Can anyone recommend a book covering software licenses in depth? (ideally not only US centric)
Do people really think Facebook developed and released React for the sole, or even primary purpose of gaining patent rights? It's preposterous that so many top engineers would be working on such a goal.
It seems obvious that Facebook just has some overly cautious lawyers. I highly doubt that means Facebook is going to use your usage of React as an excuse to steal your patents.
It's not like React is a massive library with a huge surface area. Even a fairly complex application could be migrated to an alternative like Vue.js if the need arose.
Or a non-issue if you choose a framework that you feel has safer licensing.
Having met with their legal and open source departments and talked about this before, i can pretty much say "they have a reasonable set of problems, and are trying to do a reasonable set of things about it".
One can argue they don't need to be this harsh about it, etc. But that's about risk tolerance, not about trying to gain more rights.
...basically, I welcome it.
Patents are harmful.
The FSF has, to my knowledge, made no meaningful progress in significant patent reform.
If this helps, then bring it on.
It does grant them freedom to use any patent you may have (if you use their software).
See the problem? Even if you don't like patents, it makes the playing field totally uneven.
With their value being even marginally reduced, maybe some patents will never be filed, or the value proposition of setting up patent-litigation entities is reduced enough to discourage it.
Basically this is net-positive for anyone who doesn't own or plan to own patents, even if it is even better for Facebook.
Perhaps it's less of an issue with the BSD style licenses, as explicitly called out in the article.
in the case of the patents, they're not really used to create a derived work. As a result, there is no "infection".
It's like being forced to abide by the GPL but having the other party use your code under BSD.
[1] I originally said "defend against", but the countersuing clause does cover that.
STOP RIGHT THERE
If you can't be bothered to do the research necessary to see why then your JD didn't teach ya much in the ways of learning about things. Which ideally should be a large portion, those big books of case law, now oft replaced with speculation and internet comments, do at least tell the story of "why". And if you jump the gun on researching the imminently googleable first sentence of your argument, how can I trust, nay, why should I trust, a single sentence thereafter.
Long and short APL has patent clauses, BSD doesn't, their PATENTS file kinda added that back to BSD without some of the apparent downsides of the APL in terms of forcing you to never ever sue about patents.
Small but not hard, I know, I just have a PhD not some fancy JD, but at least I can do the research that would've muted I imagine the entire post.
I still can't seem to write non-confusing sentences though. Oh well. Parse the above at your own peril.
This is legally incorrect.
". But I’ve never heard any lawyer postulate that that document does not grant a license to fully exploit the licensed software under all of the licensor’s intellectual property. Anyone who pushes that view is thinking too hard."
Nobody has pushed this view.
However, the author seems to miss that such rights are likely not sublicensable, because they are implied, and implied rights are pretty much never sublicensable.
That is, i may have gotten the rights. That does not mean i can give someone else the same rights.
Now, there are other possible principles, such as exhaustion, that may take care of this (it's a grey area)
But it's definitely not the case that implied patent rights are somehow going to be better than an explicit grant.
They are for people using software. They are not for people distributing software.
Please see here: https://news.ycombinator.com/item?id=12692552
It turns out companies are now "bastardizing" the license terms. I would love for the OSI to re-evaluate if these licences are truly open source. Open source covers freedom, and I should think that these clauses abridge that freedom since it is very well possible for a company to be required to sue Apple or Facebook over patents. If that unrelated lawsuit "strips" your legal right to use software, that is NOT freedom.
Thanks
"Freedom" is an empty slogan in this regard. Copyleft licenses have long restricted your freedom, the idea being that there are colliding "freedoms" under some circumstances and it's for the greater good of society to restrict some peoples "freedom" (those creating derivative works) for the benefit of of the end-user.
https://github.com/facebook/react-native/releases/tag/v0.14....
As you can see it is dated: "10 Nov 2015" shortly after the licence was changed.
If I sue facebook and they countersue, then my defense is simply "i am licensed under BSD". The fact that you offered an additional license (they even call it "additional") does not mean that I am required to accept it when the first license stands alone.
Right?
https://github.com/facebook/react/blob/master/LICENSE
which by admission of the blog post this is about, already includes an implicit patent grant on React.
And he'll pass on this:
https://github.com/facebook/react/blob/master/PATENTS
Which is marked as "additional".
However, the problem you have here is there literally can be no implied license when an explicit one is offered. You can't say "i take the bsd and implied patent license".
So if you want to take it without the additional rights grant, you can. But you won't get patent rights, because they have offered them to you explicitly under a different license.
Those webfonts also took multiple seconds to retrieve leaving the page essentially completely blank to visitors until their browsers finally pulled them down. It paused long enough I was wondering if HN had sent sufficient traffic to bring the site down.
Here's an output to a quick stab at loading the page using pingdom: https://tools.pingdom.com/#!/cpZuGy/http://www.elcaminolegal...
Although, I would think the load size and speed for such a basic site would be better with standard HTML for everything but the blog.
Also, the main JS file is 1690 lines long and even though it says it is min in the file name, it doesn't seem to be minified.
The CSS file has some nice stuff going on in there. Some of the selectors are a bit long for my tastes though.
They pick something upcoming, recreate it injecting their ideals while knocking the original. They then release it to a sea of "pseudo developers" that latch onto it with the "well it's good because Facebook" mentality which aggressively defend it giving them more leverage.
Then they rinse and repeat until they have replaced everything the community has created with their equivalent instead of contributing back to those projects like a true supporter of open source would.
Open source is much more than having code on a repo, it's a culture that Facebook is hell bent on "changing".
https://medium.com/bits-and-pixels/a-compelling-reason-not-t...
/b
MPL 1.1 talks about "such Participant's Contributor Version directly or indirectly infringes any patent"
Which refers to the software itself. Which means it's a patent retaliation clause similar to the one Microsoft and Google use. If you claim patents on someone for using specific software, you lose any patent licenses for said software that were granted to you. But in Facebook's case, the retaliation extends when you make any patent claim on anything Facebook does, even if it's completely unrelated to the software in question. Meanwhile, the patent license that Facebook gives you does not extend beyond the software in question.
So you're effectively licensing all your patents to Facebook, and Facebook only gives you the ones you need to use the software.
http://law.stackexchange.com/questions/14337/q-about-consequ...
It comes down to two questions (quoted from the linked question) - note that those are questions, not assertions:
1)
> ... if we use any of Facebook's open source projects Facebook can violate *our patents* (of any
> kind) pretty much with impunity: If we try to sue them we lose the right to patents covering their
> open source projects(?)
2) > I have read opinions that other open source projects that don't have such a clause, for example
> those from Microsoft or Google, nevertheless have the exact same problem, only that it isn't
> explicitly stated. Is that true? Is my situation not any better when I only use open source
> projects without such a clause?
I think that is a good point. The many opinions I see are almost all from people who don't have their own patents to think about, but what happens if you are a company and you do? Would you basically allow Facebook to use any of your patents, because for all practical purposes you can't defend them if you rely on their open source projects?2) The patent grants from Microsoft and Google grant a license on software (or a standard), and only give them a (reciprocal) license on the software or standard that is under consideration. If Microsoft had published React, you could still sue them for violating patents that are unrelated to React without losing your license to use it. The Facebook grant doesn't have this, so if you rely on React you can't sue Facebook at all. But they can still sue you.
2) Microsoft has provided patent grants that are less severe than Facebook.
am I misunderstanding the last part?
Since Apple is the infringer in this scenario, they would not be inclined to 'first commence and action for patent infringement against You'
But I can't buy it as a reason for not using React, that sounds bogus to me. Facebook isn't gonna come sue your beer-ranking app company over a patent beef.
I think Robert doesn't understand that open source refers to the source code being open to use, derivation, and study. The BSD license also includes a warranty disclaimer, which is the exact same kind of protective language as the patent grant. The Facebook arrangement meets all of those requirements with the one stipulation that you forfeit the license when you enter patent litigation against Facebook for a counterclaim the granted patents or primary litigation for unrelated patents. I don't consider countersuing Facebook for patents applying to React, while USING REACT, to be a serious fundamental software freedom.
Where does it say that the stipulation refers only to patents applying to React?
Sorry, seems it only applies to counterclaims.
Now go read: https://github.com/facebook/react/blob/master/PATENTS - you'll notice that this is a license related only to Facebook's patents and that Facebook will terminate your license if you sue them for any patents, even patents that are unrelated to the Work. And even more problematic, I'm not a lawyer, but it doesn't seem to me that this license applies to derivative works.
Big difference.
> Thus, the licensee pays a price to use the library. It is not a price paid with money. [..] I could be missing something, but I have never seen any other software license use such a condition and also claim to be an open source license.
This just isn't thinking creatively. The GPL also requires a "price to be paid, but not with money" -- you give up your right to keep changes you make secret (if you distribute them). Yet no-one seriously argues that the GPL isn't an open source license.
If there is something about giving up the right to file patent lawsuits that is totally different to giving up the right to keep your changes secret, the article doesn't say what that difference is. Giving up the right to keep your changes secret is surely more stringent than giving up your right to file patent infringement lawsuits against one company. Why, then, should the latter be a dealbreaker for an open source license?
Couldn't you argue that the GPL says "you don't get to keep your changes private, but I do", and so is asymmetric too? It seems normal to me for the rightsholder to retain more rights than the grantee.
But the problem with Facebook's license is not the copyright, it's the patent grant.
Example:
1. You create something similar to Instagram using React.
2. It gets popular
3. Facebook sues you and takes all your reacts and reducers
If you read it, it doesn't seem like GP's claim is completely true.
> 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
And, please, point in which part of the file you linked where is said that your license is terminated if Facebook sues you
Perhaps I highlighted that part because the original OP talked about Facebook suing you first. Dude.
3. You can't sue Facebook because your app is similar to Instagram
1) You create a successful app using React
2) Facebook blatantly copies your app.
3) You can't sue Facebook
Hypothetically if you ever grow so big and frighten facebook to that degree, migrating off react would be an easy problem to solve.
Please read Facebook's official FAQ on this matter::
https://code.facebook.com/pages/850928938376556
>Does the additional patent grant in the Facebook BSD+Patents license terminate if I create a competing product?
>No.