"To my knowledge, Facebook has never proactively sued anyone for infringing its patents."
That's not a good enough reason for developers or startups to give away legal power like that. Forgive me if I don't feel like waiting for them to turn evil.
Hi, author of the post here. This quote isn't a reason to agree to the license.
Agreeing to the Facebook BSD+Patents license doesn't rest on the assumption that Facebook will continue a defensive stance on patents. It gives you rights or mostly preserves your rights if Facebook were to proactively claim patent infringement. From my reading:
1. The patent grant specifically gives you patent licenses for Facebook open source, so Facebook couldn't rightfully claim patent infringement for the licensed patents.
2. The grant also says if Facebook were to proactively sue you for infringing its patents, you'd keep its patent licenses even if you were to countersue.
(Disclaimer: I'm not a lawyer, nor is this legal advice.)
Hi James, it looks like you've invested effort in the Expo SDK via expo.io to promote React, but aren't currently monetizing it nor do you have any patents under Expo that may be at risk. I understand that you're in YC S16, but the scenario below assumes you haven't received any investment yet.
Let's suppose that Expo SDK 2 has valuable IP that you've protected with a patent, and that you are now seeking investment so that you can grow a business around it.
It works! Investors are excited, customers love it, and business is growing! Well, until Facebook comes around and releases the Fxpo SDK with a large media launch at F10. It contains some of the same technology you added to Expo SDK 2, perhaps even some of that patented technology that enticed your investors. Wow, that sucks. So you call up your lawyers and setup a meeting with Facebook.
At the meeting Facebook says, "Tut tut tut. James, you can't sue us for patent infringement because we'll pull your license to use React. James, your entire business is built around React and it might cost, what, $1M USD to replace it with Angular. And how long might that take? Months? Years?! James, we see that you're a smart businessman. Look, we'll buy your company for $200,000. Think it over."
What will you do? Sell Expo Inc to Facebook for pennies, or fight them in court with the lawyer's fees and the loss of use of your money making product? Will you have enough cash to cover the gap? Will your investors, anxious to get their 5% return over the 10 year life of the fund, stick behind you or will they write this one off?
When you look back at the time you lost to dealing with this crap, wouldn't you have rather just used Angular or Ember or... Elm?
This scenario's premise assumes Expo's success could heavily depend on claiming patent infringement against Facebook. If that were true then it'd probably be simpler not to use Facebook open source under the BSD+Patents license.
But for several reasons, the Expo team is working without the assumption we need the option of suing Facebook for patent infringement to be successful. I find companies that are sufficiently durable for other reasons to be more appealing to people whose livelihoods depend on the company in some way, including developers, the team, and investors.
Agreed; Expo is in a unique situation that favors partnership with Facebook to maximize the penetration of the React license terms into the broader ecosystem. As such, Expo has natural resistance to the scenario above in that Facebook would not go after a promoter of its license strategy.
That said, Expo is sort of an outlier in this regard and other teams using React or other affected technologies in the process of building their businesses are unlikely to have the protection of such a natural alliance.
Beyond strategic alignment and intellectual property protections, it is hard to imagine what else might balance the scales between a global gigacorp and a $5M SV startup.
> As part of the patent grant, you’d have to stop using Facebook open source upon claiming patent infringement.
IANAL but I don't believe this is correct.
If I'm using React and I decide to sue Facebook for infringing some other software patents I hold, I lose the patent grant for any potential patents Facebook might hold concerning React. Which they could go after me with if they do indeed hold such patents. There's nothing proactively forcing me off React.
I just don't see anything but good from this BSD+patent grant situation. It lessens software patent litigation in general and lets me know I'm safe from Facebook suing me specially. It seems fantastic!
My friends and I have dealt with Facebook before in various capacities, and I can tell you that they play DIRTY, and if it comes down to it, they won't hesitate to use the aforementioned PATENTS license in their favor against you.
I know many stories like this; Facebook M&A meets with the founders of a promising company under the guise of a "we're about to acquire you" only to have Facebook copy their companies and then follow up with Facebook's lawyers knocking on said startups' doors to shut them down.
As such, I will not touch Facebook with a 10 foot pole, and I strongly recommend, from personal experience, that you do the same with your company.
It's not just Facebook - I've heard of other M&A teams working in a similar way. If you're considerably further ahead than them then they'll buy your company, otherwise they'll go for a clone strategy instead.
Since I started looking into the M&A world I've learned you just can't take stuff like this too personally.
Isn't this the usual way of the larger monopolistic corporations ? As they grow they lose their ability to innovate (if they had some in the first place) and rely on bullying, buying, copying, suing the little players out of existence.
> If I'm using React and I decide to sue Facebook for infringing some other software patents I hold, I lose the patent grant for any potential patents Facebook might hold concerning React. Which they could go after me with if they do indeed hold such patents. There's nothing proactively forcing me off React.
It seems like you're assuming that there's a decent chance that FB doesn't actually hold any patents on React. This seems unlikely, and is contradicted by what the author wrote (indicating that popular React alternatives may also infringe FB patents). Or am I not understanding your line of thinking?
My view, as a former lawyer, is that if you want to sue FB for patent infringement, you would be very unwise to continue using React. Willful infringement = treble damages.
> It seems like you're assuming that there's a decent chance that FB doesn't actually hold any patents on React.
That's very likely actually. Patents are public; people have searched around for obvious concepts and phrases involving the virtual dom, synthetic events, etc., and nothing has been found. (There's also nothing novel in what React does, so you'd kind of hope there'd be no patents.)
> This seems unlikely
Why do you think Facebook having patents on React is likely? (Come to that, why is it any more likely than them having patents on the tech behind, say, Angular?)
> and is contradicted by what the author wrote (indicating that popular React alternatives may also infringe FB patents)
IF a patent on, say, the virtual DOM exists, then Preact, Vue, etc., will all violate it. But it seems fairly clear that no such patent exists. So the author is quite right; popular React alternatives almost certainly use just as many of Facebook's patents as React does...it's just the number is probably "zero".
That said, if you're using React, I don't think you should be suing Facebook for using your patents - after all, you're using theirs. If you do want to do that, then by all means, skip React.
> That said, if you're using React, I don't think you should be suing Facebook for using your patents - after all, you're using theirs. If you do want to do that, then by all means, skip React.
So if they infringe on your patents you shouldn't sue them because they let you use some of their code? Note that this covers any patent (design patents too and not just software patents) and for any reason you sue them. That's not how this is supposed to work, and precisely what's wrong with the license. The grant shouldn't be revoked if Facebook is infringing on your works. It encourages you to not litigate against them if they're in the wrong simply because you're using one of their open source components.
The Apache 2 license is much better worded in this area:
> 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.
That Apache 2 approach is entirely fair, the grant gets terimnated if you sue for patent infringement, and only that. If that's all that Facebook wanted to protect against, as the author alledges, they could've used the Apache 2 license just fine. They didn't because they're trying to leverage their patents much further.
> So if they infringe on your patents you shouldn't sue them because they let you use some of their code?
No, if it's really just "some code" to you, then you should simply not use it if you're really afraid that Facebook is infringing on your patents and that you will gain harm from that. However, if:
- you're profiting a lot from either React, or other Facebook patents
- you're not afraid that Facebook is infringing on your patents, or
- Facebook infringing on your patents doesn't really harm you, just like you using Facebook's React patents doesn't really harm Facebook
...then you can just use React. And I believe one of the above holds for almost every React user.
And I'm afraid I don't really care how patents are "supposed" to work - we've known for a long time already they don't work like they're supposed to....
> - Facebook infringing on your patents doesn't really harm you, just like you using Facebook's React patents doesn't really harm Facebook
Eh, what? There's a very big difference between someone infringing on a patent, which does harm no matter if you care to enforce it or not (because it sends a signal to others that it's fine to infringe on your patents, if you don't care about them make them public domain instead), and an open source project including a patent grant so you don't have to worry about any patents that might govern that code. The two situations are not identical and can't just be compared like that.
> And I'm afraid I don't really care how patents are "supposed" to work - we've known for a long time already they don't work like they're supposed to....
Ah yes of course! The system is broken anyways so lets just not give a fuck about it being further abused. Just do as you please. Sound argument.
Software patents are broken, but other patents are still doing some amount of good. Facebook is leveraging software patents to get a potential advantage in all patent cases.
That's an ugly React-related patent application for sure.
I hope this application doesn't go anywhere, as there would seem to be a lot of prior art. For example, the Cocoa API in macOS implements the method of Claim 1 pretty much to the letter:
The patent description explicitly states it's about React:
"Although many embodiments are described herein in the context of React, embodiments are not limited to React or to rendering only updated views as determined by React libraries."
I know that patent claims are typically much more specific than what the abstract suggests, and I only gave the claims a cursory read, but... surely there is prior art for this? I mean, I'm sure many non-web GUI systems avoid overdraw and at the very least, game rendering engines do, right? At least, I was under the illusion that overdraw was a big deal that at least shader-heavy renderers or old-school 80's/90's tile based renderers?
We (the Flapjax team) open sourced a vdom for reactive web programming / FRP in 2005-2006, including formal publications in 2007-2009, so precedent will be interesting. We're doing next-next-gen of that stuff at Graphistry (Rx, Falcor, GoAI, ...), so fun times if lawyers come in.
Fun? Hope you guys have a $500,000 or so stashed aside for this fun party. That's likely what you need to prevail even when the facts are on your side.
My statement is that React builds on > 10 years of ideas from open web frp frameworks and > 20 years of reactive frameworks in general. Companies wanting to bust patents here would certainly get support from early creators like us. Certain ones like Google have been know to do that sort of thing, and I wouldn't hesitate to help them if they identified anything.
> if you want to sue FB for patent infringement, you would be very unwise to continue using React.
If you want to sue any company for patent infringement, you would be very unwise to continue using their software under most common licenses. The most-touted alternatives to React are plain MIT license with no patent grant at all, creating exactly the same risk. Why does the license that prevents you from being sued first get all the condemnation?
IANAL, but this commenter, whose profile claims he is a lawyer, says BSD carries an implicit grant which is broader in theory than Facebook's explicit one, but still has some untested characteristics: https://news.ycombinator.com/item?id=9113515
It's not just some characteristics that are unsettled. The same people braying about the legal risks of relying on an explicit but revocable patent license should be even more wary of anything implicit or assumed. Any lawyer pretending otherwise in a professional context would be flirting with malpractice.
If these projects are covered by Facebook patents, it doesn't matter if their license has a patent grant since they don't own rights to the Facebook patents.
Exactly! I have yet to see a solid walkthrough of how my situation is made worse because of an explicit patent grant.
I believe the fear of a grant revocation also revoking the BSD copyright license has been thoroughly settled. If that were the case that would be an issue but FB themselves have put in writing that that is not the case.
IANAL. There's case law in copyright law concerning implicit grants. We can assume that it's at least partially applicable to patents (See here: https://en.wikipedia.org/wiki/Implied_license).
> My view, as a former lawyer, is that if you want to sue FB for patent infringement, you would be very unwise to continue using React. Willful infringement = treble damages.
It isn't just React. The PATENTS file is in most of their repos.
It seems like it will basically allow Facebook to infringe on patents from many companies once their software has crept into the dependencies of critical parts of the open source ecosystem. (I'm not sure if it would be accurate to call React Free software.)
I'm not assuming they don't have any patents on React but I also have zero intention of wielding software patents so it's not something I'm concerned with.
You're correct though that if one does have aims to sue Facebook they should cease using Facebook led projects.
My main point is that the patent grant is nothing but gravy. Without it you have a plain Jane BSD license. Certainly not a worse situation.
Correct me if I'm wrong, but this risk has nothing to do with the BSD+patent grant. If Facebook held patents on some React mechanisms, and they published React with pure BSD license, they could sue you at will if you use React.
Basically, the grant guarantees that you can't be sued if you don't sue first. No grant means that you can be used in any case.
Not just that, but if Facebook patents covered any similar framework (eg Vue.js) they could still sue you if you use that other framework.
> Correct me if I'm wrong, but this risk has nothing to do with the BSD+patent grant. If Facebook held patents on some React mechanisms, and they published React with pure BSD license, they could sue you at will if you use React.
I have head a theory that the BSD licence has an implicit patent grant. If FB sued you for using a plain BSD licence, you could argue the BSD covers it, if the courts agreed, you'd be fine.
One objection to the BSD+Patents licence is that it sorta removed the ambiguity, and explicilty implies the BSD has no patent aspects.
> have head a theory that the BSD licence has an implicit patent grant
Even the experts admit that it's untested, and every law student knows that anything up to an actual test in an actual court is little better than a guess. Also, beware of "experts" who aren't even talking about copyright law. For example, consider the three cases mentioned in the "US" section here.
The Hewlett Packard quote is clearly about products, which I know for sure are not legally the same as licenses. The Bottom Line quote's mention of purchases casts a similar shadow. Only the De Forest quote passes even a rudimentary sniff test. The case for this implicit license is weak indeed.
But fine, let's say there is such an implicit license. I have good news for you: it would apply to the Facebook code as well. The same principle used to argue for the existence of an implicit patent-license grant under plain BSD - i.e. that trying to bring a patent action would interfere with the still-operative copyright permission given in the LICENSE file - would still apply. Nothing in the PATENTS file would change that.
Belt and suspenders still beats belt alone, no matter how strong or weak the "implicit license" belt might be.
Yes, you're absolutely correct. So the takeaway would be not to bring software patent litigation to Facebook's door flippantly. A thing I'm absolutely in favor of.
I can't believe I'm defending Facebook though. A company who's data-mining practices completely creep me out. I definitely try to reduce the reach of their tentacles into my life but in this case I see nothing to take issue with.
Nobody is denying this.
The real problem actually is the other way around. If Facebook infringes on your IP, you still can't do anything about it..at the risk of losing patent cover.
Im really not sure how it can be worded to let legitimate lawsuits through. But that is the problem. Tomorrow if you build a new AI algorithm on caffe2, FB can pretty much use the whole code and you would be bound by the patent clauses.
Surely it should also be emphasised that any competing products that happen to violate those patents would be off limits? The emphasis in most of these discussions is that you have to get off React, but it's likely you couldn't move to a direct competitor either.
Hi, author of the post here. I updated the post last night to be more precise about losing the patent grant specifically and not other rights like the copyright license.
A patent application must be filed within 1 year of public disclosure or its barred, and React has been out for years.
And any pending application filed during that 1 year window would be visible now, so...
...nothing is going to happen. There's no submarine patents possible here. (...from Facebook, anyhow.)
Fascinating. Well, good to know, and that does change thing a bit.
So, better make sure nothing you use has any form of smart overdraw reduction, dom diffing, etc., before you pick a patent fight with Facebook.
Of course, a cursory glance suggests every modern frontend UI library will violate that patent, so I still don't see a reason to avoid React; Vue, Angular, and recent versions of Ember are all just as much in violation. Guess we're back to static HTML and PHP. :)
(More seriously, hopefully it won't go anywhere; it's pretty clearly got a ton of prior art. But given how broken the patent system is, who knows?)
Yeah, the claims appears to be the usual ”-We do the desktop thing, but it's actually completely a different thing because we implement it in a browser, and it's natural confines".
However, imho one of the major problems with software related patents is allowing an extremely ambiguous language in a field where exact language is the native form of expression.
It simultaneously makes it excessively expensive to challenge a patent, and almost impossible to divine if a particular implementation is covered.
There is code I've written that a client wanted to patent, and knowing the nature of the code, it's not a snowball's chance in hell I would recognise that (my own) algorithm if it was written in patentese, at least without spending days on it.
I don't even want to think about how many hours of legal fees it would cost to challenge even such a minor algorithm.
This license isn't exclusive to React. Assuming that you're correct and Facebook's legal team made a mistake, what happens when everything is filed correctly with another project? What happens when another company uses this? I can't help but feel that the big picture is being missed. If Facebook's open source projects don't lose momentum, other companies will be tempted to do follow
This is good insight for Facebook's motivation behind this license. Even before this post, most people understood why Facebook would use this license. However, it still doesn't fix its problems for 3rd parties, and it introduces bad precedents for open source in general. I can see less collaboration over time between different companies if this license ever gets popular. I could be wrong but knowing the history behind it doesn't change my opinion that this will hurt open source in the long run.
> ... 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.
It seems to be more fair to me. It doesn't give any special right to Facebook or any other entity. I.e. Apache 2.0 revokes the patent grant if anybody sues for patent infringement arising out of the work. Facebook's license the patent grant if anybody sues Facebook for anything, or other parties for patent infringement arising out of the work.
This discussion just goes to show again the extent to which the tech community allowed itself to be gaslighted into accepting that:
1. Anything about react is patentable.
2. Licensing of unspecified patents is a thing.
3. Licensing of software without disclosing related patents held by the author does not invalidate those patents on the basis of bad faith acting alone.
In what obscene legal reality does adding a patent grant that can be revoked in certain circumstances puts the licensee in a worse position than a license that does not mention patents at all ?
if you called it a patent 'clause' - rather than a grant - then does it make more sense? More clauses == more legal conditions.
The fact is that patents are obsurd in software. It should be treated like in the fashion industry - notice how clothing design is _not_ patentable, and the fashion industry has not an iota of being un-innovative or impeded! In fact, the very reason of being able to make any design copy in fashion leads to the large proliferation of innovations, as each designer tries to one-up another.
Yes to my non-lawyerish understanding making it a clause in the BSD license would be different - it would no longer be a BSD license but rather a new (non OSI) license containing provisions regarding patents.
I agree that software patents are evil but then so are many other parts of the modern legal system, but even with them it feels that what facebook (and other companies) are doing shouldn't have any legal standing - see my comment down the original thread.
and i'd argue that the license that facebook is using _is_ indeed a new license! It's BSD plus something added to it!
Unless the end user has the choice to not take the patent clause ("grant") as part of their license. IANAL, so i dont know if it is possible to cherry pick like this.
It wouldn't be a "grant" if the user didn't have a choice of not taking it.
Consider if somewhere in the repo there was a file called GOATS which conditioned the right to use react on having goats sacrificed to facebook every new moon, would it make react BSD+Goats licensed ?
There is something I don't understand about the HN comments when the React license comes up.
Whenever something about software patents in general comes up, the majority of commenters seem to condemn them - at a minimum in their offensive usage. And a vast majority of commenters seem to be opposed to them at least to some degree.
So if as a general position you do not support the offensive use of software patents, why does the react license matter _at all_ to you? The only time it would matter would be if you would sue facebook for violating your patents. Am I not correctly understanding the license? Does it apply any other time?
There already exists a widely-used license for actively protecting both users and developers from patents embodied in a work: Apache 2.0.
Facebook made their own license for a reason. Compared to Apache, the Facebook license gives Facebook greater power in the user-developer relationship. They only give users use of React patents, but in return they demand protection against all patents from their users.
I'm not a huge fan of the patent system, but I'm even less a fan of hoisting Facebook into a position of even greater power over smaller competitors.
tl;dr: The clause isn't fair. It grants uneven protection. Their refusal to use a similar, existing, popular license that does grant equal protection is concerning.
My understanding is that the MIT license - used by lots of projects, including eg Angular - doesn't afford any patents protection at all. So, would you criticize those using the MIT license more than Facebook?
Comparing with the MIT license apples-to-apples, I agree it's guaranteeing less. But most people just use the MIT license because it's simple, permissive, and very popular in certain communities. With both that and the ASL 2.0 being very popular and certainly known to Facebook's lawyers, they then developed this license. So the intentions mentioned in the parent speak volumes, IMO. I'd prefer not to use the MIT myself for these reasons, but I don't think most people are thinking about this particular aspect this deeply when they just slap a permissive license on their projects.
I feel it's a little like this: https://www.xkcd.com/463/. Yes, the new license is providing explicit guarantees that do not exist in the MIT license. But... I'm not sure I like the thinking behind it when other licenses already address this in a fair way.
I am not a lawyer, but my understanding is different. The MIT license doesn't mention patents and only mentions copyright in relation to preserving the notice about who owns it. When granting permissions it focuses on specifying the expected end result rather than getting caught up in details.
The MIT license says plainly that you have the right to use the software without restriction. To me, a layman, it would seem contradictory and unfair if the author later claimed that they held previously unmentioned patents that restricted your use of the software.
If everyone used React, Facebook would then be rather free to sue everyone (especially other mega corps) for violating Facebook's patents. Normally, this isn't the case, because every company of appreciable size has at least a few patents laying around that you're violating, which they could use to countersue. It's a MAD situation. But if you sign away your right to sue Facebook, you're also signing away your right to countersue Facebook—thus removing any disincentive Facebook would have for just suing anyone they like.
Doesn't the license explicitly state the opposite?
> Notwithstanding the foregoing, 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. [0]
As I read it, it only applies if you are the original instigator, not if they are.
This needs to be more up-voted, so that mis-understandings about the license doesn't perpetuate! You only "lose out" on the patent grant if you sue facebook over patents - _NOT_ when facebook sues you.
> If everyone used React, Facebook would then be rather free to sue everyone
The extremely clear and explicit purpose of the patent grant is to disallow "first strike" use, so this could only happen as a countersuit. How is that worse than the mountains of open-source code released with no patent grant at all?
It's more like, you patent a saddle for ants to ride bees and use react as the UI to control the warmth of the ant seat. Facebook makes a similar bee saddle. You sue Facebook, and they revoke your rights to react.
> You sue Facebook, and they revoke your rights to react.
Except that's not what happens. What would really happen is that the patent grant would be revoked, but the license to the software (a matter of copyright) would remain in force. So they could sue you for patent infringement, just as they could always have done under most other licenses, but not copyright infringement. Under most other licenses they could even have sued you first, but they gave up that right. In fact, that's the only effect of the much-maligned patent grant. It's a pure giveaway compared to what the situation would be without it.
They assert it applies even if you are suing facebook for infringing on your hardware / biotech / business model patent.
In my non-lawyer understanding the existence of the patent grant changes nothing in those circumstances (that is they could sue you without it as well with the same merit)
and actually prevents them from suing without you suing them first, however companies do not usually restrict themselves like that and consider it a defensive move so someone who is a lawyer should explain what they are trying to pull here.
I think this is the result of a trend away from the previous conviction of pretty much everyone in tech that patents on software are an awful idea.
Is the community changing towards a demographic intent on striking it rich, instead of the previous morals of openness? There are also more condemnation of, for example, the GPL now than there have been in the past.
So, for a while, everyone in upper management will continue with such policies as Facebook's, since they came up at a time where patents where anathema. We'll see if this changes when today's entry-level programmers climb the ranks–or if their views change over time, or if the latter selects for people of certain opinions.
Why does the opinion that patents on software are wrong, never help anybody but patent trolls, and slow down progress not scale to larger companies? How could an opinion that's right for a person not possibly also be held by something larger?
Empirically, almost no large software companies have ever used patents offensively. They have repeatedly spoken out against the very idea of patentability for software (and "business methods").
This is the OPs claim - but it also allows very abusive behavior since FB doesn't sacrifice anything suing you or just appropriating your tech, as long as you're hooked on their openish source. If you trust big companies that's fine though.
So speaking as the guy responsible for Google's opensource-licensing for a long time (i've finally been able to divest myself of most of it :P):
You are right in a sense, but Google/MS also take more risk to do so.
Google did also try something not quite like this, but in the same vein.
The initial webm license terminated both patents and copyright if you sued over infringement. (Apache, et al just terminate patent licenses. You could still use the software if it had no patents).
The practical upshot you couldn't use that software if you sued over infringement.
This was done, of course, because of the state of the video codec world.
Fortunately/unfortunately (depending on who you ask) despite being okay with it prior to release (IE we asked, ran it by the a lot of folks, etc), certain partners later decided they weren't okay with it because it wasn't GPLv2 (but was GPLv3) compatible.
So we changed it.
The point of all this is that:
License innovation by itself is not a bad thing. Needs change of communities change over time, including open source.
IMHO, innovation in this space needs to be done for a good reason, and needs to be done collaboratively, if you want any chance at success.
If you can answer, I have one question. My understanding is that Angular uses an MIT license, without any patent grant. I think this means that, if Google holds a patent that covers some mechanism used in Angular, and my company uses Angular, technically Google could sue me. Is this correct?
It's easy to "manage open source perfectly fine" if you just open-source less of your code, or release it without any patent grant at all. I'm not sure how much credit should be given for those non-efforts, though.
I've never worked at Facebook (so I can't compare directly), but I've never met a Googler who shied away from open sourcing code for legal reasons; no one ever said "I would open source this, but only if I could attach a patent grant to it."
There are plenty of reasons that someone might choose not to open source code (e.g. they like working on only internal infrastructure or don't want to bother with external maintenance), but I don't think the patent grant has anything to do with why a developer at {Google, Facebook, Microsoft} would choose to open source (or not) a library.
I've never worked at Google either, but I have worked at other companies where people got in serious trouble for trying to open-source something that was associated with the company's IP. It's important to remember here that copyrights and patents are separate. A company might be very permissive when it comes to copyright (though woe betide the engineer who tries to open-source something related to trade secret IP) while still aggressively protecting their patents. Have you seen a Googler actually try to attach an explicit patent license to Google code? After Oracle, I'd be pretty surprised. The BSD/MIT non-license is the real stealth option here. It precludes no action by the patent holder, under any conditions, so of course your local legal department would have no problem with it.
1. Googler tells their director that they want to open source some code; the director approves it.
2. Googler tells the Open Source + Patents Office that they're releasing code. The OSPO says to use Apache as the license unless you have a good reason not to, and does a sanity check to ensure that the license information is in all the right places in the repo.
3. Googler posts the repo to GitHub.
Googlers don't usually even think about licenses. The OSPO says to use Apache, so that's what we use.
Do you suppose that neither the director nor the OSPO is checking which patents relate to the code under consideration, and that neither might reject the request on the basis that it would compromise valuable IP? It would actually be irresponsible for them not to. Given the value of that IP to the company, they have a duty to ensure that it's protected. The fact (if fact it is) that individual engineers don't worry about it means approximately nothing except that they're sheltered little pups.
> What about Google and Microsoft's FOSS contributions do you consider "non-efforts"?
It's not the FOSS contributions that are non-efforts. It's the things that were never released at all. What percentage of engineers at Microsoft work on code that has been or ever will be open source? How is releasing 10% of your code with no patent grant better than releasing 20% of your code with a conditional one?
Also, "no explicit patent grant has been sufficient" is no excuse for bashing a grant that has exactly that as its worst case. Any non-zero protection is still greater than zero. By way of analogy, would you yell at people on your team who you felt weren't working hard enough, then give a big pat on the back to one who played video games the whole time? Well, maybe you would, but an objective observer might think it seemed unfair. They might even wonder about what other motivations might be involved.
So, until all (or some large quantity) of software produced by an organization is open source, any software produced by an organization that is open source should not be considered worthwhile efforts?
Not what I said at all. I'm just saying they shouldn't get more credit for a non-release than for a release. Apparently the HN attitude is:
* Release lots of software with a conditional patent grant: awful.
* Release lots of software with no grant (e.g. BSD): OK.
* Release very little software, and that under the no-grant license (e.g. MS): you rock.
Sorry, but that's completely f-ing backward. It's literally impossible to get to there from open-source principles, so what what principles are people starting from?
Though untested, many think the BSD and similar licenses provide an implicit grant that can't be strategically revoked. Future case law to the contrary would make a lot of open software unusable or at least a legal minefield. Providing an explicit grant with explicit conditions of termination makes it easy for Facebook to selectively restrict use of anything that might be under patent in ANY of their projects. At best it's not in the spirit of FOSS and at worst it asymmetrically weaponizes open licenses.
It's true that, practically, most companies won't ever have to worry about Facebook infringing their patents, but I think it's garbage on principle to reserve first-strike litigation while making it impossible for someone else to do the same and use software you've made available under a supposedly permissive license.
Replace "Yahoo" with "Microsoft", and "Facebook" with "Yahoo", and you have basically the same justification given to me as a Yahoo employee to patent my (company internal) hack-day ideas.
The engineering manager responsible said Yahoo would only use patents as a defensive measure, to defend themselves against patent threats from other companies. Same promises, same logic. Two years later Yahoo launched their software patent action against Facebook.
Software patents can only be used offensively. Because their defensive capability is limited to the threat of using them offensively. If there is no substance to the threat they are useless. So the value of software patents rests solely on their offensive capability.
Software patents are the nuclear weapons of the software industry. If you don't have them, you're at the mercy of those who do. But even if you get them with deterrence in mind, it can still be used offensively - and if it falls into the hands of someone with nothing to lose (a terrorist group with no homeland/patent troll, aka non-practising entity, hence immune to countersuits) none of the deterrence works. In short we'd all be better off if they just didn't exist
An investment of $550 million that is only "for defensive purposes only" is BS. Company policies change all the time especially if a new market competitor emerges.
Here's a question though. Let's say you're a startup investor and you have a choice to acquire one startup and one startup uses react and one uses vue.js both have stable apps and both have the same revenue which one would you choose.
Generally M&A involves due diligence; which involves assessing the business and the technology. It aims to summarize assets and liabilities. It would surprise me significantly if a viable product was not acquired because of a technology choice; a viable product rarely hinges on one piece of technology -- the acquirer is likely to make it a goal of the acquired company to change some tech (react-> some equivalent) if they really view this as a significant liability.
IANAL :) but was once acqui-hired by a patent troll.
Genuinely ignorant question: couldn't a company file for a patent, and then open-source it? (not sure if open-source is even the right terminology)
I'm picturing a scenario where the idea is patented, but the patent holder reserves no rights on it, de-weaponizing the patent.
Thus no one else can patent the idea and use it offensively nor is there a question of the original patent holder "turning evil" and using the patent as a weapon.
In 1956 At&T was forced to license all it's patents as part of a deal with the government to remain a monopoly. This is called a compulsory license. A company could do this and simple not charge a fee for the patent.
This is a great explanation and it all makes sense.
Given the mess that it was born from, it makes sense for developers to think about staying away from this if building anything of consequence.
It also is incompatible with free software.
However there are a lot of things that are worth developing that are neither of these things and react can be a great choice there on the technical merits.
It's fine that Facebook wants to defend itself and gain hiring benefits from launching interesting projects, but those reasons aren't sufficient to allay concerns that this license won't be weaponized against small teams with interesting technologies.
Those small teams only need to be concerned in the event that they intend on suing Facebook for PATENT INFRINGEMENT. That's it. That's the only event that this could ever be relevant to you. Small teams should focus on building great products. If their hope is to patent some software algorithm in the hopes that they're going to make it big in a legal battle with Facebook...I mean, I suppose in that special 1 in a million case you should probably avoid Facebook open source. But you are probably going to face patent counterclaims regardless, because they own thousands of software patents. You might be accidentally violating one of them now. Who knows? Have you combed through your code base and Facebook's patent portfolio to find out? What about all the other big software companies out there? Google? Yahoo? Microsoft? Your choice of tech won't prevent you from violating broad software patents like Amazon's infamous 1-Click patent https://en.wikipedia.org/wiki/1-Click, for example.
The odds are much lower than 1 in a million. It’s any kind of patent. Facebook aren’t just a social media software company anymore by any means.
What this means is they can infringe on your patent on say “tinder for dogs bark swipe mechanism” and they can infringe all day long knowing you would have to migrate off React Native and GraphQL before sueing them over it
I think your example just shows how ridiculous software patents are as a concept. Facebook's license is an attempt to prevent silly lawsuits over things like that.
I don't think you're thinking it through. Facebook is setting up a situation where it can do bargain barrel corp dev -- acquihires or (what reasonable folks would consider) theft of IP based on what technology was used to build the target's "About Us" page.
No, they're setting up a situation where if Yahoo sues them for some one-click patent they can be like, "well, you're using our virtual dom patent so let's call the whole thing off"
What do you think drives investment in small teams? Do you think it's fancy JavaScript and a hero banner? No, intellectual property is a significant factor for the types of teams I'm talking about.
These teams need robust protection from large organizations intent on acquiring or replicating their hard-earned results. Facebook's licenses undermine that protection for the shiny carrot of a flashy webpage. It's a bad deal.
Where I work we've already been given the "don't use React" talk from legal. I'm curious as to how many others out there are getting the same advice at their day job.
Yeah, OpenJDK is already on our "do not contribute" blacklist for issues with their CLA, so I wouldn't be surprised to see react in the same list soon.
The issue of not wanting open source contributions to inadvertently license valuable patents is not unique to Facebook.
Qualcomm reorganized itself several years ago so that their employees who interact with open source would be assigned to one corporate entity while all sensitive patents would be held by a separate corporate entity.
Other large organizations muddle through with closer oversight of the open source teams by the legal team than either would like.
After reading this article, I can see where Facebook is coming from when making these licensing changes. However, the points he makes about smaller companies feeling pain from Facebook due to patent infringement is very real too.
What patents, exactly, is Facebook infringing? And considering Facebook has one rather specific product: How would it help these companies if Facebook avoided their patented technology, unless they're trying to start a social network? And if they're starting a social network: is there anything that makes it plausible that their lack of success in unseating Facebook is due to this technology?
And if they're feeling the pain, have any of them sued Facebook and won? If not: Is it because they're using React? If not: How does the patent grant make a difference then?
Facebook has more than one product. They have the social network itself; a lot of work around ads, ad targeting and ad delivery; Oculus technology, both hardware and software; their efforts to bring internet to many places, etc.
You can sue Facebook for infringing a patent with Oculus and they'll come after you for your use of React/GraphQL/etc.
> it’s not clear how much switching to another React-like library like Preact or Vue would help; you need Facebook’s patent licenses anyway — in the eyes of the law — for any library that uses data structures, algorithms, or techniques patented by Facebook.
Patents protect implementation techniques, not actual code like copyright does. Since something like Preact is API compatible with React, if there are any patents that cover functionality in React, they would also likely be needed by Preact, so switching to Preact wouldn't save you anything it terms of patent defense.
If there is a patent that covers what preact or vue do, then yes. A patent on "react" would not use the term react (it might not even mention JavaScript or web browsers), and it applies to any implementation of a particular concept. So if some aspect of React's DOM handling is patented then anything that implemented DOM handling (patents are a bit more complicated but bear with me) would be a patent violation and any user of the code could be sued. You can also be sued even if you are just a user of a project that uses preact.
The majority view seems to be that there are none.
But Facebook has a very large patent portfolio, so if they wanted to sue/counter-sue you, they could probably find something that was close enough to lock you up in litigation for a long time.
IF Facebook has a patent on, say, the virtual dom, then they can sue you if you use Preact, or Vue, or any other library that uses a virtual DOM. And they can just outright sue you; no need to wait until you sue them and then countersue. You are, in fact, more vulnerable if you use Preact or Vue than if you just use React.
...if Facebook has a patent on the virtual dom. In point of fact, they appear not to have any patent on anything underlying React, so none of this matters one bit. The time you've spent reading this comment is already more time than this non-issue deserves.
The post describes Facebook's motivation for their license, but personally, I don't care about their motivation, but about the fact that their license is anti-Open Source, anti-Free Software.
There's actually a big difference between the patents grant of a license like Apache 2.0 and FB's license and I quote (from Apache 2.0):
> "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"
In other words the patents grant and its revocation is made explicitly in the context of "The Work" being licensed. So you can still sue a company like Facebook for unrelated projects and still be protected by the license.
By contrast Facebook's PATENTS license says that:
> "The license granted here under will terminate, automatically and without notice, if you (or any of your subsidiaries, corporate affiliates or agents) initiate directly or indirectly, or take a direct financial interest in, any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates ..."
Let me spell this out for you:
1. if Facebook infringes your IP, but you happen to use React, then you can't sue them without also risk infringing on their React-related IP and be counter-sued for it
2. their PATENTS creates a unidirectional relationship; when Facebook accepts your contributions, they are protected because MIT / BSD are said to have an "implicit patents grant" (which supposedly works in the US) due to the estoppel principle
Btw, Microsoft is taking steps to do what Facebook is doing as well. See for example how they are switching from Apache 2.0 to MIT and the disingenuous way they are communicating the change:
But folks, this is not how Open Source or Free Software is supposed to work. When you release something as Open Source, you need to allow others to use your work as they wish (Freedom 0, or in OSI parlance, no discrimination against fields of endeavor).
Patent-encumbered software is NOT Open Source or Free Software.
[IANAL] The React license provides more rights than BSD/MIT. Period. The "oh but what if Facebook has patents" claim is just as valid as it is for any other BSD code. If you're worried about React, you should be worried about all of your BSD code from companies that are big enough to have huge patent portfolios.
One thing I think would lay to rest a lot of this issue would be if Facebook would just explicitly state, "We have patents for React," or, "We hold no patents for React." There's a lot of misinformation going around, and some people say that there have been searches and found nothing, others have said there are patents, so it's very confusing. My understanding is that Facebook doesn't hold any patents for React or technologies that React uses, but I don't know for sure because I haven't seen it from a qualified source and Facebook hasn't said anything. The other thing I think would help is if Facebook made is crystal clear the meaning of the patent grant and explained it in plain English, because they currently aren't doing a good job at explaining it as evidenced by people always saying different things about it. Their relative silence and opaqueness around this issue only causes confusion and distrust of their OSS work, even if it is good.
The main reason that I don't like the patent grant isn't because of React specifically, it's because Facebook revokes ANY patents if you sue them for patent infringement, even ones unconcerned with the technology you're suing them for. This is why I prefer OSS licenses with explicit patent grants better, because they're worded in such a way that the only patent grants you lose are the ones that concern the technology under license (see Apache 2.0).
Two possibilities come to mind (and they can both be true).
1. Somewhere in FB's patent portfolio is a patent that is broad and vague enough to cover some part of React, so the patent grant/revoke clause has meaning and value. Changing the license would mean that they were giving up something that they value, and they don't want to do that. That might not be true for RocksDB, in which changing the license is relatively low cost.
2. React is more widely used and more easy to detect (public facing websites) so the patent clause offers protection against a wider range of potential threats. Lots of sites use React, or react-like libraries.
Since the purpose of the patent clause is as a protection againt offensive patent suits, they seem to think (probably with good reason) that React is a worthwhile shield that they don't want to give up. For RocksDB they feel that balance is different.
My feeling is that #2 is the reason. Also, a lot of Apache projects embed RocksDB and would effectively be stopped (until a suitable replacement would come up) had they not changed the license.
I think you're assuming the left part of FB is in perfect coordination with the right. (Where "left" and "right" are different arbitrary parts of the company.)
<not a lawyer>
In particular my reading is that the BSD license alone gives anyone an irrevocable right to use, modify and redistribute the software providing only the conditions in that license are met.
So one can either ignore the PATENTS file altogether or to formally fork the repo while omitting this file and it would be as if that file never existed.
Facebooks' (et al.) claim that these two files together constitute the governing license should be challenged as fraudulent - if they want to relicense react under a new license that contains terms regarding patents they can do so but the last revision before that would still be BSD licensed and the community can fork it.
</still not a lawyer>
Patents were created to protect an inventor.
Facebook does not need to protect any inventions, because they are so big and powerful. Patents can only hurt them.
If you have such a monopoly, only legal protection would protect you.
Maybe there is a way to make this a little more fair. Every open source project could add a patent clause that said "If you license your software with a patent clause and invoke that clause against anyone, you lose your right to use this software". I know, I know, tit for tat. On the other hand FB wants to be part of the open source community they should do it in a fair and reasonable way, and if they need to "protection" maybe everyone else needs it too.
When I learnt about it, I thought "Facebook wants to kill patent laws" which I believe is a good thing.
What if Facebook starts a foundation where every member makes the same kind of agreement. "Sue one of us over patents, we'll all withdraw our patent grants from you".
That might end the patent craziness.
This hockey stick (https://en.wikipedia.org/wiki/Patent#/media/File:US_patents_...) shows the problem with patents clearly: what worked 200 years ago can't work the same today. The world is moving much faster than ever, yet patents are still granted for very long times. At this rate, how can you expect to NOT infringe on a patent?
Everybody's paying huge sums to lawyers to play what has become a null-sum game in the end. I think Facebook illustrates this: "sue me for infringement, and I'll do my best to show you're infringing too". Null-sum game.
A BSD license without a patent grant gives you less safety than a BSD license with a bad patent grant.
If you're not ok with Facebook's BSD+Patents, then you shouldn't be ok with BSD alone either.
There are licenses with a decent papent grant (notably, Apache) but BSD and MIT aren't among them.
If you're all up in arms about Facebook's OSS licensing and at the same time use OSS that is licensed without a patent grant at all then you're a hypocrite.
Even though Facebook's points are valid from their perspective, I think that they are setting a bad precedent which can be utilized by all the powerful corps if this picks up steam!
Is this the only way to stop a patent troll? Or does FB want others to think harder before suing?
All of this just poisons the water. I know people are looking for justifications for their favorite framework, but if Facebook wants to trojan horse FOSS with asymmetric privileges, it should just sell React licenses and call it a day.
I get that it seems scary for an innovative startup to have facebook steal your intellectual property just because of a javascript library you're using. But I am of the opinion that patents are worthless to small startups anyway so it's not much of a concern. Until a startup starts getting to unicorn status patents are basically useless. If a tech giant wants to blatantly steal your idea they will and their wall of lawyers will mean you can do absolutely nothing unless you can convince a VC that a legal fight is the best way to blow through millions of dollars.
Yet more BS from Facebook (and it's surroundings) on BSD+Patent. This piece does not mention anywhere the fundamental asymmetry of the patent grant.
First, Facebook grants you a patent license only in conjunction with the software. You are not granted a license to use a patent that React requires in some completely different piece of software. The only thing this patent grant prevents Facebook from doing defensively is countersuing the users of software that Facebook gave them for using the software that Facebook gave them. Unless that is Facebook's idea of defense, the patent grant (without the retaliation clause) does not impair the defensive capabilities of Facebook's patent portfolio in any way.
Second, the patent grant terminates if you (first) assert any patent claims against Facebook whatsoever. So in exchange for a very narrow grant of a handful of patents, you in effect agree not to assert any patent claims against Facebook for any reason, even if they're totally unrelated to the software that Facebook's patent grant came with.
IMO this sort of asymmetric grant of rights is a very bad development for open source. It's also quite disconcerting that Facebook (and it's surroundings, I realize this guy is no longer employed there) never acknowledges this even though they're surely aware of this. If Facebook were content with merely not increasing their exposure to patent problems through open source the Apache style patent grant would have sufficed. Instead they have decided to militarize their open source projects in the service of decreasing their patent exposure in completely unrelated areas.
Many of the top-dollar patents in FB's chest are likely very broad / fundamental to the modern web. If you implicitly or explicitly retain a license to use whatever's needed for React, etc. than you likely have a decent foothold to say you have a license to many of those key fundamental patents, significantly impacting FB's legal position, and these battles are all about position.
It's my "not a lawyer but spent way too much time in legal negotiations" understanding that if you sue FB for patent infringement then you lose license to the patents you get in the BSD+PATENTS, not the software. This would prevent you from saying "well, I've got a license to those patents because I've got a license to use React" (including a possibly implicit one under standard BSD/OSL). This agreements says that at that point, you can no longer assume you have a license to whatever patents could be construed to coverer React, etc., which could be all sorts of wonky over-arching crap from the 90's that FB bought.
The reason you is your whole org and patents is everything is because it would probably be really damn hard and expensive and risky to try to slice it finer.
Don't take this as an endorsement of the license. I'm still not sure what I make of it. FB has done a poor job of communicating about their motivations and indented mechanism, leading many to suspect treachery, and that's not an unreasonable position, but from I can kinda start to see where they may be coming from.
IANAL but the patent grant seems independent of the BSD License. React is BSD licensed. In addition, Facebook has provided a patent grant that applies under certain conditions.
The license for React says that Facebook has given me permission to use it. It doesn't seem that they can then sue me over patents related to the code, because they've just explicitly said I can use it.
If I sue Facebook over patents, then the patent grant no longer applies. But the BSD License does.
My take is most people are worrying too much. I see lawsuits against big tech corp either comes from patent trolls or other competitors at the same scale. Being careful and prepare for future "do evil" is great. The only reason we can't trust patent license is because patent trolls are ruining the whole patent system, and the clauses in many patent licenses are too complicated to be trusted IMO.
Worrying too much is going to hurt the community as well. Worrying that your friends are spying on you, worrying your family will leave you, worrying the world will come to an end. How much can you worry?
If the protection of defensive patents was really Facebook's concern this could have been addressed by using the Apache 2.0 license. The patent grant is clearly limited to its use in regards to the specific licensed work and if you file a patent suit regarding the work the grant is revoked.
Correct, but in this case, it wouldn't have protected them from Yahoo, for example. Yahoo was suing over other, unrelated patents. Facebook had to counterclaim in order to stave off the lawsuit.
Not only that. In case an actual lawyer comments, they often start with something like "IAAL, but I'm not your lawyer". Because even their opinion is only to be trusted if they did an exhaustive investigation on the topic, which is a huge amount of work that they won't be able to do unless they are paid for it.
Nonsense. Patent trolls don't use Facebook open source projects. Either they are completely dedicated to law or they are giants with their own code (e.g. Yahoo/IBM/Microsoft in the article)
This is the excuse. Facebook wants to dominate the small companies who might threaten their business model with patents on future technologies.
I did that, but I don't know what to look for. I searched for React but it didn't find anything. The article claims Apple uses React. I wanted to verify that claim.
I completely respect a company's decision not to open source software. But to add restrictions of any kind to an open source project means it really isn't.
Until there is an example of a case where Facebook has abused a technology patented elsewhere and survived a lawsuit due to Patents+BSD all of this squealing is suspicious FUD. React is still a dominant tool for web technologies and anyone using this item in their checklist against it is doing the wrong homework.
I said that for a long time and continued to say that right up to the point where Facebook said they are explicitly leaving the clause in as a weapon.
The fact is that every big company named by that post undoubtedly has an expensive cross licensing agreement.
The other fact is that the original react license (apache 2) defended them perfectly well, but they went out of their way to change it and further out of their way to explicitly keep it.
That's not FUD. It's simple business sense to avoid complications.
All of these feel good stories about the Facebook license will immediately become null and void the moment they actually use it. Like an active volcano erupting for the first time in recent history, people will run away and never look back. Besides, React is not that great. Mixing view and controller, and incremental DOM is better anyway.
That's not a good enough reason for developers or startups to give away legal power like that. Forgive me if I don't feel like waiting for them to turn evil.