So... I guess I still don't understand what was wrong with BSD+Patents.
I get that there's legal uncertainty: I can imagine some companies, especially larger ones, not wanting to give up their patent-suit option just because one random small team in their org is using React. And barriers to adoption aren't a great idea when one of your goals is wide adoption.
Overall, though, I think making it much harder to file patent suits -- at least for software patents -- is a great thing. Facebook's (and others') implementation of it might have left something to be desired, and they're certainly a large company with a lot of resources behind them, so the power dynamic might be a bit lopsided, but...
Well, let's just say I'm a small company or individual who wants to release some open source code. Doing so under a BSD+Patents-style license gives me some protection from any big players who decide to use my software. How is this a bad thing?
I suppose I hold a pretty strong anti-patents stance, though. I'd be happy if (most?) patent protection just went away entirely.
As an aside, note that it looks like FB is going with straight MIT. So they're not even giving users of their software a patent grant at all anymore[1], and reserve the right to sue you later just for using their software, if they happen to have a patent on something in it.
[1] Yes, there are some legal opinions that the MIT license's language includes an implicit patent grant, but I don't believe that's a settled matter.
1. Software patents are a huge, huge, existential crisis facing our industry.
2. So huge, in fact, that nobody wants to deal with it. We can't realistically figure out if the libraries we are using are covered by patents, and given how broken issuance is, they probably are.
3. So the only practical solution is to use MIT licensed libraries, pretend there's no patent issue, and put our heads in the sand.
4. But Facebook's BSD+Patents license made us think about patents. Nobody stopped and said "can we use Angular? Are there patents on core elements of it?". But people did stop and ask that about React, because Facebook was (accidentally) making people think about patents, and the more you think about patents the more you wish you were a plumber and not a dev so all you'd have to deal with is toilets blocked with shit, and not software patents, which are much worse.
5. Now that it's under an MIT license it's just as dangerous to use React (maybe more) but we can pretend it's safe again.
Notice that Wordpress's decision to switch from React (which probably led to this) was quite clear: They were not switching due to patent concerns about React, they were switching because the non-standard license was stirring up FUD and making people ask them uncomfortable questions. (We know this because they explicitly said so, and also because the leading contender for a new library was Preact, which is strictly more dangerous from a patent point of view than React under every possible circumstance, but has a license that lets your pretend everything is okay easier.)
This. I don't even want to know how many patents we're all infringing on in everything we ship. We all just sort of sweep this under the rug. No one ever does a technical/patent analysis. Is patent check part of your deployment pipeline? I highly doubt it. There's probably tens of thousands of broadly worded software patents out in the wild. The only thing that keeps the industry safe is how difficult it actually is to do that analysis because of the inherent complexity in both software and patent law.
I have one counter example. I used to work at Samsung's R&D a few years ago and there patent analysis (and filing patents) was obligatory for every developer. They had been bitten by lawsuits a few times so they learned.
The sad thing is that Facebook's policy was obviously informed by exactly this point of view, that, essentially, software should not be patented.
It's the backlash that was led by people who considered it a realistic possibility that they may, some day, want to sue Facebook for infringing on one of their precious patents.
"and the more you think about patents the more you wish you were a plumber and not a dev so all you'd have to deal with is toilets blocked with shit, and not software patents, which are much worse."
If it's licensed MIT, the Engineers just say "it's MIT license like half of the libraries we already use" and it's a legal non-issue.
If the license is not one of the standard ones already in use, and it mentions patents, suddenly legal gets involved and it's a disaster. They're very risk-adverse and no one's really sure what will happen when it gets to court. It doesn't have to make sense - after all, most software patents don't make sense, and most software patent lawsuits don't make sense.
Copyright makes some sense - some entity wrote the code and has (or has not) given explicit permission for others to use it, and under common open-source licenses those terms are reasonably well understood. But patents can come out of left-field and be unrelated to the user or the producer of the code. Being aware of patents (which should not cover what you're doing or should not exist) makes punitive damages worse. Again, best to just put your head in the sand and hope the patents don't notice you. Any language about patents adds complications which no one wants to figure out.
This is the first time I've seen "put your head in the sand" as an actual recommendation, instead of being characterized as something not to do. And as far as recommendations go, it's more than a little bit nutty.
Not at all. Willful infringement is grounds for triple damages. So "never, ever, ever look at patents unless an attorney asks you to" was the company policy at Microsoft and Apple when I was there, and at several other major tech companies whose policies I happen to have heard of. If you were to mention to a company attorney that you've looked at another entity's patent, there would be a loud screeching noise from the attorney and you'd be scheduled for an immediate refresher course on patent policy.
It's actually a common policy when it comes to patents. If you are found to infringe on a patent and it can be shown that you knew about it, the penalties are much harsher. This is one of the many reasons people consider the patent system to be badly broken.
There is not. If you know the patent exists, you get higher (I think triple?) damages. If you don't, you don't. And you have no obligation to check.
Example: There is a patent in the US on ordering food from a menu online. It's held by a NPE (aka, a patent troll), and they charge a fairly high license fee. Some people who offer online ordering to restaurants pay the license fee; others don't. If you don't pay, then you can afford to charge lower prices than your competitors. If you do pay, then it's in your interests to tell everyone you meet about the patent, because every person you tell is someone who now faces triple damages if they opt to use on your your non-paying competitors.
Let me say that again, because it's so crazy: Some companies actually advertise their high prices, because a potential customer just reading their pricing page can thereafter no longer opt for a lower priced competitor without being subject to increased damages.
Neither novelity nor lack of prior art are requirements for getting a patent, it seems. If a patent has prior art, or is incredibly obvious, that might help your case in court if you're getting sued, but if you're an individual or small company getting sued for patent infringement by a company with an army of lawyers, you've already lost.
AFAIK, no. I don't know of any case law that says the reason you were unaware of the patent is relevant; just whether the infringement was "willful" — one component of which being knowledge of the patent.
And at small to medium-sized businesses, they don't have in-house IP attorneys and their in-house counsels (or outside lawyers on retainer) will likely punt such questions to an outside firm or IP specialist. And that will come with an unattractive price.
So, in other words, what you're effectively saying is that everyone's reaction to this is irrational, but understandable. People understand the MIT license (or even just the regular BSD license), but as soon as something brings patents into the mix, even if the clause actually gives you more rights and legal cover, people get scared and don't want to deal with it?
That's... sad.
> Being aware of patents ... makes punitive damages worse.
Sure, but that doesn't have anything to do with a BSD+Patents license. The license doesn't say "you also must do extensive patent research when using our software". You have to actually be aware of the patents that you're infringing to be held liable for extra damages.
An argument I've read is that MIT and BSD are widely understood to give an implicit patent grant, and Facebook's explicit grant overrides the implicit one, and Facebook's is more restrictive than the implicit one because you lose that patent grant if you ever try to sue Facebook.
The current state of things is that patents are stockpiled as deterrents, kind of like nuclear weapons. All of the big companies know that if they sued one another over some patent claim, the other side would retaliate, and it would be a big mess with no real winners.
Facebook's patent clause disarms all their opponents, but leaves them free to attack. It's actually a wildly aggressive, offensive weapon, surprisingly - just like how nuclear missile defense is one of the more provocative technologies out there that possibly makes nuclear conflicts more probably.
That's why it's totally unpalatable, at least at the big companies.
It seems like people never get tired of not reading the PATENTS file. “Wildly aggressive?” Please. The agreement explicitly forbids Facebook from revoking your patent grant if they are the aggressor. Without the agreement (i.e. just BSD) Facebook is free to sue you for patent infringement. They add a file that says they can’t do that unless you sue them first and suddenly people are out for blood. Salem 2.0.
Only over the React patents. They could, however, sue you over your VR system or something but leave you little recourse due to not wanting to lose your React/other FB patent grants.
Nope. The PATENTS file specifically says that if Facebook initiates patent litigation (related or unrelated to React) you can counter sue Facebook AND keep your React patent grant.
"...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."
The only legitimate criticism I've heard of the FB patent grant is that FB could intentionally infringe your patents and the you couldn't sue them for infringement without losing your React patent grant. It's such a narrow case though that I seriously doubt it's a legitimate concern for most of the people complaining about it.
And you can stop using React, then sue. Even if they also stop using your patent, they were in violation when they used it. They can't retroactively put you in violation with their revocation.
Moreover, nothing is preventing you from informing them of your patent and asking that they stop using it. If they continue to, it's clearly willful infringement.
What React patents are there? And it seems to me that using Preact/Vue/etc would not be any better than using React if in fact there are patented technologies in React.
Is there _any_ technology that isn't covered by some patent? I would imagine virtually every library we use unknowingly infringes on dozens of patents.
It's not just big companies necessarily either. Say you are a small startup working on something really innovative and you have a patent on part of your work. Facebook decides to build something similar, violating your patents in the process, and they are going to put you out of business. If one of your core technologies is react under the BSD + Patents license, then you are screwed. You can't sue to save your business because even if you do you have to immediately recall all of your software and replace React.
Sure, not everyone is in that situation. Facebook is big enough though that if you have any patents you have to be _very_ careful about that license.
Why would you immediately have to recall your software? Facebook would have to have counter sued you for some hypothetical patent they have for React first and “recall all your software” would have had to be the court ordered remedy.
True, they would have to counter-sue but you don't think they would in that situation? Technically your license is invalid and if you have _shipped_ software to customers that is violating the license is it not?
Suing Facebook does not invalidate your license to use their software and source code. The BSD license still applies after you sue Facebook. It can’t be taken away.
Yes, I get that, and addressed the power imbalance in my comment...
But on second reading I realize I was wrong (in a good way). Facebook's patent grant specifically says that if they sue you for patent infringement, and you counter-sue with something that is unrelated to the software of FB's that you are using, then your license to use FB's software is NOT terminated. That's actually entirely reasonable and great.
No, they said your license didn't terminate if you had a counterclaim against them. The only event that license terminated was if YOU attacked Facebook.
I think it's more about the complexity of licensing, patents, and the uncertainty a new license presents.
Using a license that's been in use for a long time, and has the endorsement of major OSS organizations, is pretty much always more comfortable for developers.
I wasn't uncomfortable enough with their licenses to rule out their projects based on the license, but I understand the folks who were. Even if my reading of the license makes me unafraid of it, there was enough uncertainty about how a court, particularly courts that have a history of siding with patent trolls, might interpret the license, for it to make some people nervous.
Also, the belief that the copyrights and patents involved will always belong to a benevolent actor ignores a lot of tech history. See: SCO, Oracle, etc. for examples of a previously decent stakeholder being consumed by a more malevolent and litigious one with a different interpretation of the law and the license. facebook may be a huge, unassailable, force today...can we be certain that in ten years that'll still be true? I'd bet on it, but I also won't be shocked if something dramatic happens. Sun looked pretty unassailable through the 80s and 90s, and then they didn't.
Big companies building big projects have to think about these things if they want to be responsible about the future of their projects. (Again, I agree that in this case, the fear is probably overblown. But, I get where it's coming from.)
By that logic we'd never have any new licenses, because everyone would be afraid to use them. We take it on faith now that whenever a new release of the GPL comes out, we won't be afraid of it just because it's new. People had problems with GPLv3 when it came out, but those problems were about specific parts of the license, not "oh god it's new and scary and we don't know how to interpret it". And that's the GPL, a license orders of magnitude more complex than BSD+Patents.
As an aside, I realized I read FB's license wrong -- it actually is even better for users of it, and specifically says that the patent termination clause only goes into effect if the user is the aggressor. If FB comes after you for a patent claim, you can counter-sue all you want without losing your license. So FB is actually doing the absolutely correct thing here.
Unethical developers that work at shitty companies with shitty lawyers were annoyed that they couldn't use React. That's all there is to it.
I loved BSD+patent as one of the few potentially successful attacks on the awful software patents regime that we currently live under. This defeat means we are probably stuck with it for the rest of our careers.
>Unethical fevelopers that work at shitty companies with shitty lawyers were annoyed that they couldn't use React. That's all there is to it.
Apache is an unethical foundation with shitty lawyers? I admire the goal of eradicating software patents, to me BSD+Patents was an unsuccessful way to do it. It hurt OSS projects more than it hurt private projects.
I think you have it backwards. The facebook patent license puts all the power in their hands, and none in yours: they can still sue you for violating their patents, but you can't sue them. It would be a much, much worse patent regime.
The entire point of the patent license is that they can't sue you for violating any patents that cover the library you're using. So it's at least a bit over-broad to it puts all the power in their hands.
The problem with the patent clause was that it prevented you from suing Facebook for any patent infringement, even if it's unrelated to React. If you're a React using-company, this more or less meant that Facebook had carte blanche to infringe on any your patents at will in an exchange for a license to use their React patents. That's a quite one-sided deal.
No they can't, actually. The language in BSD+Patents only terminates your license to use the software if you are the aggressor in a patent suit. If you simply counter-sue because FB sued you, you're in the clear.
No, it only puts power in the hands of the big players. It might mean the big players can't sue each other, but they can absolutely sue the smaller companies. BSD + Patents only "disarms" anyone who's actually using the licensed software, and perhaps more importantly, depending on it to the extent that they can't reasonably move away if they lose the patent grant. Even if Facebook did start using OSS from some small company, they could probably just rewrite the software themselves if they want to sue the company.
Both Facebook and Google's lawyers want to create a world where software patents don't block innovation.
BSD + Patents doesn't look like the way we'll get there. Is there a way we can get there without putting "power in the hands of the big players" in the interim?
No it doesn't; read the license again. It disarms you from being the aggressor; if FB comes after you, you keep your right to counter-sue while also keeping your license to use the software.
Yes, that's exactly the point. It disarms people from fighting over patent nonsense. If you hate software patents you should love the bad + patents license.
It already exists and is called the Apache license. If you want to disarm patent trolls but don't want to compel the preservation of user freedoms on other distributors of your software license it ALv2.
No, it would disarm the group whose software is used by everyone else. If you're a small company, it's not likely that you have written stuff that Facebook uses. So, that world looks like one where all big companies are untouchable, but they can easily pick on small companies. Really not good.
Nope. See other replies. The license termination clause only goes into effect if you as the user of the software are the initial aggressor in a patent suit.
That was incredibly unexpected. Facebook may very well end up in the majority's good graces with this move. I wonder how some of the bigger players will react (no pun intended) after their abandonment of React in lieu of Vue or some other framework. Interesting times indeed.
Right so even then, its a bit weird to say that 25% of sites decided to not go with React, but actually 25% of sites (unknowingly) use software that decided not to go with React.
No, he's not. He's pointing out that calling it an "exodus" implies that many individual projects have decided to abandon React. In this context WordPress is just one project, not "25% of all websites".
WordPress runs 25% of all websites. That is huge. You're trying to trivialize it as being "just one project" when it's really one of the most widely used and significant projects out there. One decision that WordPress makes is worth tens of thousands of decisions from much smaller projects that aren't used very widely. WordPress is a many billion dollar a year industry in itself, and whether it uses React or not will directly contribute to many thousands of web developers out there learning it or not.
I'm saying that it doesn't much matter. WordPress is the largest player in the web platform ecosystem. The choices they make have huge consequences. Them choosing to use one library over another directly contributes to thousands of more developers using that library. The choice doesn't need to be transitive because developers using the platform don't have a choice of library -- they go along with whatever the platform people are using.
All of that is true but that's not what we're talking about here. We're talking about individual projects who decided to abandon React -- not the influence of said projects.
You must have missed a lot of news. A personal example: in my company we were comparing React vs Vue internally and the hint of licensing issues committed us to Vue.
This Facebook post gives us hope for GraphQL moving away from BSD+, as it is currently in our stack, but without doubt we are considering a move away due to uncertainty.
The same thing happened at my company (Fortune 150 company). We settled on Vue too, and it has been amazing. But if this had happened back when we were considering things we probably would have gone with React.
Same here, this conversation is happening right now since we've built a pretty large application using React. I would much prefer to use React so this couldn't be better timing.
>In the wake of uncertainty about our license, we know that many teams went through the process of selecting an alternative library to React.
Evidently FB saw enough people leaving to prompt this change. No doubt they were also afraid of an exodus of their internal developers on these projects. High-profile developers will move on to companies where they know they'll have greater impact if that's seen to be at risk.
That's a strange claim given how many major projects have appeared on the front page of HN because of it, everything from the Apache foundation to Wordpress.
WordPress accounts for something like 19% of all websites, more so than any other single platform. Do not underestimate the importance of their decision.
A bit higher, according to those who monitor these sorts of things.
Some 28.7% of sites use Wordpress.* Curiously, I've seen the 19% number being cited as 19% of all new websites use Wordpress. I'm not sure how 19% becomes 28.7%, but it may just be that sites using WP stick around longer.
I'm told that one reason companies might have chosen to avoid React was that they could have imagined themselves be in competition with Facebook at some point, and thereby in the danger zone with their old BSD licence.
They explicitly said in their FAQ that you could use React even in direct competition. None of this matters now, of course, because it's been relicensed. The only impact the patents license ever had on anyone was iff they initiated a patent lawsuit against Facebook.
The point is that if you're in direct competition, the chances of Facebook violating one of your patents is much higher, and then your cost of suing them is significantly increased (since you also have to rewrite your app).
If you're ok with trusting a direct competitor not to misbehave, then sure, use React under those terms while competing with FB. But large companies consider their patent portfolio to be a significant strategic asset, so it shouldn't be surprising that their legal counsel advises against accepting such a clause.
Would the previous license have become relevant if Facebook initiated a patent lawsuit against you?
Even being on the back-foot when having to defend your patents, by refactoring React out of your application, was apparently damning enough for people to migrate.
Drupal was also close to picking a new library to replace or supplement Backbone, and React was just dropped out of the running (with a strong favor for Vue) a week or two ago.
Yeah, we've already settled on Vue (because our lawyers forbade us from using React), but now I'm sure they would approve React. So... do we abandon our work on Vue (which so far is amazing) to switch to React since the React ecosystem is so large, or do we stay the course? Sigh. I wish Facebook had made this change a year ago.
"great" is relative to how much free time you have evaluating all the various alternatives and finding the bugs/missing use cases nobody cares to tell you about up front..
I agree that competition is generally good, but I hate choices so much. I don't even care if Vue is 10 times better than React, I've just spent the last year diving into React and React Native. I've finished 3 big projects and now I'm feeling more confident. And now I get the feeling that I have to throw out a whole bunch of experience and switch to the next big thing.
I think I'm going to dig in my heels this time. React is fine. It's more than fine, I absolutely love working with React, Redux, redux-saga, redux-observable, and a whole bunch of other libraries and patterns that I've finally begun to master after over a year of headaches and frustration. I'm not going to switch to Vue, not even for my next side project.
I didn't personally care about the BSD+Patents license, but you definitely have to keep your eyes and ears open with backlash like this. Even if I think it's a total issue, it might affect my ability to hire employees or even sell my company. So I'm really glad that React is now released under the MIT license.
I don't think anyone's really claiming that Vue is a 'next big thing' to switch to from React. Vue/React/Angular are all competitors of the same generation.
A thousand times this. We'll know the JavaScript UI toolkit has started to mature when we can pick up a new tool and not have to abandon all of the other tools we already learned and spend a year getting on our feet in a new "ecosystem".
Don't get me wrong, it was the good kind of struggle where you grow and push yourself. Like going to the gym.
It was the same as any other programming language, framework, or ecosystem. Exactly the same as my experience with Ruby on Rails when I first started doing web development.
If you don't mind sharing, what problem did you have before that was solved by adopting React? (I'm not referring to React Native. It's obvious to me what problem that solves.)
The main thing is having the state flow top-down through your app, so you never have to worry about manually keeping things in sync in the UI. Redux and redux saga have really taught me a lot about programming, and then RxJS and redux-observable completely blew my mind.
Many things going forward will happen in reacts petri dish. Lots of ideas seeking to get consensus like the evolution of styles, animations, native performance, async scheduler, easy-to-create native renderers. Vue is nice and all, but it's rather complacent, catering to old Angular-like roots and web artefacts. If you believed the hype then Vue was supposed to be the be-all-end-all of frameworks, the reality of course is quite sober: http://www.npmtrends.com/angular-vs-react-vs-vue-vs-@angular...
The point has been made before that npm downloads are a poor measure of framework popularity because the architecture of the framework and the typical distribution channels can skew the number of npm pulls in a way unrelated to the number of projects utilizing it.
These numbers track actual, daily usage in production environments. You can't explain these numbers away, not if they're both competing in the same field. Both are distributed in the same way (npm, unpkg, various cdns), both websites show you how, both do not need build tools to function, both are better off with build tools. It would be pretty disingenuous to claim suddenly the only actual numbers we have are skewed.
I don't understand the link. We don't get Vue from NPM. I assume others don't either. That implies to me that the numbers implied in that chart are inaccurate at best.
Why do you say the statistics are inaccurate. They show a clear picture, actually the clearest we have, because if it weren't for actual usage stats we would have to rely on github stars, google trends and hear-say. Both react and vue release through the same channels, npm and cdns. Of course npm is the more important channel for modern environments and businesses. The point is that they both are subject to the same rules. The portion of users that like script tags use script tags with react as well. Those would fall out, but that happens on both fronts obviously.
The comment i made above, that most things going forward will happen in the react eco system, is supported by these statistics. If you have lots and lots of vue users that are still using script tags, and let us - without any data to confirm it - assume that there are less react users doing this, then that would speak volumes about the userbase at large, not the most forward leaning to say the least.
I... well, I kinda expected it. Facebook wanted their products to be used, but it was obviously their legal department that made them put the patent clause in. The more people who develop using their libraries, the more contributions they get back, and the more benefit they get from it.
I almost guarantee you none of the devs wanted that weird-ass patent clause in there, but I'm guessing that none of them thought that it was a big deal in the long run, just CYA shit you'd expect from a legal department.
They were proven wrong, and it impacted their market share, they raised a stink about it and they got it changed.
> I wonder how some of the bigger players will react (no pun intended) after their abandonment of React in lieu of Vue or some other framework
What do you expect them to do, shrug and come back? I doubt anyone who left based on concerns with their stack being owned by Facebook is likely to regret weaning themselves off of it.
The react ecosystem is massive, and includes impressive projects like the various backends/renderers: react-native, react-sketch.app, react-vr, react-pdf, ink, that have no equivalent in other frameworks (or at least to nowhere near the same level of maturity), so yeah people ditching it may well regret it.
The complicating factor there is Facebook actually has a patent covering the GraphQL specification (along with the fact that they're applying PATENTS to a specification, vs an implementation): https://www.google.com/patents/US9646028
> As our business has become successful, we've become a larger target for meritless patent litigation. This type of litigation can be extremely costly in terms of both resources and attention. It would have been easy for us to stop contributing to open source, or to do what some other large companies do and only release software that isn't used in our most successful products, but we decided to take a different approach.
Never heard Facebook answer: why didn't they just follow Red Hat's model and make a "Patent Promise"[1]?
Then accumulation of software patents would help deter meritless litigation while staying out of the way of FLOSS developers getting their work done.
the one in Go basically says if you sue google for any Go related patents then they revoke the license. that patent retaliation clause is nothing different from the one used in Apache Licence Version 2. the one in react says they revoke your license when you sue facebook for any patent related matter.
Aslo called a "weak patent retaliation clause" vs React's (current) strong patent retaliation clause.
I found the explanations in [1] to be very helpful to understand patent clauses.
different people have different opinions, the problem is as long as there are many people who have such legal concerns about react's BSD+PATENT, using react would be considered as suicidal for startups.
Can somebody who speaks legalese translate Red Hat's Patent Promise into more parseable English? I'm curious how it works, but the wording is pretty obscure to me.
Red Hat holds patents but promises not to enforce them. This means anyone can use the IP without worrying about being sued for infringement. No one else can claim they own the IP because Red Hat already owns it. They also have a clause saying that if Red Hat sells the IP, the buyer needs to uphold the same promise.
The way I'm reading it, if you develop free/open source software that infringes Red Hat's patents, Red Hat promises not to sue unless you sue them first.
The "combined" part seems to be saying you can also develop a system that's partly proprietary, as long as the proprietary parts are simple and not using Red Hat's patents.
If they sell a patent, the buyer must agree to the same promise.
The promise won't protect you if you infringe someone else's IP, even if it's related to one of Red Hat's patents.
Red Hat: You can use our patents if we can use your software.
Facebook: You can use our software if we can use your patents.
That's my severely over-simplified interpretation. The most significant difference is that Red Hat's promise extends to FOSS in general, though apparently not proprietary software. Facebook's license applies only to specific Facebook FOSS code, but it can be used in proprietary software.
Your interpretation is wrong. RedHat’s promise is revoked if you sue them for any patent infringement:
>Our Promise also does not extend to the actions of a party (including past actions) if at any time the party or its affiliate asserts a patent in proceedings against Red Hat (or its affiliate) or any offering of Red Hat (or its affiliate) (including a cross-claim or counterclaim).
So RedHat can hypothetically use all of your software patents and still sue you for infringement based on their patents if you sue them.
To rephrase again... regarding patents, assuming you don't first sue RedHat or Facebook, then:
RedHat won't sue you over your FOSS project that infringes any of RedHat patents, but your proprietary software is fair game.
Facebook won't sue you for infringement caused by using one of their libraries in your software (FOSS or not), but your independent project (FOSS or not) that infringes any Facebook patent is fair game.
if Facebook [...] 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
To the extent a party makes, uses, sells, offers to sell, imports, or otherwise transfers Covered FOSS, Red Hat agrees not to use such actions as a basis for enforcing its patents against the party ("Our Promise"), subject to the limitations herein.
If I read this right, Red Hat promises to not sue anyone for using/transferring FOSS whether or not such an action infringes on Red Hat's patents - they will only use patents to defend against litigation. (IANAL.)
I've been trying to tell everyone licensing is more important than they realize, but there are so many people who fundamentally misunderstand licensing and therefor just don't care (dwtfyw license for example), or have falsely been trained by subpar instructors at uni and $othertraining about how bsd/mit is the superior license for business because $reasons.
The four freedoms and free software solve so many of the problems I see around modern tech-infrastructure. No, free software doesn't solve every issue and has some of it's own, for example I think at the code complexity levels we are at the many eyes theory is starting to crumble, but it doesn't change the core truisms about freedom in computing that are important for us to move forward in a free and open society if we actually want to start solving prolems.
Now that we have a concrete example of how picking tooling with bad licensing can bite people in the butt, please take this time to at least consider GPL varients (A/L/GPLv3) for as much of your tooling as you possibly can. (perhaps CC0/CCBY/CCBYSA for content)
In my opinion, MIT/BSD licenses like FB moved to in this case simply aren't good enough to be future-proof, primarily because of the ability of future tivoization of a product that removes freedom from the user (think BSD on playstation).
Remember, either the user controls the program, or the program controls the user.
If the GPL scares you for some reason or you have question about it (commercial sales of gpl software for example), feel free to ask. I've spent enough time wading through just about every license so I think I might be able to cut through some fud.
Usually it is the lawyers doing people a disservice actually. That said, Eben Moglen is who I would refer you to. (Has been the lawyer for the FSF and RMS I think)
The lawyers who would actually have to put their neck on the line says no. Eben Moglen is a campaigner, not anyone's lawyer (in the matter of defending a software product including GNU licensed components). The license actually isn't that long and the only argument on what it really means is going to take place in a courtroom in a carefully chosen district in Texas in front of a judge and jury that aren't quite comfortable operating 4-function pocket calculators. (And the defendant, by the way, isn't going to be some wholesome main street software outfit, it's going to be the nastiest, most ruthless gang you can imagine. 90% of the software community is going to on the record hating their living guts, you can bet Moglen, never mind RMS, is going to be nowhere to be seen given an impassioned defense of the legality of this company's use of GPLv3, regardless of how perfectly compatible it is with the promises they make now (FSF will submit a brief, but they are going to be very discreet about it). But the result will decide the legal interpretation of GPLv3 forever.)
That is the mental image of your company's lawyers when you ask about GPLv3.
This discussion sometimes feels like like the PHB telling Dilbert to go base the product on Oracle because of an article in CIO Monthly ("written by an EXPERT!") says it's the best database.
> Are you a lawyer? If not, you would be doing a disservice to anyone curious about the topic.
> My own company's lawyers consider the GPLv3 toxic and not allowed at all for company use in any software we create - that's enough for me.
Don't just blindly defer to lawyers. Yes, including GPL source code in a proprietary product could sink your company's business model. But using a GPL webserver is no threat. Nor using Linux as a set top box to run your local application (Roku). Nor using GCC to compile the program. (Alot of Playstation 1 games used GCC.)
Your own company's lawyers may be very ignorant on the GPL and it's benefits.
They may simply not understand and are relying on other people to inform them. (I believe Microsoft's old attacks against the GPL used the word toxic.)
I knew a contract lawyer who called the GPL 'very restrictive'. I pointed out the Windows EULA. He never really read it to understand it's far more restrictive terms. He never really looked at a EULA through a lawyer's lens and how much his business would suffer if the the terms were actually exercised. Nor that he didn't have to accept the GPL to use GPL software. Only to redistribute it. I doubt he could find that permissiveness in an EULA.
Lawrence Lessig made a few comments that his lawyer friends couldn't understand how Creative Commons licenses worked. People that have never met each other had legally agreed to binding license. This was in the early 2000's.
> My own company's lawyers consider the GPLv3 toxic and not allowed at all for company use in any software we create - that's enough for me.
Isn't that often because the GPL would require you to release your source code? Which is different from possible patent problems? I can understand why companies don't want to release their source code, but at least it's clear ("release your code and you can't be sued"), right?
Your lawyers probably don't know the difference between a tool and a library that is used in a published product. The code of a GPL licensed internal tool is not linked to the product (in the programming sense: there's no "object linking" or mixing of the code). You don't even need to release the source to the public if the tool itself is not available to the public.
Why you ask lawyers on a matter concerning computer programmers?
I have yet to see a single "professional IP lawyer" who knew more about GPL than an average IT pro. The was majority simply puts forwards claims without doing a minute of actual research on GPL
Licensing and patents are legal matters, and as such, one should consult a lawyer (to be sure, one knowledgeable in the domain) if it may impact one's business.
Not only that, there is legal precedent where just the act of software developers discussing IP matters has a negative effect in cases. It absolutely is a matter for lawyers, as the reason they are around is to guard against such pitfalls - it is their domain of expertise.
>I've been trying to tell everyone licensing is more important than they realize, but there are so many people who fundamentally misunderstand licensing and therefor just don't care
Maybe they don't care because in reality its not a problem?
In the sense that it's not a problem people generally have -- not that nobody ever has had it.
A lot of people worry too much about all kinds of BS eventualities and technicalities, and this could be one of them in most cases.
>Now that we have a concrete example of how picking tooling with bad licensing can bite people in the butt
It only bit FB in the butt (in the sense that some developers complained about their license choice) -- not those using the tooling with FB license.
A common misconception is that under GPL all your code must be released to the public. This is not true. You only have to give code to the user after purchase. Now, it's true that the user could then upload your software to the public (under gpl), but many of the issues surrounding that (such as lost sales #) aren't as bad as people imagine they are, and in the foss world are generally made up for by high-maintainence intervals (so forks would be behind feature-wise), and support/service contracts to augment the traditional sales model. (Redhat model)
> You only have to give code to the user after purchase.
IANAL.
You don't really require to give the source code unless the purchased person asks for the source. Most people don't care about the source. And you require only to provide source for people who obtained the binary legally. Nobody else can demand for source code.
Say for example, most of the D-Link routers come with a warranty card saying the software is GPL and is available on request. Period.
You can also void the warranty of the software (and hardware) in case the software you sold was replaced with a modified version (afaik, requesting for source can't make the warranty void).
There are a few things to consider: GPL v2 requires you to produce the source code in CD/Floppy (or like media), while GPL v3 allows you to have the source uploaded to net (or sent via email).
> You don't really require to give the source code unless the purchased person asks for the source.
I think you're mixing mutually exclusive options. As I understand it, GPL requires you to either provide source code up-front on the same terms as the binaries (I think the relevant phrase in GPLv3 is "equivalent access"), or alternatively provide a written offer to provide the source code to anyone who requests it. The reason the offer must be to anyone is that your customers can distribute that offer with the binaries in lieu of source code. That way, they have the ability to redistribute/"convey" the software in a compliant way even though they don't have source code.
> GPL v2 requires you to produce the source code in CD/Floppy (or like media)
Unless I'm missing something, GPLv2 just says "a medium customarily used for software interchange", not specifying that it must be any sort of disk/tape.
There’s one other clause that you’re missing: you may not further restrict the redistribution of GNU GPLed software (either source or binary). So D-Link may restrict distribution to “on request” by “people who bought our hardware”, but they cannot stop one or more of those people from redistributing the software obtained thereby.
That, plus the fact that if you incorporate any GNU GPLed software in your own software your own derivative software must be licensable under the GNU GPL, or be more liberally licensed, makes for the uncomfortable discussions with lawyers about use of GNU GPLed software in any company.
No. But as ddwrt and openwrt source codes are already available in public, people may not be interested (because you are not going to get the source of binary-blobs in any case, blame Linus Torvalds for that).
I have found a person that requested source of BMW i3 car software, and he have uploaded the source online[0].
>A common misconception is that under GPL all your code must be released to the public. This is not true. You only have to give code to the user after purchase. Now, it's true that the user could then upload your software to the public (under gpl), but many of the issues surrounding that (such as lost sales #) aren't as bad as people imagine they are
That's because they don't sell software, they sell support and services.
Now, about actual software as a product success stories, where you don't sell to companies that need someone to blame (and thus opt for support contracts)?
I wouldn't say about what available on GitHub today, but up until year ago all source code was included and they only sold precompiled binaries and support. Also I doubt they can really change anything about that because Synergy never required CLA and it's under GPLv2.
I pretty sure their "core" naming is just another way to promote usage of paid version, but you can still compile it yourself and easily remove all license checks.
Previous model was usual open source community-driven project with donations and it's obviously didn't worked, but Synergy was developed by different team at different times and looks like they find what works for them. It's tarted 3 years ago:
Of course it's not shiny VC funded company with 10000% growth, but I guess it's profitable business. Though it's not that much different from what Red Hat doing by selling support even if it's on small scale.
I feel like this works for some things, like Redhats core businesses for instance, as you noted. If I’m an indie software developer though and release say a tool for managing Wordpress sites or maybe I release an app that is like a crazy good bookmarks manager, how can I justify losing revenue when most users don’t care if the source is open and those who do probably won’t buy my product. Yet the inverse - one user getting that code and uploading it online - could damage me greatly?
>please take this time to at least consider GPL varients (A/L/GPLv3) for as much of your tooling as you possibly can. (perhaps CC0/CCBY/CCBYSA for content)
I'm sorry but Creative Commons themselves declare that their licensing should not be used for software.
The MIT license does not explicitly mention patents. However, depending on the lawyer, an argument could be made that it contains an implicit patent license. I think that Facebook would have an uphill battle arguing that their relicensing didn't include patents after this kerfuffle.
PyTorch uses NVIDIA NCCL for multi-GPU communication (under BSD license). Gloo is only one of the three backends that can be used for distributed communication out of the box.
Sorry, I'm confused, can you help me understand that blog post? I'm getting three messages from it:
1. We like React a lot with or without the license.
2. It's not our job to convince the world React's patent license is fine.
3. We're substantially moving away from React, including large rewrites.
...why are they moving away from React? I'm confused, do they believe using React implicitly supports it? They're already vocally supporting it.
I don't have an opinion or a dog in the race with regards to the React and patent license drama, but I legitimately don't understand why this blog post (or the underlying decisions) was written. In my opinion it feels like a huge deal to decide to rewrite a piece of production software, especially if you like the software already. So what am I missing?
Are they concerned that people won't use WordPress because it has React components? Does React's BSD + Patents license extend downstream like that?
EDIT: Thank you for downvoting me twice for asking an honest question folks...
"Core WordPress updates go out to over a quarter of all websites, having them all inherit the patents clause isn’t something I’m comfortable with."
It's one thing to look at the license and guess that it's vanishingly unlikely you'll ever be in an intellectual property fight with FB (and it sounds like the counsel Automattic consulted with came to that conclusion for Automattic).
It's another thing to make that decision for everybody downstream using software that you distribute. Particularly when that's a reaaaally large number of people.
I'm on much less solid ground in speculating about more, but it's often interesting to watch the contents of speech when people are working to assure you of something:
"One nice thing about this apartment is that it's very secure." (That's interesting. Why is it important that this apartment is very secure? Is the neighborhood not so much secure?)
"This guy we're interviewing here is not being interviewed for your position." (That's interesting. Why do I need to know that, manager?)
In the case of this post, between the lines I potentially see something like:
"Hey FB, we don't feel threatened by the license, and you know, he who writes to code makes the rules, like Linus says. You're obviously doing what's right for you, from your point of view, and we're sure you know what's best for you, and if you're doing right by yourself, do you need to even ask if you're doing the right thing?
You do you, bro. And we're sure you won't be mad that we wanna let everybody else be themselves, too."
Not sure it's there, I could be reading more into it than I need to.
> I think Facebook’s clause is actually clearer than many other approaches companies could take, and Facebook has been one of the better open source contributors out there. 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.
My interpretation is that due to the negative publicity that Facebook has garnered with their license, they didn't want to scare people away from using/building on top of their platform by using their library even though they themselves did not have a problem with the license.
It's understandable how that might be the final straw for Facebook when even people who don't have a problem with their license won't use their libraries for that reason.
Thanks for that clarification. I interpreted that paragraph to be somewhat contradictory (“we like this but we’re moving away from it because it’s not our job to convince people it’s fine”). Your interpretation makes more sense and provides better color to it.
Yes. The way I read it, Facebook essentially shirked the issue, regardless whether it's only a perception problem, onto companies like Wordpress. WP has their own users, it's not WP's job to do FB's work for them, and FB has to have known the patents clause was going to be problematic, or at least controversial.
React has been out for 4 years now. This hasn't been this big of a deal. But I guess at this point, React has hit critical mass, and it's sort of becoming a standard for front end development, so the FUD hit fever pitch.
You seem to have other issues with the controversy, but remember that the impetus for discussion these days was the Apache Software Foundation not accepting BSD+P as compatible with its policies.
4. The license causes Fear, Uncertainty and Doubt for those considering our product. We (WordPress) do better by not causing this FUD for our customers.
They feared that for example the Apache Foundation wouldn't use WordPress, and so with others.
And yes, the Patents part of that extends downstream to anything using it, that's the dangerous part of patents. It applies to everything that does that — even in independent implementations.
Well...now back to writing code and shipping things...we can all put our irrational fantasies of patent litigation and being "unacquirable" startups due to React to rest.
It's not irrational when your companies lawyers say that you many not use React due to the licensing, and there is a very real chance you will be terminated if you do. Unless you mean that lawyers are irrational, in which case I would agree (throwing in judges and politicians and anyone else in the legal profession while we are at it).
With the old patents license, you had to be the one to initiate patent litigation with Facebook. The odds of needing to and wanting to get into patent litigation with Facebook are way less than 1%. That's an irrational fear. If something has a 1:100,000 chance of impacting you...I dunno man, when it comes to startups I can think of 1000 other things more likely to affect you. Companies that didn't even have patents were getting up in arms about this. It was quite a bit of irrational FUD. Even Wordpress's lawyer didn't have a problem with the license. They were just tired of fending off the FUD from their user base.
You're right that this ultimately may only be relevant in a tiny number of cases, but there's no reason to take the risk that your case will be one of the unlucky ones. There are plenty of good React alternatives that don't carry that risk.
I love HN, and I hate to risk my account, but I'm tired of responses like this.
You're being an asswipe. There is no reason for you to respond this way. The lens upon which you view the world must be pretty god damned shallow to make these kinds of statements. If you want to be a fuckstick and reply like this, please find another community.
If you love HN, you shouldn't be damaging it like this. Every time an established user behaves badly they give license (pun intended) to new users to degrade the site further. That's seriously not cool, regardless of how wrong some other commenter was.
The last way we want people to be defending HN, even against perceived assholes, is by being assholes themselves. Would it really have cost you to make your point substantively?
I guess I can adjust my tone. I have never heard of a startup being turned down for acquisition due to their front end framework of choice, but that became a fear that was legitimately passed around over React. It was irrational, in my opinion.
Though I am a bit curious about why WordPress would need React in the first place. It's not like they're building a real-time app. Am I missing something here?
FYI: this shipped in WordPress 4.7 as part of the core software, and is now available on every WordPress site. (e.g. https://www.wired.com/wp-json/)
> The only thing is you'd be in WordPress land and isn't glamorous.
We tried to shield REST API users from much of the nastiness of WordPress' backwards compatibility (inconsistent field naming, date weirdness, etc), but yeah, it's still not perfect.
(I'm the co-lead on the REST API focus, happy to answer any Qs!)
Hey, I'm not a WP user, but I'm a huge fan of the work you guys do, and the impact you have. WP has done so much to bring the power of the web to the people. No questions, just thanks. :)
Yes, that React is really convenient for building practically any type of web app, not just real-time apps, and they probably want the slick and seamless user experience they can get by building a progressive web app in React.
Thank them for what? I don't get it. It sounds to me that they just ran away from the problem. The problem in my eyes being software patents not the BSD+Patents license. But sure, thanks for being weenies.
I doubt it was related. The wheels to get this in motion must have started months in advanced, probably around the time ASF started advising against this license (labeling at as Category-X [1])
I disagree. I think it was entirely related. Facebook could likely put up with a few dissenters here and there, but a major defector such as Wordpress is a canary: they likely feared that this would be the first domino to topple React's supremacy.
FB: "...we know that many teams went through the process of selecting an alternative library to React. We're sorry for the churn. We don't expect to win these teams back by making this change, but we do want to leave the door open."
This can seem like a response to the community at large, but can also be read as a direct response to Wordpress' comments:
WP: Automattic will also use whatever we choose for Gutenberg to rewrite Calypso — that will take a lot longer, and Automattic still has no issue with the patents clause, but the long-term consistency with core is worth more than a short-term hit to Automattic’s business from a rewrite. Core WordPress updates go out to over a quarter of all websites, having them all inherit the patents clause isn’t something I’m comfortable with.
Now if someone (i.e. an Actual, Impartial Lawyer) can explain if changing to MIT actually changes anything.
EDIT:
As others have pointed out, FB reaffirmed its decision to maintain the patents clause on Aug 18th (33 days ago): We recognize that we may lose some React community members because of this decision. [1] But they change their minds 8 days after the Matt published the On React and Wordpress article.
This pretty much proves that the decision to move to MIT was heavily influenced -- or perhaps in direct response to -- Wordpress' decision to ditch React.
I believe the wording you are looking for is "strongly implies", because that's all it is, an implication. There is no proof. (and not even a boat to be seen ;).
In a statement from Facebook on August 18th, 33 days ago[0]:
We have considered possible changes carefully, but we won't be changing our
default license or React's license at this time. We recognize that we may lose
some React community members because of this decision. We are sorry for that,
but we need to balance our desire to participate in open source with our desire
to protect ourselves from costly litigation.
Given that they apparently didn't think it was a big enough deal then, and what changed was Wordpress, I don't think it's incorrect to give them some credit.
Oh sure, a framework used on a quarter of the web might have had something to do with it, but actually it was my Hacker News comment the day after the Wordpress news, that put the final, decisive nail in the coffin. It captured so many people's hearts and minds, it ended up with seven upvotes ...and still counting. 1, 2, 3, 4, 5, 6, 7. Yup, 7.
You're welcome everybody! And thanks for the assist, Wordpress!
If I had to speculate, I'd suspect that even though they reaffirmed the BSD+Patent license publicly, FB probably started exploring the possibility of relicensing the projects shortly after that. Not to say WP saying they wont use react didn't help, but I don't think it was the "tipping" point for them at all.
Legal matters at big companies generally take months to resolve and come to consensus over. I can easily imagine their legal team evaluating all such scenarios that a change in license could hurt them (as they should), and that kind of research isn't something done in haste.
>Legal matters at big companies generally take months to resolve and come to consensus over.
Sure, at your typical big public company. But Facebook voting control is firmly in the hands of Mark Zuckerberg, and he doesn't have to wait for approval of a board of directors. Just like when he decided to buy Instagram for $1 billion in a matter of days. If Mark detected developer sentiment shifting, he can move just as fast as he wants to stanch the bleeding.
> If Mark detected developer sentiment shifting, he can move just as fast as he wants to stanch the bleeding.
how is react's popularity at all material to facebook's interests? at best it means you get more outside contributions, but you already have plenty of talent internally.
Having popular, high-profile open source projects helps Facebook attract more and better talent in three primary ways:
First, it increases the likelihood that the average programmer already is familiar with the tools they'd use at Facebook. It's useful for them to be able to hire people who already know React, Reason, etc. On occasion, they'll manage to find highly talented developers who either contribute to their projects or build useful related projects, and then they can make those people an offer. Even better, sometimes that's an entire startup they can acquihire.
Second, it increases the prestige of a job at Facebook. Most of the core public functionality of Facebook isn't particularly interesting to me, for example, but the stuff they're doing with OCaml is. The chance of me working there is still essentially nil but it's definitely less nil than it would be if I didn't know about projects like that.
Third, it gives them something really valuable to offer skilled devs -- the ability to become widely known and respected for your contributions to a popular open source project. That's worth a great deal to some people.
Software companies are all about lock-in, controlling the platform, making sure they have control of as much user and dev attention as possible. At Facebook's world-eater size, the better question is "Why should we not seek to dominate this element of the development platform?"
I can't pretend to know the exact rationale behind Facebook's decision to open-source React, but there are several things to gain from controlling a major piece of the web infrastructure: influence/clout with browser vendors (decisions that may negatively impact React's performance now threaten a huge percentage of the web, not just Facebook.com), the ability to introduce more and more Facebook-controlled technology with something like React as a shoehorn ("You liked React, try Flow..."), PR benefit/good vibes, and so forth.
Platform control is the real showdown among big software companies. It makes your company downright inextricable. Just ask Microsoft.
If I had to speculate, I'd suspect that even though they reaffirmed the BSD+Patent license publicly, FB probably started exploring the possibility of relicensing the projects shortly after that.
If I had to speculate, I'd say they did a ton of research on existing licenses on the route to BSD+Patent, and they already knew what the best alternative would be if it came to that.
This is a very smart move by Facebook, and a win for the open source community as a whole. Why it took so long for the license change is a bit of a mystery, but removing the complications of software patents from their licenses will help further drive adoption and remove the precedent they were in danger of setting.
I guess you haven't seen the Facebook projects where the patent grant was dumped after a handfull of people asked nicely. There it was more of a "Yeah sure, why not?" by the maintainer without much input from the legal team as it seems.
I'm not sure how changing course from a direction that could have neutralized patents, to one engineered so patent aggressors aren't hurt, is something that can be considered a win for the open source community.
> Because their licence gave Facebook the upper hand if they wanted to come after you.
No it didn't. Facebook made a nothing-up-the-sleeve showing; you had recourse if they decided to "come after you", because your right to countersue was something that was explicitly protected in the PATENTS grant.
Removing the grant, on the other hand, contributes to a world where everyone else can come after you. That should be scarier, because the set containing entities who aren't Facebook is much larger than the set of entities who are. (And the latter set is much less likely to sue—virtually guaranteed not to sue, even—for the exact reason mentioned above.)
I work for a company with at least one lawyer dedicated to IP law and we thought about this long and hard. What it does is potentially make t prohibitive to sue FB if they violate our patents. Since we have hardware patents and they have hardware, it was distinctly possible that this could be a real problem. We decided to proceed anyway but we know we are risking something. And you can say patents suck and we shouldn’t have them, but our hardware patents represent decades of R&D that wouldn’t exist if we didn’t have patent protection.
When you use the loaded term "pirate your tech", you mean "infringe your patents", right? The thing that the clause is trying to neutralize?
This is why Facebook's move to neutralize patents failed - everyone's suddenly in love with their own patents, even if they agree that the system is broken.
It was a good idea to scrap the clause to prevent the community from fracturing, but there's no triumph here - they failed to convince people that patents were a scourge to be eliminated.
If that was Facebook's intent, they could have worded their license in a more reciprocal way.
"We grant you a right to use all patents we have covering this work.
[1] If you sue us regarding a patent you claim covers this work, we revoke your right to use all patents we hold covering this work.
[2] If we sue you regarding an unrelated patent, you retain your right to use patents covering this work for purposes of this work.
[3] If you sue us regarding an unrelated patent, you retain your right to use patents covering this work for purposes of this work."
The entire point of people being annoyed about this is that Facebook specifically didn't include the [3] grant. Consequently, this was more about Facebook attempting to use React's popularity to make themselves immune to patent litigation (as anyone relying on React wouldn't have been able to sue Facebook for any patent without losing the React patents grants).
I suspect it also took time for the mounting discontent and for the number of voices to reach some kind of tipping point which then caused Facebook to begin the internal process of re-evaluating their licensing.
> Why it took so long for the license change is a bit of a mystery
Be careful. Facebook hasn’t said they’re removing the patents override completely. All they’ve said here is they’re changing their licensing, not what they’ll do. They may end up with BSD+Different patents grant. Make sure you check the changes next week. I doubt it will be straight BSD or they would have said it.
Wait, this doesn’t solve anything. They replaced BSD with MIT, which are basically the same license and then they removed any explicit patent grant. So this means the user is actually granted less rights then before.
Am I missing something or does this make zero sense?
Basically, if you sell or license a product that requires a patent to work, courts have generally held that you grant an implied patent license for any patents that the product might require. If you explicitly reference patents within the license, however, then whatever terms you explicitly write into the license supersede this implied patent license. BSD+patents (and Apache 2) have explicit patent language; paradoxically, this makes them more restrictive than licenses like MIT, BSD, or GPL that don't mention patents at all.
Furthermore, suppose you're some company like, say, IBM which figured out some way to say, safely double the energy density and recharge cycles of Lithium Ion batteries, which you have patented. Let's also assume that you are shipping some critical problem which is dependent on React. Facebook could now freely use your patented idea, and violating it left, right, and center, and if you try to sue them for violating that patent, you're completely f*cked.
So Facebook's idea works fine if you believe that Patents as a Thing are bad (all patents, not just software patents), and should not be asserted under any circumstances, and it's fine for Facebook to arbitrarily violate any patent of any company who has become dependent on React.
> and if you try to sue them for violating that patent, you're completely f*cked.
No, if you try to sue them for violating that patent, they can try to sue you for using React - if they actually have valid patents that cover React, that is. I doubt IBM's lawyers are breaking a sweat.
Why do you keep spreading FUD about this stuff even after Facebook withdraws the license?
Furthermore, this is all untested in the courts. Contracts and laws aren't really worth much until they're tested in courts. It's arguable that giving someone a license to use your code also gives them a license to use the patents that code uses. Kind of like how you're not infringing on iPhone patents if you buy and use an iPhone.
> Facebook could now freely use your patented idea, and violating it left, right, and center, and if you try to sue them for violating that patent, you're completely fcked.
Maybe, maybe not. You suing them over your patent would terminate you patent* license from Facebook, but not your copyright license. Whether that fucks you or not depends on whether or not you actually NEED a patent license from Facebook.
As far as I know, no one has actually found a Facebook patent that covers React.
> As far as I know, no one has actually found a Facebook patent that covers React
This would make Reacts PATENTS file a bluff (nothing to grant or revoke). I don't think many companies would be eager to base decisions on that legal theory.
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: (i) against Facebook or any of its subsidiaries or corporate
affiliates, (ii) against any party if such Patent Assertion arises in whole or
in part from any software, technology, product or service of Facebook or any of
its subsidiaries or corporate affiliates, or (iii) against any party relating
to the Software.
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.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
If implicit patent grants are a thing, why have more modern licenses like Apache 2 and GPL 3 made it a point to include explicit patents grants in the language of the license?
Wouldn’t their legal counsel advise them against it if it was redundant?
Explicit probably saves a lot of time in court, and helps with global consistency. More importantly, Apache 2 and GPL 3 include reciprocal patent grants. They work similarly to the React patent grant, but unlike that one they go both ways. In the React one, only you lose access to the patents if you sue Facebook, but Facebook can sue you fine even if you contributed to React. Under Apache 2 and GPL 3, no one contributing to the software can sue anyone for patents infringed as a result without having their license revoked in its entirety (copyright AND patent).
I'm not well versed enough in the various licenses to compare BSD+Patents and MIT, but in my opinion, this is more of a move to appease the community than anything dealing with the benefits/disadvantages of the license being used.
You may be right that this might actually reduce our rights, however, the MIT license is well known and accepted by many in the developer community. It's been around long enough that developers know what they are agreeing to when they use something with an MIT license. With the BSD+Patents license, the biggest concern was not understanding what you were getting into when using React.
Facebook recognized this and conceded despite still believing in the BSD+Patents license to be better. So in that sense, this makes a lot of sense as it:
* alleviates community concerns
* builds up their standing with developers
* generates a lot of good PR
* draws attention away from alternative solutions which were getting a lot of publicity from all of this (Vue.js, Marko, Preact, etc.)
It would be nice though to have a lawyer chime in on the differences between BSD+Patents and MIT.
That's what all the Facebook & React folks were arguing. Facebook doesn't want to do unconditional patent grants. Plus, they decided that the weak patent retaliation clause in Apache 2 license wasn't strong enough. This new license is strictly riskier for people than the old license, but it's more familiar, so people won't freak out.
If there is an implicit patent grant, we have more rights. I think there is a strong case that the implicit grant exists, and would vastly prefer seeing projects licensed under MIT than under the Facebook license.
Apache 2.0 would have also been acceptable, as it had a better explicit patent grant. I'm actually a little surprised they didn't choose it.
The way I interpret it is, explicit patent license implies _less_:
- Explicit patent license specifies why / how it can be revoked.
- Without an explicit patent license, patent infringement case (by Facebook) against a party that uses Facebook's OSS would be become harder, because one may argue that such grant is implied by Facebook open sourcing the software.
There hasn't been a single patent covering a standard React implementation found yet. Someone found one that might cover a niche case, but the bottom line is no one really knows if any patents of any substance or having broad claims will actually ever issue.
That combined with the implied licenses means there was a patent clause causing a ton of unecessary hand-wringing.
The reality is every company of FB's size is patenting every developer's latest dump if it can get through the patent office.
That's what gets me. There's a very narrow list of packages that they've selected for the MIT treatment. Why isn't the blog post something along the lines of "We're re-licensing all of our open source libraries under the MIT License and removing their patent clauses"? It seems like they're still trying to play games, and are only buckling to the pressure for a tiny number of libraries.
> This shift naturally raises questions about the rest of Facebook's open source projects. Many of our popular projects will keep the BSD + Patents license for now. We're evaluating those projects' licenses too, but each project is different and alternative licensing options will depend on a variety of factors.
So the list of packages they're truly open sourcing is intentionally small, then. They're only truly open sourcing the ones that are very popular and that had a huge amount of outcry over the license. That makes it worse.
I don't think it's fair to claim that it wasn't "truly open source". There isn't just one "truly open source" license. There are several. They obviously aren't all the same, that's why they are different licenses. People might have a reason to prefer one to another, but they are all "truly open source". People might even realize that there are some of them they can't use -- _many_ people have reasons they can't use the GPL, but that doesn't make it "not truly open source".
The Open Source Initiative's definition of "open source" doesn't say anything about patents: https://opensource.org/osd
I don't know if Facebook has asked the OSI to validate their "before" license as "open source." Perhaps if they did it would be controversial (or perhaps not), perhaps it would lead to OSI making more restrictions on what it will call 'open source', I dunno.
Of course its intentional, unless you truely thought they forgot about React Native.
The common thread here is that these libraries are often used together - changing React's license wouldn't have helped if they're also using Flow and Jest.
They said they're evaluating those. Facebook has to consider the impact of each library on their patent portfolio. They may not choose MIT for some of them. Maybe they'll go with Apache v2 for React Native. Let's relax. They're making the right moves here.
How are patents at all aligned with "truly open sourcing"? The GPLv3 is openly hostile to patent litigation:
"and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it"
The whole fight here is about patents, not about open source. Perhaps Facebook's solution to nuking patents was too crude, but it had nothing to do with "open source" vs "closed source". The whole issue here is whether you could still use your patents against Facebook, something orthogonal, if not outright hostile to open source.
In what way does re-licensing their most popular packages make it worse? It says they're evaluating. Doesn't say no and as demonstrated here it doesn't mean they wont change their mind later.
It creates continued uncertainty. If all the tools/libraries in the React ecosystem (such as React Native) don't all have the license, then we will probably stay the course with Vue. While Vue is amazing, React has a larger ecosystem. But if that entire ecosystem isn't available due to licenses then we might as well stick with Vue.
You didn't interpret my comment correctly. What is worse is that the narrowly selected range of projects to re-license is intentional rather than unintentional. They're only fixing the patent clauses on the bare minimum that they feel is necessary due to outrage. That means that they'd rather not but they're being forced into it. It'd be different if they were deciding to re-license everything; that might indicate an actual change of heart.
Isn't the license file part of the distributed .tar.gz, packaging metadata, and other release artifacts? It's bad form to change the contents of a release after it's distributed. So even a small change like that would require a (minor) version bump.
The author of this Facebook Engineering post confirmed that React Native's license currently is the same as it's always been: https://twitter.com/dmwlff/status/911348886882607104. I don't want to get into a big discussion about precise details here but pragmatically both the MIT and Facebook BSD+Patents licenses work well for most businesses, in particular those that aren't seeking to claim patent infringement against others.
I may not intend to go suing FB for patent infringement, but if they infringe on one of my patents, or if they sue me for patent infringement, it's really my only recourse.
You're probably already infringing on several Facebook patents. They bought a $500 million war chest of them in 2012 after getting sued by Yahoo. Many of them were from AOL and probably cover really broad concepts that we're all infringing upon. Let's not forget Amazon patented "one click checkout". Ok software patents are ridiculous. They always have been. The patent system was not built with something like software in mind.
Well, the implicit assumption behind FB's bsd+patents license is that you should be ok with anyone "infringing" on your software patents, since software patents are mostly bullshit and you only acquired them to be used in defense (i. e. never suing someone first). That license doesn't make any sense if you believe otherwise.
Well, the React PATENTS file seems to indicate that you would lose the patent grant for any patent assertion against Facebook,[1] not just for software patent assertions against Facebook. So, it's theoretically possible that the poster in the parent comment was concerned about a patent on something other than software. Maybe he or she has patented some type of VR headset, for example, and uses React VR for the software that drives it. He or she might reasonably worry that suing Facebook for infringement on the VR headset would result in the loss of patent protections concerning the React VR software.
[1] The language I'm thinking of is the part that says that the license terminates if you initiate "any Patent
Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates, (ii) . . . "
I agree that it is a legitimate concern if you believe that only software patents are a problem but want to keep your other patents available.
They probably left it this way because there is no legal definition of a "software patent" - they cannot differentiate between those and "other patents". It's not like "other patents" are all sunshine and rainbows either - the patent system is fundamentally broken.
IANAL, etc. This is indeed a very problematic bit. I'm not sure if it is even possible to restate that patent grant in such a way that the termination clause would apply only to software patent assertions and simultaneously keep the text sufficiently unambiguous.
Yeah, that is a downer. I'm going to wait and see what they decide to do about React Native before asking my company's lawyers if we can use React now.
There have been a few comments on whether or not the MIT license includes an implicit patent license, or is just a copyright license.
It should be noted that there is nothing in the MIT license that actually says it is a copyright license. Here is what it grants you permission to do:
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions
It is giving you permission to "deal in the Software". What that means is not defined but it gives several examples that it includes: use, copy, modify, publish, distribute, sublicense, and/or sell copies.
Several of those, including use, copy, sell copies and maybe distribute, are things that require patent permission if the software is patented. The plain language of the license says that you have permission to do those things, and the only way you can have that permission is if you have a patent license, so I don't see how a court could read the license as not including a patent grant if the licensor has patents that cover it.
Wait, so they're replacing a license that has a dodgy patent grant that everyone distrusted, with a license that doesn't have a patent grant at all? Why not Apache?
Basically, if you sell or license a product that requires a patent to work, courts have generally held that you grant an implied patent license for any patents that the product might require. If you explicitly reference patents within the license, however, then whatever terms you explicitly write into the license supersede this implied patent license. BSD+patents (and Apache 2) have explicit patent language; paradoxically, this makes them more restrictive than licenses like MIT, BSD, or GPL that don't mention patents at all.
Yeah, exactly, what does this actually accomplish besides putting the user in a worse situation where they are no longer given any sort of patent grant?
At least it might give the louder parts of the community that have been consistently complaining about this issue a good reason to stop shouting quite as much
Because an unspecified parent grant is most likely an implied patent grant, and especially for FOSS there is a very strong case since your are explicitly permitted to study, modify, and use any part of the code.
Probably because they have no patents that cover the concepts these libraries introduce. Perhaps wit some of the others they will go Apache v2. People have been so worked up by the FUD that Facebook can't even relicense under MIT one of the de facto open source licenses without being met with suspicion.
> Probably because they have no patents that cover the concepts these libraries introduce.
Apache 2.0 certainly doesn't require you to have patents in order to use it ("applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s)")
They have the patent: https://www.google.com/patents/US20170221242. Just MIT is a good option, I don't really understand why they don't want to "fix" the patent grant to be like Apache 2.0 or Google's. Why relicense everything when fixing 1 sentence would fix the problem completely.
The patents grant was irrevocable except under explicitly described conditions. A license change wasn't one of these conditions.
So:
1) Does the patent grant still apply? i.e. is it now MIT + Patents?
2) If yes/no, what about existing users of React? i.e. if you were a user up to the point of the license change, do you get the grant, but new users don't?
3) Doesn't not having the grant make us worse off? Presumably only the Apache 2 license would be an improvement in this regard?
React 16 will be licensed under MIT. Previous versions of React which you may be using under BSD+patents will remain licensed under BSD+patents. If you upgrade to 16, you should be free and clear of the patents clause. Definitely not PR theater.
(IANAL, but this is how relicensing works basically universally)
But my understanding is that some patent grant is better than no patent grant. The controversy was about the termination clause favouring Facebook, but it’s still better than not having it. Surely the only true solution would have been to switch to a license that has a more liberal patent grant, eg Apache 2?
If we were to move to React, one of the main things we would want to use is React Native. But our lawyers have forbidden us from using any of the Facebook technologies licensed under the current licenses.
Before all the congratulating goes too far, it is important to realize that only some projects had the license change but it went to an MIT license. What people really want is for these projects to be licensed under Apache 2 (like they did with RocksDB).
The other thing is that there are many projects that are STILL going to be on the BSD+Patent license. These include widely used projects such as React Native and GraphQL.
This behavior is reminiscent of their strategy of invading their users' privacy and then retracting a bit and then doing it again. Wash, rinse, repeat...
As you seem to consider the MIT license insufficient, you evidently don't use any mainstream modern JS library. Tell me again why you think your opinion matters or contributes anything to the discussion?
> Although we still believe our BSD + Patents license provides some benefits to users of our projects
I'm probably missing something, but: If their BSD+Patents was actually strictly "better" for the user, could they not just dual license under both? Is BSD+Patents ∪ MIT < MIT for some reason?
Yeah I was wondering the same. Dual licensing should be strictly more permissive for users, who c=would be free to apply whichever terms gives them better protections.
People were unhappy with the terms of the patent grant: it stated that FB would grant you a license to its related patents, BUT, if you were to sue FB for patent infringement, your license to use the covered software is terminated.
But I very much agree and am puzzled why everyone seems to think this latest move is such a great thing. Removing the patent grant entirely isn't so great.
It's a response to placate folks who pick a stance based on the memes that the newstides wash up. In other words, it's not exactly good news at all, it's just a really big deal.
That's not fair. The lawyers at my company (Fortune 150) may have been irrational in forbidding us from using React, but they were hardly influenced by memes.
I don't know the reasons for your lawyers, it's possible I miss something here but it looks to me like MIT+Patents-grant gives you more right and more protection.
Facebook can sue you anyway, no matter what the license is. The grant made it impossible for facebook to sue you unless you sue first. That's gone now.
I wonder if they'll put ReasonML under MIT as well. It's a really compelling project, especially considering how it can be combined with React. I suppose if they don't change it, one could just use Elm!
Thank you facebook for addressing the community concerns. Your tools are great and I really am happy that you respond nad listen to feedback - even when lawyers get involved.
Is the GraphQL spec itself under the BSD+patents clause? Or just their specific implementation? Couldn’t somebody like the Apollo crew create their own implementation if necessary?
The problem is that there actually are patents covering GraphQL. So anybody who writes an alternative GraphQL server implementation is potentially infringing upon those patents.
The issue with the GraphQL spec is that people actually want a patent grant for alternative implementations, but there isn't one.
"This shift naturally raises questions about the rest of Facebook's open source projects. Many of our popular projects will keep the BSD + Patents license for now."
This looks like damage control and is limited to a select few open source projects of theirs. Feel free to change your mind, but think twice about committing to depend on projects from a source that didn't seem to have a problem with this license before the exodus. Will it happen again?
Mmm, I think that point already happened before the patent thing. Which is part of what made this whole dustup so farcical, but that doesn't matter now.
I would just like to see people evaluate and decide whether to use it based on the actual technology, and not FUD.
I think this a very positive move by Facebook. Dropping the patents part of the licence encourages a more open playing field. Now React can continue to grow unencumbered by the legal minefield found in the world of software patents (the patents will unfortunately still exist, but the chances of them being brought into a court case are greatly reduced).
My beef with software patents is bigger than my dislike of the Facebook institution. I think something like a weak patent clause would be nice for FOSS projects but it's not explored by many so far.
Interestingly more people seem blatently annoyed that their employer forbids them to use e.g. React and not about what the license actually means.
I wonder what this means for their other projects under the same patents license? I've been really excited about pre-pack (https://github.com/facebook/prepack) but I'm afraid of being bound to their license agreement.
BSD+Patents would terminate its patent grants if ever yourself and Facebook entered litigation. Implying Facebook would add a patent suit to their defense/offense.
Now they STILL get too! Buuut they look like a good guys. MIT says nothing about Patents. So they can sue _anyone_ using React for patent violations now.
I'm not a lawyer, but doesn't BSD/MIT has an implicit patent grant? It would be absurd for a company to argue that they put their software out there for everyone to freely use, but "JUST KIDDING -- we secretly didn't give you rights to use the related patents that we didn't tell you about."
It would be interesting to see the backlash if a company ever tries that one. They would probably lose a lot of their own developers as well.
It says: "Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: [include this notice, no liability]"
Without restrictions or limitations. As far as I know, it has not been tested in court, but I think it would be suicide among the developer community for a company to try to do that.
Everyone should have patent concerns either way. The ideal solution would be to abolish software patents.
It's nice being one of those people who wasn't using React because of its strange licensing. Facebook has its history. Now I can say it's really good to see that Facebook make the right call.
I will still not be using React. It's just too heavy, same order of magnitude as jQuery.
For me the takeaway was getting familiar with the various licensing systems. Going forward, I think I would be giving heed to the license a particular OSS carries with it before using it for production level development.
There is no patent clause now. Assuming some FB patent has crept its way in one of their open source, if a company sues FB for patent infringement, FB would be able to counter-sue for copyright infringement due to the suing company's use of FB's open source.
"As long as you don't sue us, we won't sue you" kind of a deal. If the above scenario is true, it seems there is no de facto change beyond the political one.
Anyone with more legal expertise able to disprove this scenario?
Why would Facebook sue for copyright infringement? Suing them for patent infringement doesn't invalidate the copyright - not for BSD+PATENTS, and certainly not for MIT. Your scenario doesn't make sense.
> FB would be able to counter-sue for copyright infringement due to the suing company's use of FB's open source
the whole point of mit/bsd/etc is copyright grant. fb can only realistically win a suit wrt infringement if they revoke the mit/bsd license first (not sure if this is possible...not sure if it's even been tried before).
But since there is no patent grant with the MIT license, using the open source software is–potentially–open to patent litigation. I don’t think this has been tested in court yet.
In that case, there are two issues that need to be covered by FB; first, they need receive an agreement from all collaborators they agree with the license change—most likely, the SLA takes care of that; second, forks of the code up until the license change point still hold the original license—any fork that was created before the license change remains with the original license, and so does every use of code that consists only of code before the license change. This is what I meant by “retroactively”.
So this post is getting downvoted, but no one is arguing why they disagree or believe this is not a realistic outlook. Emotional responses don't really help anyone, and this is not Reddit.
Yeah I think people are downvoting statements they disagree with...even when they add to the conversation. This is bad because those comments can disappear on HN.
I think Vue is good competition for React. I think if React + Vue become the de facto standards then it's a win for everyone. They're both huge improvements for the web development experience.
>Next week, we are going to relicense our open source projects React, Jest, Flow, and Immutable.js under the MIT license.
Case closed. Could not have picked a better license, thank you Facebook. MIT or bust, I try not to use any other types of licenses in products/libraries I choose for work and personal use.
> Case closed. Could not have picked a better license, thank you Facebook.
Case not closed, patents still pose a threat. They could (and arguably should) have picked better license, something with explicit permissive patent grant, such as Apache 2.0. This move can barely constitute even as lip service to appease the masses.
Was it asymmetrical? I thought it was a "we won't sue you for anything in this software, unless you sue us first". This change still allows them to sue you for any reason.
It’s asymmetrical in the sense that your license terminates even if you sue them for something that’s not in the software you’re using. I.e. they rip off your feature, and you’re using React, you’re f##d.
If you sued Facebook, you would have lost the patent grant, but not the copyright. With the new license, there's no patent grant at all, so if any code in React is patented, you're in the same boat as you'd have been if you'd sued in the prior situation.
Keep in mind that holding a patent allows the patentholder to prohibit someone else from importing, making, selling, or using some product or practice.
The MIT license gives you the rights to "use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software", and that's not even exhaustive. (See "without restriction" and "without limitation".)
Is there something missing from the second list that you think needs protection from the powers granted to patentholders (the things in the first list)?
Many argue that the difference is between the old explicit grant (which was one-sided) and the new implicit grant (which is more two-sided). Reverting to BSD doesn't remove the fact that the explicit grant was revoked, so the real comparison of one sued is BSD with no inplicit grant to MIT with an implicit grant.
Implicit grants have very little case law and what law there is doesn't look too useful for people in this case (the patent(s) would have to be extremely specifically applicable to the code, which most patents are designed not to be).
So I trust implicit grants much less than explicit.
It's a principled stand for sure, and I can respect that, but it also means that in practice you get less protection.
Like, I'd love to live in a world where patent protection wasn't even an issue but we don't. So in this situation we end up with less protection due to compatibility concerns.
Given we do live in a world where software patents are valuable to companies and they won't all want to give blanket irrevocable licenses... there has to be a way for business to do that and protect users of the software.
The patent grant FB did was a (flawed) attempt at that.
Not sure how the topic veered; this thread was about the difference between BSD+Patents - Patents vs MIT and the two being less equal (in my opinion) than first posited, because the +Patents and -Patents don't cancel out to equal the implicit patent grant of MIT.
Even if you believe the implicit grant to be weak, or Facebook's Patent grant to be better than an implicit grant, the above discussion stands independently of those things.
Literally is true. In the presence of patents BSD license alone (and MIT, too) would basically mean you’re infringing on their IP, and they can and will bring action against you on the basis of your use of their software, even if your legal action against them was over completely unrelated patents.
Not sure what you're trying to say as your phrasing is jumbled but the BSD licence offers zero protection from their patents now. They can sue you whenever they like now.
This is, of course, true of any other OSS and patent holding company.
As the old saying goes, you will eventually run into someone who doesn't give a fuck who or how powerful you are. Meet your Daddy, Facebook. He is called Automattic. :-)
As for people who think the exodus out of React was "imaginary" - I wish FB had actually completely dropped the ball and stayed with the old license. That would have forced Automattic to not merely drop React, but also anoint a competitor which would have probably overtaken React in no time.
I still think that projects like Vue will pass React soon. Facebook only did the right thing because they saw the impending backlash. The PATENTS file is still in their other repos.
Automattic, the PHP shop? I don't think they have a great influence on what javascript framework is the most popular. The job market is trending towards React and now it will be even more so, the people who thought the patents was no big deal are now rewarded
MIT license doesn't contain any patent clause. So it is the same as BSD + Patents with patents part revoked. Thus, in theory, FB can still have a case on patent over React even if you use the source with copyright grant.
Apache 2.0 has a patent grant from my understanding.
This is all so complicated, and there's so much conjecture and uncertainty from the community. Engineers interpreting legalese is a bad idea. We need impartial lawyers to explain each of these licenses in plain English, including the ramifications and side effects to consider, and put the debate to rest.
> basically all this has done is remove explicit granting of patents
If that were true, then why would they write all those blog posts saying that the BSD+Patents was "for their protection". They even repeated it here. It's pretty clear that the patent grant was asymmetric, but not in the direction you're suggesting here.
Oh it works both ways. It's the opposite of the Apache 2 grant for example (which is extremely liberal, and I like it) but that's also exactly what you'd expect from many large companies.
There's a reason that BSD/MIT is preferred by companies vs Apache 2 (which has been adopted, yes, but much less). It's because - just like here - it preserves all their patent rights.
So yes, you now have less protection but FB has just the same if not more.
Don't get me wrong: the patents grant wasn't a great solution but it solved specific problems and concerns on both sides that BSD by itself doesn't even try to address and alternatives (like Apache 2) only address half of.
Nice. Now if only Facebook changed their attitude regarding tracking and profiling of users, letting users be the "product", grabbing the attention of users with psychological tricks and fake news, then perhaps I'd consider using and supporting their open source projects.
Facebook almost ruined these awesome projects just because of some nut head not thinking through. Hopefully this will recover them on many fronts in opensource community. I don't know if they were just playing with our emotions or something but I personally feel happy to hear the news.
Every time I make a negative comment about React, I get a ton of downvotes. So this time, I'd like to applaud the React legal team for this momentous decision. I will now consider using React in future projects.
But I'll still look for a framework with better separation of view and controller logic. And incremental DOM.
I get that there's legal uncertainty: I can imagine some companies, especially larger ones, not wanting to give up their patent-suit option just because one random small team in their org is using React. And barriers to adoption aren't a great idea when one of your goals is wide adoption.
Overall, though, I think making it much harder to file patent suits -- at least for software patents -- is a great thing. Facebook's (and others') implementation of it might have left something to be desired, and they're certainly a large company with a lot of resources behind them, so the power dynamic might be a bit lopsided, but...
Well, let's just say I'm a small company or individual who wants to release some open source code. Doing so under a BSD+Patents-style license gives me some protection from any big players who decide to use my software. How is this a bad thing?
I suppose I hold a pretty strong anti-patents stance, though. I'd be happy if (most?) patent protection just went away entirely.
As an aside, note that it looks like FB is going with straight MIT. So they're not even giving users of their software a patent grant at all anymore[1], and reserve the right to sue you later just for using their software, if they happen to have a patent on something in it.
[1] Yes, there are some legal opinions that the MIT license's language includes an implicit patent grant, but I don't believe that's a settled matter.