It's too bad that this particular point has become an issue with so many good open source projects. I still think that the risk, even for startups considering acquisition exits, is low (see this great post from a patent/IP attorney [1]), but the fact that it's enough to cause players like the ASF and WordPress to move away from it just means fewer players and less innovation in the ecosystem.

IANAL, but I wish the lawyers at Facebook would take one for the team and relax a bit on this (hey, more work for them, a plus!). If you're going to sue Facebook over patent infringement, you're probably going to spend a lot more on the suit itself than the eng costs rewriting a view layer.

I agree that the risk of running into legal trouble with Facebook is pretty low for many companies. However, that doesn't make it feel any less dirty. It would be nice if the lawyers at Facebook would take a chill pill on this one but that will never happen. It will be interesting to see where OSS projects from Facebook go moving forward given that the noise surrounding their patent clause seems to get louder and louder.

C'mon. It's not just pretty low for many companies. It's extremely low for almost all companies. Automattic found it extremely low risk for themselves.

If it's not extremely low for almost all companies, then you expect Facebook to initiate patent claims. How soon do you expect to hear that Facebook played offense on them? How many companies do you expect to hear that Facebook threatened or filed against?

According to the author of Preact, that's unlikely because Preact's implementation is very different (it's not just a cleanroom implementation of the same thing). However I'd be more worried that Facebook might hold patents not limited to React itself.

Considering how arbitrary software patents often are, I would think it equally as likely that they hold patents covering aspects of Angular or Vue as React. I would also think it's equally as likely that Google holds patents covering aspects of React or GraphQL.

As far as I know, unlike GraphQL, nobody has found any patents filed by Facebook that would actually cover any part of React, so right now the patent grant seems to be more of a statement of intent. But expecting you can dodge patent lawsuits by using different technology is absurd. The only way to avoid software patent lawsuits is not to own, deploy or produce software. The only winning move is not to play.

I just read it. I can't believe this patent was granted. If I'm reading it correctly, it's a patent for an old trick used by every OS and video game ever made. Basically, don't redraw things that aren't in view, and only redraw the bits of things that are in view.

Anyway, I can't see how this is applicable to React, as it really isn't how the v-dom works at all. The v-dom isn't about failing to draw clipped items. The v-dom is about diffing two trees and only updating changed items.

> nobody has found any patents filed by Facebook that would actually cover any part of React

Let's suppose that the set of Facebook's patents were known. The size of that set is large enough that if someone wanted to validate the claim that Facebook has no patents on React, it would be a massive undertaking—perhaps several man years, even. Not that this really makes a difference.

Facebook has thousands of patents with their name on them. They have thousands more where Facebook's name would not appear, because they control the patents through acquisitions and cross-licensing deals, which means the size of the set of Facebook's patents on any given technology is unknowable. We're basically running into the equivalent of the halting problem as applied to the world of IP—which has always been the crux case against software patents—it doesn't matter how diligent you are, because there's always the risk of being submarined.

So I don't know where this idea comes from that Facebook has no patents covering React. I keep seeing it repeated, and yet it seems to have been derived from nothing more than the same comments I saw early in the conversation about React probably not being covered—in which case, those comments are a terrible thing to base your understanding on, because I know those were just generic, off-the-cuff, probably underinformed speculation no different from 90% of the comments in any other thread about licensing.

"Additional Grant of Patent Rights Version 2
...
The license granted hereunder 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"

Seems clear to me that you lose the license to use React. The clause that terminates the license is contained in a grant of rights, but the license it refers to, is the license to which this grant of rights is an "addition".

Moreover:

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

The "other action" is pretty broad and might as well include "use your patents in any way that goes against the interests of Facebook".

Reading legal documents with a benevolent attitude towards the claims, intentions and goals of the issuer is a pretty bad idea. If anyone decides they won't ever have or deal with patents and thus they are free of danger, that risk is up to them; but don't do it because you think the clauses only cover a narrow and unlikely set of situations.

I feel like there is practical worth in drawing a line in the sand, though. If all open source libraries had this then using open source would essentially mean you can't sue the big corporations (or having to go through some very lengthy and very expensive expensive engineering if you do). I think that outcome is bad for the industry as a whole and bad for open source in general and it's better to fight now than have to fight it when it's more established.

Why would suing Facebook be good for anybody? Even if you're a VC backed startup and Facebook steals your patent it still would be a bad idea to sue Facebook. During this whole thing I've been agog because I can't figure out what the problem is. Patent lawsuits are bad!

The facebook patent clause states that you lose the licence rights to use react if you sue facebook against any patent infringement (for patents you own).

There is nothing in that saying that they have patents on react, and if they have patent covering, it very likely covers very much more than just react (because of the generic way patents are filed).

«The license granted hereunder 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»
see https://github.com/facebook/react/blob/master/PATENTS

No, this is wrong. You do not (and cannot, since it’s BSD) have your license to use React revoked. You do have your additional patent grant revoked - that is, if you sue Facebook for patent infringement, you will lose the right that they previously granted to use any and all patents covering React.

If we assume that any patents covering React also cover the alternatives such as Preact, the nothing is gained by avoiding React.

That seems like a fine thing to do as a "send a message" type thing, but doesn't seem to help patent wise?

Am I misunderstanding the flow?

1) Facebook has patents on some stuff React does.
2) (Assumption) Anything similar enough to be near-source-compatible probably runs a big risk of exposure to those same patents.
3) React is licensed in a way that you can use it without opening yourself up to patent litigation (it grants license to them).
4) Facebook infringes on some more-critical-to-your-business thing.
5) You sue.
6) Facebook sues you for using React (or Preact, from (2)?).

If you never use React you never get that patent license anyway, right? So be careful how distinct your replacement is. You'd need to analyze the claims of the patents you're worried about to see if they could still apply.

This is sort of correct, but what you need to understand is by simply putting something on the web you're probably "violating" dozens of patents held by multiple big scary corporations. The big difference here is that FB has specifically described the patent grant, while most open-source projects leave it ambiguous.

That's true. I wonder if they'd steer clear of Preact just because it is similar to React though? Also, Preact seems to be heavily reliant on the React ecosystem and it wouldn't be much of a rage quit if they picked up the skinnier version of React when that is what they should be doing anyways because... you know... bandwidth.

The patents file does not take away any rights or impose any obligations.

You already have a license to use the React software, because it comes with a BSD license.

The patents file is an additional grant of rights. Specifically, the right to immunity against Facebook patents related to React, unless you have yourself initiated a patent lawsuit against Facebook.

The Apache License and the Mozilla Public License also contain patent retaliation clauses. Not many people care about this, and not many people even read licenses or think about what they mean, except in the case of React, because it's become a FUD meme.

Here's from the Apache License, v2, clause 3:

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

So if you sue over a patent, the Apache patent grant terminates.

Here's from the Mozilla Public License, v2, clause 5.2:

"If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate."

This is even stronger: if you sue over a patent, the entire license (not just the patent grant) is terminated, so that you would then be violating copyright law by distributing software based on that MPL project.

Nobody ever mentions that patent retaliation clauses are fairly common in open source, and nobody definitely goes into any detail about what they mean and how they differ.

Oh I see. Thanks for the detailed explanation. Just have these questions: Without that patents file and the rights granted within, could Facebook theoretically sue you for infringing their patents by using their own open-source software? If not, what's the raison d'être for such a grant?

> could Facebook theoretically sue you for infringing their patents by using their own open-source software

Yes, but only because the question "can X sue you for Y" is true for any X and Y. Licenses can't protect you from being sued; the only thing they can offer protection from is someone else winning a suit against you.

If you assume that Preact infringes any patents that React does, it seems like you are strictly worse off using Preact than using React.

If Facebook goes on the offensive, you are protected if you use React but not if you use Preact.

If you sue Facebook for patent infringement and they use their patents defensively, you are in exactly the same situation using Preact as you are using React; you don't have a license for the patents in either case.

What react-specific patents do they have? Preact only borrows concepts like VDOM and the component lifecycle (which isn't new), it's not implemented the same. They share the same API but that's just a name against common events in a component lifecycle, and is mostly for interop and developer ease. I don't see how they could do anything to shut down Preact, though IANAL.

Vue seems the obvious contender but I doubt completely replacing React with Vue this far into development would only cause a delay of a few weeks. Preact or Inferno seem far more likely, considering they won't require massive rewrites.

If these mysterious patents are about things like "virtual DOM", comparing trees of state or something derived from FRP, then using Vue, Preact, Angular 2, Cycle, Riot, Elm, reflex-dom is not more patent-safe. Moreover, they can sue you even if you are not suing them.

It's time to move back to jQuery and Prototype.js. Let's wait 20-30 years until these patents expire so everyone finally can use these nice state-management things.

People who ridicule the notion of FUD causing actual harm, pay attention: this is a perfect example of the chilling effects of FUD on software projects.

Automattic didn't drop React because it doesn't like the license. Automattic dropped React because the FUD surrounding React's license might rub off on them (and WordPress). It's their right to do so and it's in the best interest of WordPress to avoid being dragged into the patent FUD but it's important to understand that this isn't an act of protest against Facebook, it's FUD in full effect.

> I'm not sure that it applies to situations where doubt is NOT unreasonable.

It doesn't, but it does apply to this situation because the fear etc. is unreasonable. Utterly. Either you have an explicit patent license or the entire PATENTS file becomes inoperative and you have exactly what you would have had with a plain BSD license. It's simple logic. Authority after authority, including Automattic's own counsel, has tried to explain in detail that patent law is not immune to logic. But still the FUD keeps coming, and it's harmful to open source because this is the exact same "why risk it" FUD that has been used against open source in general for years. It's the old Microsoft line returned from the dead, after Microsoft themselves have abandoned it to become pretty decent OSS citizens.

Implicit patent license, the one assumed when your code is open sourced without an explicit patent agreement. The implicit license has no conditional termination clause where the explicit one does. The fear is not unreasonable.

There is no such thing as an implicit license, though. The absence of a license only indicates the absence of a license, i.e. no license.

There is no precedent for BSD/MIT implying any patent grant.

So in other words it's only the chance of an implicit patent grant, which may or may not actually hold up.

In fact, this entire argument is backwards. React is licensed under the BSD license and comes with an additional patent grant. If the BSD license would imply any patent grant, the additional patent grant would only count on top of that so the FB patent grant would actually be irrelevant. If that's not the case, there is evidently no implicit patent grant in the BSD license. You can't have it both ways.

A deeply arrogant and ignorant notion. If you think this was about FUD you really don't understand why people protest React as a core component inside WordPress. Most people are well aware that they are unlikely to get into any kind of legal dispute with Facebook or otherwise. Nor is it an issue that Facebook chooses to license React the way it wants. And the majority are against software patents.

> If you think this was about FUD you really don't understand why people protest React as a core component inside WordPress.

Then please explain what this is about? Numerous other posts in this thread (including mine) have explained that you are strictly better off with the PATENT grant. I have yet to see a post that explains why this is bad without FUD.

FUD implies that a decision was mostly based on people's irrationality or misinformation about what the patents clause does or doesn't do. It's a lazy assumption not made by someone who has followed the discussions in the WP community, so yes it was both ignorant and arrogant.

> have explained that you are strictly better off with the PATENT grant

This point is irrelevant even granting the assumption that it does. You're inspecting the wording of the patent grant and gauging whether it is theoretically effective in deterring patent litigation and thereby conferring some kind of benefit to users of the software is (correct?). Well over 99.9% sites that use WordPress never have to worry about relevant patent litigation to start with, it's completely and utterly beside the point. Somehow this has blossomed into an argument that basically says 'our OSS software needs to come included with patent clauses for better protection'. It's ridiculous.

Why the FB license signals a bad fit comes from asking different questions.

Why is it there in the first place?

Because FB is a megacorp and operates like one, it is there to protect the interests of a megacorp. Not a slight on FB, but also not something we should welcome to package with every copy of our pure OSS software.

What is a consequence of non-standard clauses? Businesses and teams feel compelled to take up legal counsel. They may find that it turns out to be totally fine, as even Automattic found when it adopted React for Calypso. But others don't and the mere fact that the adoption of software is necessitating legal counsel adds an unnecessary and negative cost to choosing WordPress as a platform.

What kind of precedent does it set?

That non-standard additions to OSS licenses are fine for companies to impose. Alternatively, FB is a special case.

Does it undermine WP approach to OSS licenses and promoting these?

In WP we take no exceptions to GPL compliance and compatibility, no exceptions for obvious reasons. No business enjoys special privileges or exceptions. That's by design, WP stated goal is to democratize the web. Unstated goals mean that everybody is on equal footing, a level playing ground. You want to use WordPress? You can do so unreservedly as long as you convey the same exact freedoms that come with a GPL compatible license. No exceptions. Whether the patents clause is benign or not - it is a big fat sign that says "FB enjoys special privileges here". It complicates the picture by offering up a contradicting component by way of a non-standard clause. It introduces friction on a point where there should be no friction at all. It also encourages an ecosystem where multiple clauses are introduced with companies adding their own wordings to protect their business, it doesn't scale. No good reasons to support something that doesn't scale.

Who put the clause there?

A company that is hostile the open web, hostile to democracy, hostile to users and with a history of undermining startups while enjoying a monopoly position. It is entirely in-congruent with a world that WP wants to be in. It causes many people that use WP for whatever reason to be suspicious and wary of affiliating with or critically depending on anything this company does. That's not FUD, it's a reasonable position based on a cold hard assessment of what FB is.

But doesn't company X choosing React and determining it to be benign mean other users are worrying for nothing?

Any particular business might be fine with React, it all depends on what their project is and what their goals are. Other companies will explicitly avoid React for good reasons, some have done so on the basis of the patents clause. WP adopting core is making a decision for all people using WordPress and all future projects that would or would normally have chosen WordPress. It's a monumental decision, inviting different considerations. A platform that has pinned its success on offering something that is both free and licensed in a way to convey freedoms while working toward leveling the playing field can't just adopt a special license for all of its users merely on the basis that the software attached to the license currently leads the pack.

Everybody agrees software patents are bad, so why not embrace the patent clause?

I would guess virtually a 100% of WP users are anti-software patent. But clauses that protect corporations are not the solution.

There’s no precedent to set here. There’s already a license for BSD+PATENT, and it’s called Apache license. Is Apache setting a bad precedent as well?

Additionally, it’s not like companies licensing open source work under customized license is uncommon — tons of software do that, and Facebook is by no means the first. For example, OpenJDK customized GPL by adding a classpath exemption.

Why then, do you need to give Facebook special treatment, and make this look like a dangerous slippery slope? Oh yeah, because Facebook is a evil megacorp that’s “hostile to the open web”. How is this, as part of a discussion about the license, “completely and utterly pointless”?

This whole argument could be summarized into we want GPL, react’s license is not GPL (“In WP we take no exceptions to GPL compliance”). That’s it. Instead, you have to point to supposedly evil motives behind putting the PATENT file there, and yes, I’ll say it, using not-so-true arguments to spread FUD and perform a character assassination. It’s ridiculous.

FWIW because Apache is a thing, I always assume BSD/MIT means only what the license says it means. This is actually why I prefer large projects adopt Apache because it holds a lot more water by being an actual license with real legal language rather than just something cobbled together by programmers (though as a programmer I have to admit I prefer the brevity of BSD/MIT).

I don't understand how anyone complaining about the FB patent grant could honestly bet the farm on any implicit grants in BSD/MIT style licenses. The only logical conclusion if you're that scared of patents is to avoid anything without an explicit patent grant, i.e. sticking to Apache, GPL and friends.

> There’s already a license for BSD+PATENT, and it’s called Apache license. Is Apache setting a bad precedent as well?

That comparison is incorrect because the termination clauses are different. The patent license under Apache only terminates if you sue about the specific patents covering the software. By contrast, the Facebook patent license terminates if you sure Facebook (or an affiliate -- who is that?) over any patent whatsoever (including patents not covering the software, such as unrelated patents you own and which Facebook is infringing willfully because they know you dependent on React in your products).

Note that we're not talking about the specific details about the licenses. We're talking about "companies setting a precedent".

> > This point is irrelevant even granting the assumption that it does. You're inspecting the wording of the patent grant and gauging whether it is theoretically effective in deterring patent litigation and thereby conferring some kind of benefit to users of the software is (correct?).

You are also talking about the irrelevant stuff here.

I have no doubt Apache is a better license. But what Facebook is doing is by no means something new.

> Instead, you have to point to supposedly evil motives behind putting the PATENT file there

No where do I imply FB has evil motives for instituting the patent clause, nor do I hold FB to account for putting it there, I don't even dispute in any particular way that it deters patent litigation (at least not for FB), nor do I speculate FB will use the clause offensively. It's their choice and it's reasonable from their point of view. It's a big corporation doing things in a big corporation way.

> perform a character assassination

I think you've assassinated my above comment. What I've stated here about FB is not unreasonable or unfair. It's very odd that you would feel the need to defend a corporation as if you are describing a person (character assassination?). Tell me what is factually incorrect about the way I've described FB here? It matters what effect this corporation has on the wider ecosystem. Corporations of that nature behave in a way to maximize their own interests. This is not a commentary on its developers or even their legal team, it's just acknowledging FB for what it is.

> we want GPL, react’s license is not GPL (“In WP we take no exceptions to GPL compliance”)

It's rather ironic that you took issue to my earlier comment calling out an ignorant and arrogant notion, then make several of your own. The assumption that this is about being hard line about one variation of an OSS license obscures the fundamental objections here (why leave out the fact that I referred to "compatibility", which many licenses are). I have no special affinity for GPL, nor do most others in WP. It's a license that conveys certain freedoms and levels the playing field, this is all I care about.

The 'no exceptions' is a simple first principle in play in the WP ecosystem that acknowledges that all parties should be party to the same conditions in order the obtain the maximal benefit for all users. The WP community has been fairly aggressive in doing that and it has paid off in a big way. Over time there's been some push back from some individual companies wanting to license things in their own more restrictive way (thereby taking away freedoms from other users). Some businesses were resistant about that thinking it would undermine profits, but this has proven to be false. In fact very few companies operating in the WP space use complicated licenses even where it is perfectly kosher (a split license on CSS is fine but hardly used by theme developers for example). This has done great things for the ecosystem, almost all themes & plugins and apps have a simple to understand license that provides great freedoms - everybody benefits.

This is a nuance that might not be grasped when people are just looking at the patent clause in a vacuum, but the way we've pressured compliance has been possible on the basis that no company is a special snowflake, everybody gets to play by the same rules. Putting React in core dents our ability to reason on that basis (this not a unanimous opinion but lack of unanimity to the contrary undermines WP reputation on this issue irregardless).

Comfort can hurt. Automattic is not comfortable with the Facebook license and you say it like it's a baseless FUD but even if they get a 1% chance of going to court against Facebook then they rather not take that risk of litigation anytime in the future. It's a business decision for the long term as rewriting doesn't cost that much for them.

Did we read the same article? Automattic is not worried about the license. Automattic is worried about how others perceive the license and how that will lead to WordPress being perceived. They see no risk in the license, they see risk in how they will be perceived for being associated with the license.

The license is ONLY a problem if you intend to initiate litigation against Facebook and can't swap out React (or a React-using product you rely on) with something else. Something tells me the number of companies that a) will ever be in a situation to sue Facebook over patents, b) rely on React or React-based products, c) don't already infringe upon any other Facebook patent without using React, AND d) would be severely harmed if sued over React patents, is exceedingly small.

Google, Amazon, Microsoft and Apple only fulfill conditions a and b (although React is non-vital to their businesses). Most startups only fulfill conditions b and d. In order to meet all four conditions, your company would have to be built entirely on React (or other FB open source technologies), be small enough not to be able to replace React, not infringe on any of the many other patents FB holds and yet somehow own patents FB infringes on and want to actively sue them.

Deciding against React because of the patent situation for most companies is the equivalent of worrying about someone stealing your second million before you have even made a single dollar.

No, that's not what the article says. It says the fears around the license are something they do not want to have to address within their ecosystem. Wordpress itself is comfortable with the license. There is no fear of going to court.

> So basically, the FUD helped individuals/trolls/companies who want to wield software patents as a weapon; to the detriment of the wider community

This is just beyond ridiculous to characterize the FB patents addition as some sort of social good needed in the battle against patent litigation, like they are doing everyone a favour. The patents addition in the license is there to protect FB's interests. Words that specifically benefit the interests of a megacorp do not belong in an open source license meant to be used by everyone and anyone. It sets a terrible precedent that can be used to justify a whole range of different companies adding their own clauses, each of which that can be plausibly argued for. And all of that requires other companies to conduct legal counsel, altering which companies would be adopting WordPress - imposing a kind of decision making process and barrier that few if any in WP would or should desire. And it's not even worth it considering there are equally attractive alternatives out there.

Sadly there's not. I like Vue, but it doesn't have the maturity or ecosystem of React. Plus React Native is a great addition to open source that Vue has yet to fully counter. There's also GraphQL, which is published by this license as well. Lots of great, revolutionary tech impacted by this license.

WordPress is looking for a way to create modern interfaces in a more streamlined way and are looking for a tool to make that easy. Any number of libraries and frameworks are perfectly viable or can be made viable, most of which are operating from the same set of ideas while delivering the same benefits.

The size of React's ecosystem, bus factor and the availability of React Native all are nice but overstated in their importance relative to alternatives and obscure the many other considerations the WP community weighs up.

Further more, React's ecosystem size conveys marginal benefits given that use of React in core would have been constrained (it's not like core devs would be tapping into many additional React-based tools for core work).

React Native has not proven itself to be as stellar and promotes lock-in. If we come to rely on additional FB-engineered architecture to such a degree WP bets its future on the decisions made by a corporate giant with goals very dissimilar to WP and with decisions that may change down the line. This idea that FB has somehow has the closest thing to the holy grail and so we must all jump aboard the FB train is a very foolish and shortsighted one in my view. WP was wise not to adopt it.

Wordpress itself depends on its ecosystem of plugins to make it so powerful. React is no different. There are 40,000 packages on NPM for React. That's something no other JS library comes close to save for JQuery. That does matter. I think Vue may very well get there some day. It's just not there yet. Maybe the WordPress support would be enough to take it mainstream.

Gutenberg's direct React usage is actually quite small - components implement a WordPress element, which is currently a wrapper for React, but can be transformed to use something else behind the scenes.

The current understanding is that none of the patents in the portfolio currently covers React (and by extension, preact). But flipping the switch would satisfy the first-order requirement of not imposing the FB patent grant upon users of WP

Lawyers. They sure are spoiling the success for the React folks. You can bet Facebook has alot of them and you can bet their political influence is strong with the upper management.

Lawyer: "this thing, this point in the contract, it's VERY VERY important". The more lawyers you get in the room, the more beard pulling, wailing and hand wringing there would be about the dire, dire consequences of taking this stupid clause out. And of course the world would come to an end if no-one listened to lawyers.

After I fucked several business deals listening to lawyers say how contracts should be changed, I decided to make my own decisions about what matters and what doesn't in a contract.

The real problem for ReactJS is that someone at facebook is listening to the lawyers wring their hands about some possible future that will never happen. facebook should just grow up and tell its lawyers to shut up and go back to doing.... whetever it is they do.

Facebook has been subject to numerous patent litigations and is very likely to be involved in future patent litigations. Maintaining a defensive patent portfolio is an important part of preparing for such litigations, so Facebook's lawyers certainly aren't idly protecting their patents.

But that's irrelevant here. FB is likely getting sued by patent holding companies who aren't reliant on or using React. So the patent clause doesn't really get FB anything against patent trolls.

It does get them leverage against legitimate patent holders. There have been reports of companies having to pay in some roundabout unspecified way royalties to FB for React as part of a large patent licensing deal.

I'm somewhat skeptical of these reports, but if there is direct revenue to FB from this clause it would be the Occam's Razor explanation for their intransigence.

The patent clause isn't designed to give Facebook leverage. It's designed to grant patents unless you sue them. Even though patent trolls don't use React, Facebook wants to ensure that they don't grant patent licenses to patent trolls.

> There have been reports of companies having to pay in some roundabout unspecified way royalties to FB for React as part of a large patent licensing deal.

If you can provide any direct evidence of that, I'd be fascinated. I highly suspect it's FUD.

But Facebook can infringe on your patents if they know you have a heavy dependency on React. They won't sue, just infringe. And you won't be able to sue them with zero losses, you will lose at minimum React.

No, you'll only lose the patent license for React, leaving you with exactly the same copyright license you would have had with plain BSD. There is no scenario in which the PATENTS file (not clause) enables Facebook to infringe on others' patents any more than they would have been able to do with plain BSD. If you think this makes using React risky, then you'd also have to believe that using thousands of other BSD-licensed projects has been risky for years. That is, if you want to be logically or legally consistent.

This "adds risk" argument is very familiar from other FUD campaigns (e.g. Microsoft's) against open source in general. It's pretty weird to see people who claim to believe in open source pushing arguments that work against most open source.

Seems that the real issue is that Facebook asserts/implies they have patents relevant to React, and that they are willing to enforce them in court under certain conditions. This creates an uncertain situation. The patent grant helps somewhat, but limits your freedom of action should Facebook e.g. steal your technology. Look at the four possible scenarios:

The patent grant is fine if you think you'll never, ever want to sue Facebook. But should a dispute arise, you'll quickly find the technological rug pulled out from under you. You've now built your entire business on Facebook's asserted IP and have no recourse but to license it or try (futilely) to defend your infringement in court.

Facebook uses React for their own projects. To them, if more people use it that's probably great and all, but I don't think they are really hurt by people choosing not to use it. They clearly would rather keep their license as it is than change it to win over new React users.

License with no patent grant: Facebook can sue you for infringing patents,
even if you are using a clone!
License with patent grant: Facebook cannot sue you for infringing patents,
unless you do it first.

> The license granted hereunder will terminate, automatically and without notice, ...

There is no reasonable logical or legal context in which "hereunder" refers to anything except the PATENTS file itself. What lawyers have had to clarify is what should never have been an issue because it was already clear. They're not the ones muddying the waters. Opponents are. We should be asking who is so determined to put this meme out there, and why.

The PATENTS file refers to all patents granted to you by Facebook in any project, not just in React (or any of the other files containing the PATENTS file). I think it's scoped a lot more broadly than you seem to imply.

It refers to all patents as potential triggers, not as potential consequences, and that still doesn't allow a patent license to nullify a separate copyright license. I think it's scoped a lot more narrowly than you are trying to imply.
I've provided detailed reasoning for my position. Feel free to reciprocate.

Suing Facebook for an unrelated patent will make any software you use that may only work with ANY Facebook patented works useless. It doesn't discriminate to this project. They retain first strike however, so all the people saying this is great because patent litigation is bad, Facebook still has first-strike here.

Also, the copyright license isn't useful unless you have complete knowledge of Facebook's patent portfolio and are certain that without a patent grant (implicit/explicit) you can still use the software at all. This goes for Facebook as well as immutable, graphql etc.

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

This amounts to a sprawling amount of individuals/orgs that can make you rewrite everything.

You're still assuming, contrary to all fact and common sense, that either the copyright license or the implicit patent license are affected in any way by what happens to the explicit patent license. I've explained elsewhere in this thread why that's not true. As long as you continue to base your argument on that assumption, without even acknowledging (let alone addressing) explanations to the contrary, that argument is a waste of everyone's time.

> You're still assuming, contrary to all fact and common sense, that either the copyright license or the implicit patent license are affected in any way by what happens to the explicit patent license.

Why would it be unreasonable to assume that the explicit clause in a contract exists to override the implicit clause? Isn't that kind of the point of explicitly enumerating cases? Where, elsewhere in this thread, do you explain this?

And your aggressive tone is unexpected.

Edit: Also, I didn't say the copyright grant was affected, but if you don't have a grant to use a patent that the software flexes.... ? Being concerned vs. assuming flowers seems safer in untested legal waters.

No. Explicit enumeration is also done to address things that are missing or ambiguous. If the intent is to replace or negate something that would otherwise be true, that's usually explicit too. "Superseding all other agreements, express or implied..." or some such.

Then you should apply that concern to all BSD-licensed software. Ditto for MIT license, and others that come with no explicit patent permission at all. All they have is the implicit permission necessary to support the copyright license (which is otherwise separate). The case for that is strong, but it's completely independent of the explicit license. Why not have both? Why take the risk of relying on one alone?

The Drupal community struggled a bit with the decision as well (see https://www.drupal.org/node/2645250). It seems there are a number of open source communities and enterprise development shops who are just not comfortable with the patent clause. React had a lot of momentum, but it seems alternatives like Vue.js are going to be the long-term winners in terms of being 'the next jQuery' in terms of longevity as a front end standard.

I don't think there will ever be another jQuery. Just like there won't be another Michael Jackson. The world is balkanizing, different people use different tools and listen to different music in a way that wasn't typical 10 years ago.

I'm willing to bet $100 they will switch to Vue. It's similar to react (which they want), arguably easier to learn, and the WordPress community comes from a php background, which has already embraced Vue. This is a big plus for plugin developers.

Vue is also based on React, it uses the same exact principles internally, although in a less concise and more complex way as it leans heavily in Angulars direction on the outside. All templates are either transpiled or evaluated into createElement-like functions, from then on it has a v-dom and works/diffs/renders/composes like React.

This could "violate a react patent" according to you:

const Test = () => createElement("div", null, "hello word")

No one has ever seen nor referenced a patent for this, but if we're really at that point then i'm afraid everything would violate such a patent.

Many trumpet the problems with patent infringement cases, particularly in the odd calculations of "damages one would have avoided if the infringement potential were known". Few trumpet the real cases of fear, uncertainty, or doubt killing business opportunities. Acquisitions are called off when the IP review finds GPL in a product, or your proprietary networking technology losing its patent protection to Amazon (because someone signed up for AWS for a month, years ago).

I believe WordPress made the correct leap not to embrace a "license taint" that would smell bad to cautious users.

What an ironic statement, considering that that combination can be lethal to a company.

Besides, have you ever heard anyone say why they prefer to use Facebook even when they are aware that it is tracking their every move? Usually the answer is "convenience". By the same token, not getting confused or angry is also a great convenience to the user. Very few Wordpress users actually care about the baselessness or meritlessness of using one JavaScript library over another. They just want Wordpress to work.

> I you're not a lawyer then your assumption that it's a perfectly OK patent grant is baseless and meritless as well.

...as would any non-lawyer's claim otherwise. Do you call them out the same way, or are you selective about where you apply that rule?

In actual fact, it only takes a tiny bit of familiarity with patent law to see that a revocable grant can't be worse than no grant at all. Many engineers have such familiarity. If you haven't triggered the revocation clause in the PATENTS file, you're strictly better off than with plain BSD, because you have all the rights you would have had before while Facebook will have given up the right to sue you first (for patent issues related to your use of React). If you have triggered that revocation clause, you're exactly where plain BSD would have put you to begin with. So you're either better off or exactly equal. Never worse. Anyone who claims otherwise either hasn't actually read the PATENTS file, doesn't have even minimal familiarity with how the law works, or is spreading FUD.

I think DannyBee is simply wrong that the explicit grant extinguishes the implicit one, and I've seen plenty of real lawyers agree. The copyright license and the patent license (LICENSE and PATENTS respectively) are separate contracts and even address separate areas of law. The legal principle involved here is that the permissions granted under LICENSE may not be unilaterally withdrawn except for reasons specified in that document itself. That's why some contracts have specific clauses saying that they may be modified by subsequent contracts, because otherwise they may not. LICENSE lacks such a clause. Therefore, in the event of the copyright holder bringing any kind of lawsuit (not just patent) that interferes with others' exercise of permissions given under LICENSE, they would become liable (for breach of contract). It's really not so much an implicit patent license as a guarantee that enforcing patents would lead to mutually assured destruction.

The key point here is: all of that still applies regardless of what other contracts exist between the two parties - including the explicit patent grant. The PATENTS file can not modify or nullify anything except itself, either by its existence or by its subsequent revocation. No court would say that it does, because the implications for contract law in general go far beyond patent and copyright.

Disclaimer: IANAL. I'm just a guy who understands logic, and who has been involved with software patents from an engineer's perspective.

"permissions granted under LICENSE may not be unilaterally withdrawn except for reasons specified in that document itself"

where DannyBee is not taking the patent licence to be a permission that can be implicitly granted under LICENCE when there is a separate explicit PATENTS grant.

He states in the followup comment "No license can be implied if there is an explicit license." which I'm guessing you would say only applies if the explicit licence is within or allowed for by LICENCE.

Do you think that is that a fair representation of your points of view?

I think that's fair; thank you. I still think it's untrue that an explicit license extinguishes an implicit one. Consider the two-explicit case. Let's say you and I have two separate contracts, both of which grant me the right to cross your land. If one of those contracts completes or is terminated, does that mean I can't cross your land any more? That would be even crazier than lawyers usually are. I'd still have that right under the other separate contract.

Now, why would it be any different if one of those grants is implicit? Again, that would be even crazier, etc. Allowing contracts to interfere with each other like that (in this case the copyright license being affected by a patent issue) would make contract law even more of a nightmare than it is already. I strongly believe courts would reject that not only for the sake of logic or justice but out of sheer self-preservation.

Of course, we're all speculating until this exact issue is tested in court. I just think the people assuming the same as DannyBee are leaping toward the least sane and least likely conclusion, and asking others to do the same.

> The PATENTS file can not modify or nullify anything except itself, either by its existence or by its subsequent revocation. No court would say that it does, because the implications for contract law in general go far beyond patent and copyright.

The law is more about precedent than logic. Unless you can point to specific opinions from lawyers or judges on this, this sounds more like your opinion than any kind of proof.

At issue is that Facebook putting both the License file and the PATENTS file in the same repository seems to many people like an overt act that extinguishes any implicit patent grant in the same way the "Clear BSD" license does (although a difference there is a modified license file). It feels to me like like Facebook is trying to have it both ways -- seeming to be a good citizen in the free and open source community but at the same time creating a one-sided deal with extra conditions. If they wanted to be unambiguous, they could have used the Clear BSD license and then added the PATENTS file.

> I've seen plenty of real lawyers agree.

Links?

For reference, here is an opinion from an actual US Patent lawyer citing actual US legal judgement about implied patent licenses implying how an implicit grant in this case would be broader in scope than the explicit Facebook PATENTS license:
http://en.swpat.org/wiki/Implicit_patent_licence

===

In 2005, Dan Ravicher explained that, in the USA, recipients of software under the GNU GPL version 2 receive an implicied patent grant, based on the following US case law.

De Forest Radio, 273 U.S. 236 (1927)
"No formal granting of a license is necessary in order to give it effect. Any language used by the owner of the patent, or any conduct on his part exhibited to another from which that other may properly infer that the owner consents to his use of the patent in making or using it, or selling it, upon which the other acts, constitutes a license.”"

Hewlett - Packard Co. v . Repeat - O-Type Stencil Mfg. Corp. , Inc., 123 F. 3d 1445 (Fed. Cir. 1997).
"Generally, when a seller sells a product without restriction, it in effect promises the purchaser that in exchange for the price paid, it will not interfere with the purchaser's full enjoyment of the product purchased. The buyer has an implied license under any patents of the seller that dominate the product or any uses of the product to which the parties might reasonably contemplate the product will be put."

Bottom Line Mgmt., Inc. v. Pan Man, Inc., 228 F. 3d 1352 (Fed. Cir. 2000)
"Unless the parties provide otherwise, the purchaser of a patented article has an implied license not only to use and sell it, but also to repair it to enable it to function properly. This implied license covers both the original purchaser of the article and all subsequent purchasers."

===

Still this does not address the issue of an explicit grant extinguishing an implicit grant. It seems like that may still need to be tested in court. The practical issue then is, why bet your company on an unknown like that when there are perfectly acceptable alternative UI libraries (even better ones technically like Mithril, Inferno, and so on)?

It provides weak support for your position, because most of the cases it cites are for things that clearly follow different rules and precedents than patents do. Pretty sloppy for an "actual US Patent lawyer" if you ask me. More importantly, "broader in scope" does not imply "exclusive of". The implicit license might indeed be broader and there's still no whiff of either extinguishing the other. As I've said repeatedly, when contracts (of which licenses are a subset) are written to supersede something else, they say so. There's no implicit nullification.

I understand why Matt came to this decision and ultimately agree with it. As someone who builds products based on WordPres for other companies, I can understand the concern. Imagine I build a site that uses WordPress 4.9 (or whatever release Gutenberg is will come out in) for a startup. Facebook legitimately copies a startup infringing on their patents (think about the Snapchat/Instagram feature battle), and the startup sues Facebook. They then have their react license revoked and can no longer use WordPress. The same thing applies with React native.

On the other hand, I do understand Facebooks reasoning. I'll definitely be watching this over time and hope that a legitimate solution will arise.

The last time the PATENTS file was changed was 3 years ago. It has passed the smell test for Microsoft (and dozens of other large companies) with literal buildings full of attorneys who have more experience with licenses, patents and everything between then most.

You aren't missing anything. What you've pointed out is also the reason I find this all so fishy- it has been the same for years, the risk has been the same for years. No one who was really worried about the patent risk would have accepted a "wait and see" approach. Because... that would be risky to do.

Not a day goes by ... same came up in the project we're working on as our partners got wind of it and are now complaining. It seriously worries me as it's getting harder and harder to justify React although the technology is sound (perhaps close to perfect). The worst part is that this is already threatening v-dom in general (like Preact, Inferno, Vue, etc.) as people are falsely claiming FB holds a claim on it.

The React team should re-think their approach. Is it really worth it to dedicate time and spirit on technology that is dear to us all, that is meant to enable amazing applications, but Facebooks lawyers make it hard for us to use, doesn't even matter if our lawyers understand the patent clause correctly or not because they're the ones having the last say, and as this is snowballing out of control they tend to say no.

>Is that the "why"? If so, what does he mean by it? Meaning: What is the "danger" that Matt says Automattic will never run into, but that WordPress users will run into?

He answered that already. He doesn't believe there's much (if any) danger, but:

"we have a lot of problems to tackle, and convincing the world that Facebook’s patent clause is fine isn’t ours to take on. It’s their fight".

So what they don't want to "pass down to [their] users" is not something they believe is an actual danger, but the anxiety about the licensing that users would face and the arguments etc that will erupt over this.

In other words they're optimizing for bullshit avoidance - absolutely a valid decision. Or another way to put it would be that they don't want to be in the business of having to sell Facebook's legal turds. ("Sell" as in "persuade people to accept.") There are other client-side frameworks that don't carry that kind of baggage.

Frankly they get bonus points in my book just for the mere act of divesting from something Facebook owns, so that would've been a good enough reason for me. But hey, they also get to retain their right to sue Facebook if needed.

I think when Matt says "long-term consistency with core" he also means consistency with the philosophical aspects of free software. Note that the piece starts with Facebook's reaction to the Apache Foundation's stance against using React.

If I understand correctly, the Calypso project was related to the administrative dashboard in their hosted WP offering (and other widgets that could be used in self-hosted WP.) Going forward it looks like Gutenberg is also about the code in the pages that visitors see on published sites.

Gutenberg will be distributed with WordPress itself as the new post editor. This means the license(s) used with it will then apply to users of WordPress, who may or may not want to agree with React's license despite Automattic (WordPress.com) being comfortable with it via Calypso (WP.com's front end).

A lot of people here are projecting their dislike of software patents onto this whole issue which is a big mistake.

IANAL but I don't see anywhere in the PATENTS file where it restricts this issue to software patents. In fact it explicitly talks about any software, technology, product or service.

That means you essentially can't sue them over any patent ever. Not just software.

With Facebooks history of "liberal borrowing" when it comes to product, it would be prudent to assume this same strategy might be applied to non-software products and services.

I completely understand why WordPress is doing this. It makes a ton of sense. WordPress powers some ridiculous percentage of the web. They are doing The Right Thing (tm) by not stopping every single one of those users from bringing a patent complaint against Facebook. Software or otherwise.

I'm here to say that the Gutenberg team is going to take a step back and rewrite Gutenberg using a different library. It will likely delay Gutenberg at least a few weeks, and may push the release into next year.

Apparently the Gutenberg Element concept (https://github.com/WordPress/gutenberg/tree/master/element) wraps React to minimize contact with React itself. So converting to Preact might not take over long. Note that I haven't dug very far into the Gutenberg codebase so at the moment I am just supposing.

Yah I LOL'd out that one. A year from now we'll be reading the postmortem of the problems the Gutenberg team has faced swapping out React for another library and how things still aren't quite what they used to be.

This is not an appropriate vector to 'fix' patent law. If you want to fix software patents, it should happen across the board and not by companies selectively weaponizing their projects and polluting the whole ecosystem in the veil of open source contributions.

Why does the Facebook license try to push an agenda with a perpendicular concern to the open sourcing of Reactjs?
Was the purpose of opensourcing Reactjs a way to not get sued? They lost credibility in my eyes on their intention.

There was an article about that recently - it wasn't proactively pushing an agenda so much as, if FB wanted to release any software as OS, without the grant, the lawyers would have had to review every commit to avoid violating someone else's patent.

Completely rewritten is a bit of an overstatement. It depends on what road they choose. They could go with a react-API compatible library and the work should be minor. They could go to angular/vue/... which is more work, but they all work component based, so you can keep the entire structure.

They can only be owned by their copyright holders, which is separate from patents.

If anyone had a patent on virtual dom / diffing, then they could sue anyone else that used an implementation that was implemented in the same way as the implementation in the patent. That doesn't then mean that they "own" those implementations, only that they can use the courts to stop others using them or pay to licence their patent.

Too bad I wasn't able to setup Hot Module Reloading yet, otherwise I'd switched to Preact. Not because I am concerned of the license itself, but because we are heading towards an acquisition exit and I don't want that to be a factor - who knows, where we're at in like five years?