"To my knowledge, Facebook has never proactively sued anyone for infringing its patents."<p>That's not a good enough reason for developers or startups to give away legal power like that. Forgive me if I don't feel like waiting for them to turn evil.
> As part of the patent grant, you’d have to stop using Facebook open source upon claiming patent infringement.<p>IANAL but I don't believe this is correct.<p>If I'm using React and I decide to sue Facebook for infringing some other software patents I hold, I lose the <i>patent grant</i> for any <i>potential</i> patents Facebook might hold concerning React. Which they could go after me with if they do indeed hold such patents. There's nothing proactively forcing me off React.<p>I just don't see anything but good from this BSD+patent grant situation. It lessens software patent litigation in general and lets me know I'm safe from Facebook suing me specially. It seems fantastic!
This is good insight for Facebook's motivation behind this license. Even before this post, most people understood why Facebook would use this license. However, it still doesn't fix its problems for 3rd parties, and it introduces bad precedents for open source in general. I can see less collaboration over time between different companies if this license ever gets popular. I could be wrong but knowing the history behind it doesn't change my opinion that this will hurt open source in the long run.
This discussion just goes to show again the extent to which the tech community allowed itself to be gaslighted into accepting that:<p>1. Anything about react is patentable.<p>2. Licensing of unspecified patents is a thing.<p>3. Licensing of software without disclosing related patents held by the author does not invalidate those patents on the basis of bad faith acting alone.<p>In what obscene legal reality does adding a patent grant that can be revoked in certain circumstances puts the licensee in a worse position than a license that does not mention patents at all ?
There is something I don't understand about the HN comments when the React license comes up.<p>Whenever something about software patents in general comes up, the majority of commenters seem to condemn them - at a minimum in their offensive usage. And a vast majority of commenters seem to be opposed to them at least to some degree.<p>So if as a general position you do not support the offensive use of software patents, why does the react license matter _at all_ to you? The only time it would matter would be if you would sue facebook for violating your patents. Am I not correctly understanding the license? Does it apply any other time?
So, Facebook is the only company that struggles with this and come up with this arcane solution?<p>Google and Microsoft are just as big, yet they can manage open source perfectly fine without this ridiculous licence.
Replace "Yahoo" with "Microsoft", and "Facebook" with "Yahoo", and you have basically the same justification given to me as a Yahoo employee to patent my (company internal) hack-day ideas.<p>The engineering manager responsible said Yahoo would only use patents as a defensive measure, to defend themselves against patent threats from other companies. Same promises, same logic. Two years later Yahoo launched their software patent action against Facebook.<p>Software patents can only be used offensively. Because their defensive capability is limited to the threat of using them offensively. If there is no substance to the threat they are useless. So the value of software patents rests solely on their offensive capability.
This is a great explanation and it all makes sense.<p>Given the mess that it was born from, it makes sense for developers to think about staying away from this if building anything of consequence.<p>It also is incompatible with free software.<p>However there are a lot of things that are worth developing that are neither of these things and react can be a great choice there on the technical merits.
It's fine that Facebook wants to defend itself and gain hiring benefits from launching interesting projects, but those reasons aren't sufficient to allay concerns that this license won't be weaponized against small teams with interesting technologies.
Where I work we've already been given the "don't use React" talk from legal. I'm curious as to how many others out there are getting the same advice at their day job.
The issue of not wanting open source contributions to inadvertently license valuable patents is not unique to Facebook.<p>Qualcomm reorganized itself several years ago so that their employees who interact with open source would be assigned to one corporate entity while all sensitive patents would be held by a separate corporate entity.<p>Other large organizations muddle through with closer oversight of the open source teams by the legal team than either would like.<p>It is a difficult problem to solve.
After reading this article, I can see where Facebook is coming from when making these licensing changes. However, the points he makes about smaller companies feeling pain from Facebook due to patent infringement is very real too.
> it’s not clear how much switching to another React-like library like Preact or Vue would help; you need Facebook’s patent licenses anyway — in the eyes of the law — for any library that uses data structures, algorithms, or techniques patented by Facebook.<p>Can someone clarify what the author means here?
The post describes Facebook's motivation for their license, but personally, I don't care about their motivation, but about the fact that their license is anti-Open Source, anti-Free Software.<p>There's actually a big difference between the patents grant of a license like Apache 2.0 and FB's license and I quote (from Apache 2.0):<p>> "<i>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</i>"<p>In other words the patents grant and its revocation is made explicitly in the context of "<i>The Work</i>" being licensed. So you can still sue a company like Facebook for unrelated projects and still be protected by the license.<p>By contrast Facebook's PATENTS license says that:<p>> "<i>The license granted here under will terminate, automatically and without notice, if you (or any of your subsidiaries, corporate affiliates or agents) initiate directly or indirectly, or take a direct financial interest in, any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates ...</i>"<p>Let me spell this out for you:<p>1. if Facebook infringes your IP, but you happen to use React, then you can't sue them without also risk infringing on their React-related IP and be counter-sued for it<p>2. their PATENTS creates a unidirectional relationship; when Facebook accepts your contributions, they are protected because MIT / BSD are said to have an "implicit patents grant" (which supposedly works in the US) due to the estoppel principle<p>Btw, Microsoft is taking steps to do what Facebook is doing as well. See for example how they are switching from Apache 2.0 to MIT and the disingenuous way they are communicating the change:<p><a href="https://github.com/Microsoft/visualfsharp/issues/3440" rel="nofollow">https://github.com/Microsoft/visualfsharp/issues/3440</a><p>But folks, this is not how Open Source or Free Software is supposed to work. When you release something as Open Source, you need to allow others to use your work as they wish (Freedom 0, or in OSI parlance, no discrimination against fields of endeavor).<p>Patent-encumbered software is NOT Open Source or Free Software.
[IANAL] The React license provides more rights than BSD/MIT. Period. The "oh but what if Facebook has patents" claim is just as valid as it is for any other BSD code. If you're worried about React, you should be worried about all of your BSD code from companies that are big enough to have huge patent portfolios.
One thing I think would lay to rest a lot of this issue would be if Facebook would just explicitly state, "We have patents for React," or, "We hold no patents for React." There's a lot of misinformation going around, and some people say that there have been searches and found nothing, others have said there are patents, so it's very confusing. My understanding is that Facebook doesn't hold any patents for React or technologies that React uses, but I don't know for sure because I haven't seen it from a qualified source and Facebook hasn't said anything. The other thing I think would help is if Facebook made is crystal clear the meaning of the patent grant and explained it in plain English, because they currently aren't doing a good job at explaining it as evidenced by people always saying different things about it. Their relative silence and opaqueness around this issue only causes confusion and distrust of their OSS work, even if it is good.<p>The main reason that I don't like the patent grant isn't because of React specifically, it's because Facebook revokes ANY patents if you sue them for patent infringement, even ones unconcerned with the technology you're suing them for. This is why I prefer OSS licenses with explicit patent grants better, because they're worded in such a way that the only patent grants you lose are the ones that concern the technology under license (see Apache 2.0).
<not a lawyer>
In particular my reading is that the BSD license alone gives anyone an irrevocable right to use, modify and redistribute the software providing only the conditions in <i>that</i> license are met.<p>So one can either ignore the PATENTS file altogether or to formally fork the repo while omitting this file and it would be as if that file never existed.<p>Facebooks' (et al.) claim that these two files together constitute the governing license should be challenged as fraudulent - if they want to relicense react under a new license that contains terms regarding patents they can do so but the last revision before that would still be BSD licensed and the community can fork it.
</still not a lawyer>
Patents were created to protect an inventor.
Facebook does not need to protect any inventions, because they are so big and powerful. Patents can only hurt them.<p>If you have such a monopoly, only legal protection would protect you.
Maybe there is a way to make this a little more fair. Every open source project could add a patent clause that said "If you license your software with a patent clause and invoke that clause against anyone, you lose your right to use this software". I know, I know, tit for tat. On the other hand FB wants to be part of the open source community they should do it in a fair and reasonable way, and if they need to "protection" maybe everyone else needs it too.
When I learnt about it, I thought "Facebook wants to kill patent laws" which I believe is a good thing.<p>What if Facebook starts a foundation where every member makes the same kind of agreement. "Sue one of us over patents, we'll all withdraw our patent grants from you".<p>That might end the patent craziness.<p>This hockey stick (<a href="https://en.wikipedia.org/wiki/Patent#/media/File:US_patents_1790-2008.png" rel="nofollow">https://en.wikipedia.org/wiki/Patent#/media/File:US_patents_...</a>) shows the problem with patents clearly: what worked 200 years ago can't work the same today. The world is moving much faster than ever, yet patents are still granted for very long times. At this rate, how can you expect to NOT infringe on a patent?<p>Everybody's paying huge sums to lawyers to play what has become a null-sum game in the end. I think Facebook illustrates this: "sue me for infringement, and I'll do my best to show you're infringing too". Null-sum game.
A BSD license without a patent grant gives you less safety than a BSD license with a bad patent grant.<p>If you're not ok with Facebook's BSD+Patents, then you shouldn't be ok with BSD alone either.<p>There are licenses with a decent papent grant (notably, Apache) but BSD and MIT aren't among them.<p>If you're all up in arms about Facebook's OSS licensing and at the same time use OSS that is licensed without a patent grant at all then you're a hypocrite.
Even though Facebook's points are valid from their perspective, I think that they are setting a bad precedent which can be utilized by all the powerful corps if this picks up steam!<p>Is this the only way to stop a patent troll? Or does FB want others to think harder before suing?
All of this just poisons the water. I know people are looking for justifications for their favorite framework, but if Facebook wants to trojan horse FOSS with asymmetric privileges, it should just sell React licenses and call it a day.
I get that it seems scary for an innovative startup to have facebook steal your intellectual property just because of a javascript library you're using. But I am of the opinion that patents are worthless to small startups anyway so it's not much of a concern. Until a startup starts getting to unicorn status patents are basically useless. If a tech giant wants to blatantly steal your idea they will and their wall of lawyers will mean you can do absolutely nothing unless you can convince a VC that a legal fight is the best way to blow through millions of dollars.
Yet more BS from Facebook (and it's surroundings) on BSD+Patent. This piece does not mention anywhere the fundamental asymmetry of the patent grant.<p>First, Facebook grants you a patent license only in conjunction with the software. You are not granted a license to use a patent that React requires in some completely different piece of software. The only thing this patent grant prevents Facebook from doing defensively is countersuing the users of software that Facebook gave them for using the software that Facebook gave them. Unless that is Facebook's idea of defense, the patent grant (without the retaliation clause) does not impair the defensive capabilities of Facebook's patent portfolio in any way.<p>Second, the patent grant terminates if you (first) assert any patent claims against Facebook whatsoever. So in exchange for a very narrow grant of a handful of patents, you in effect agree not to assert any patent claims against Facebook for any reason, even if they're totally unrelated to the software that Facebook's patent grant came with.<p>IMO this sort of asymmetric grant of rights is a very bad development for open source. It's also quite disconcerting that Facebook (and it's surroundings, I realize this guy is no longer employed there) never acknowledges this even though they're surely aware of this. If Facebook were content with merely not increasing their exposure to patent problems through open source the Apache style patent grant would have sufficed. Instead they have decided to militarize their open source projects in the service of decreasing their patent exposure in completely unrelated areas.
IANAL but the patent grant seems independent of the BSD License. React is BSD licensed. In addition, Facebook has provided a patent grant that applies under certain conditions.<p>The <i>license</i> for React says that Facebook has given me permission to use it. It doesn't seem that they can then sue me over patents related to the code, because they've just explicitly said I can <i>use</i> it.<p>If I sue Facebook over patents, then the patent grant no longer applies. But the BSD License does.
My take is most people are worrying too much. I see lawsuits against big tech corp either comes from patent trolls or other competitors at the same scale. Being careful and prepare for future "do evil" is great. The only reason we can't trust patent license is because patent trolls are ruining the whole patent system, and the clauses in many patent licenses are too complicated to be trusted IMO.
> To my knowledge, Facebook has never proactively sued anyone for infringing its patents.<p>Past performance is not an indicator of future outcomes.
If the protection of defensive patents was really Facebook's concern this could have been addressed by using the Apache 2.0 license. The patent grant is clearly limited to its use in regards to the specific licensed work and if you file a patent suit regarding the work the grant is revoked.
Nonsense. Patent trolls don't use Facebook open source projects. Either they are completely dedicated to law or they are giants with their own code (e.g. Yahoo/IBM/Microsoft in the article)<p>This is the excuse. Facebook wants to dominate the small companies who might threaten their business model with patents on future technologies.
I completely respect a company's decision not to open source software. But to add restrictions of any kind to an open source project means it really isn't.
Until there is an example of a case where Facebook has abused a technology patented elsewhere and survived a lawsuit due to Patents+BSD all of this squealing is suspicious FUD. React is still a dominant tool for web technologies and anyone using this item in their checklist against it is doing the wrong homework.
All of these feel good stories about the Facebook license will immediately become null and void the moment they actually use it. Like an active volcano erupting for the first time in recent history, people will run away and never look back. Besides, React is not that great. Mixing view and controller, and incremental DOM is better anyway.