Hacker News new | comments | show | ask | jobs | submit login

I think a lot of the smaller details this article glosses over contribute to FB's ability to run on so few machines. For example, comparing my anecdotes of FB's internal network (they probably have the most organized/mature IPv6 network on the planet) with those of my AWS public cloud experience, I'd reckon that a lot of FB applications would require architectural redesigns to operate in that kind of environment.

The real question isn't "can FB be hosted on AWS?", it's "why isn't FB competing with AWS?" because what they've already got is much better for the range of applications that they deploy.

I suppose the reason Facebook doesn't resell their infrastructure is because their endgame is to _be_ the internet. From their point of view, any site you're on that isn't Facebook is their competition.

FB open sourced their infrastructure. Anyone can lift these designs and build their data centers using identical specs.


I think both points are true: FB does want to be the Internet, but they also realize that the path to that endgame lies in capturing (and driving) behavior, not in building infrastructure.

The latter is just a necessary tool. But, you're not going to threaten FB 's mission by simply building out an identical (or even superior) infrastructure. So, there's virtually zero-risk to them in open-sourcing it.

...which gives you a moderately-expensive pile of laser-focused hardware and nothing to run on it. Far less than half the infrastructure story.

(Not that I'm criticizing Facebook. Open-sourcing code is hard -- see Borg.)

Nothing to run on it??

Correct. "Infrastructure" means a lot of things. You don't get Tupperware, their scheduling and resource management infrastructure, most of their logging infra, most of their monitoring infra, operating systems for the whitebox hardware, even power and facilities management for the OC stuff... I could go on. They are quite good about releasing open source, which is why I was careful to point out that I'm not criticizing Facebook; open sourcing this stuff is really hard, because internal software develops tendrils to other internal things that you often don't want to open source.

The point was that yes, Open Compute exists, but its existence is only partially relevant when one claims that Facebook has opened their "infrastructure." The two sentences in GP are basically what I'm responding to -- mainly the verbatim "FB open sourced their infrastructure" -- and I guess the implied context of Facebook infrastructure was lost when I said "nothing to run on it," sorry. I meant Facebook code. So this is clear: Open Compute is good, and I'm appreciative of Facebook, just want to make sure we understand what "open infrastructure" means and its limitations in this case.

Isn't there any software that would let you run your own social network like facebook on that hardware?

Sure, you could write a social network app (or any other server-side app) and run it on that hardware. It just wouldn't take advantage of any of the Facebook-specific features on that hardware. So you'd be paying for a lot of stuff you're not using. For Facebook, it's more valuable to use it as Facebook hardware than to rent it out as generic servers, because Facebook actually uses all its proprietary features.


Maybe, but I think Facebook understands that great products attract users, not scalable/speedy infrastructure.

That's not entirely accurate. Page-load time has a significant effect on user retention. Yes, it's important to have a great product, but being fast is part of being great.

That's exactly why only a fool will use reactjs in their web design, because FB will put you out of business and if you sue them for infringing your patents, your reactjs license is revoked

To be clear: reactjs uses the 3 Clause BSD license. https://github.com/facebook/react/blob/master/LICENSE

It's incredibly permissive (nearly the same as the MIT license), and does not allow for the concept of having it "revoked".

That's exactly why only a fool would build their software product around patent protection.

I see lots of down voting on this person, but not many replies. Is there truth to this comment? Is React licensing something companies should avoid?

Not a fan of FB here. That comment is nonsense. It is completely unthinkable that Facebook would do this.

> It is completely unthinkable that Facebook would do this.

Facebook is a (among many other things) a software company, and software companies do warfare with patents. It might be their least favorite weapon, one they have yet to use - but "unthinkable" can only refer to your beliefs -- it is actually extremely thinkable, even if at this point in time improbable.

The lifetime of JS frameworks is so short that this is not a realistic concern, beyond that the license makes it impossible. Sorry but this is not a scenario that will play out in some way that you'd have to be worried about it when evaluating your choices today.

For react, you are probably right.

I'm really concerned about zstd working its way into some future de-facto standard file format, though - I think the name "zstd" is marketing genius (of the evil kind).

if you're a threat to FB, the unthinkable will happen.

If you're a threat to FB you:

(1) can afford to roll your own framework

(2) can afford the lawyers required to point out that this doesn't hold water

totally true, if you're google, however if you're a startup, and build your platform on react, it would be really hard to switch to other platform once you have million of lines of code.

I didn't know this, this needs to be more well known.

How does this affect libraries like preact?

It's not accurate. Facebook offers a blanket patent license with React, and the patent license (not the software license — just the patent one) terminates if you sue Facebook for patent infringement. And of course, if you sue them for any other reason, nothing happens at all. And even if the patent license is terminated, AFAIK React isn't known to be patent-encumbered.

Acting like this is some landmine that allows Facebook to just put anyone they dislike out of business is ridiculous. Other JavaScript frameworks like Angular and Ember don't even include patent clauses, so even if Facebook revokes the patent grant, that leaves you in the same position that you're in by default with Angular. The license even specifically allows you to counter-sue Facebook if they already have a lawsuit against you.

I think the cause of the complaint is that if they wanted these things in a license, they could've used Apache 2 and been done with it.

Any confusion that arises from deciding to depart from well-understood licenses is fairly laid at their door, in my view.

Apache 2 is somewhat less permissive than Facebook's choice of BSD + patent grant. I agree that people probably wouldn't have been able to spread the FUD so successfully if they'd gone for a more conventional setup, but the licenses are short (probably shorter than Apache combined) and pretty clear. It feels pretty unfair to say "Facebook's open source dev team deserve to have their names run down because they chose more permissive license terms than we're used to."

> Acting like this is some landmine that allows Facebook to just put anyone they dislike out of business is ridiculous.

That's true; however,

> React isn't known to be patent-encumbered.

That's a useless assertion. Many patents only become known once the lawsuits start. Facebook has amassed a patent portfolio, and patents are a legal instrument that can only be used offensively.

Sure, but none of that makes it a useless assertion. I'm not saying React is a magic shield from lawsuits — I'm saying that React doesn't appear to be any more dangerous in this regard than the majority of open-source software. You could validly express the same concerns about nearly anything.

Remember, the claim I was disputing was that "only a fool will use reactjs" because the patent license is conditional. All I'm saying is that I don't see any reason to be more concerned about React than, say, Angular.

It is rather well known but it's mostly FUD.

for those who downvoted me, can you explain why I'm wrong,

Would you believe that Apple today would use react in their products?

What would Steve Jobs say to someone who suggests using react in apple software/saas?

downvoting on HN is being abused here, just because someone is a big fan of reactjs and disagrees with me, they automatically downvote a valid opinion based on facts.

see for yourself, from react patent clause "The license granted hereunder will terminate, automatically and without notice,"


Yes, Apple is known to use React.

If you are in doubt, the license that could terminate is just the patent grant. The copyright license would remain in effect.

I explained how you're wrong here: https://news.ycombinator.com/item?id=14659675

The TL;DR is: "That is just a patent license, and most OSS doesn't even include a patent license at all, so it seems weird to be super-concerned in this case in particular."

Thanks for the reference ,but I read your earlier comment

here's the issue when picking reactjs vs others (like vuejs)

Choice A. by picking reactjs I'm in a clear violation of FB patents, but I'm covered as long I don't sue FB.

Choice B. by picking others (like vuejs), I may or may not be violating FB patents, (virtualDOM has some prior art, as some people claim)

why it's so hard for people to understand that "May or Maynot" is a better choice of "definitely" violating FB patents in case I need to sue FB if they are killing my business by copying my patents.

I know that suing for patents is not best business model. But, having that weapon (even defensively) is better than not having one.

still people downvote for gray areas?

You're being down voted because this core bit of your position is a load of crap:

> Choice A. by picking reactjs I'm in a clear violation of FB patents

Please tell us what Facebook patents one is "violating" by using React.

all tech companies file patents to protect their cutting edge technology, so it's common sense FB has patents on react.

your argument of where are the FB patents on react is an example of your naivety

my position all along has been, using other libs than react is LESS likely to violate FB patents, and thus gives more freedom to compete with FB. if that's your definition of load-of-crap, well, that's not my definition.

They went from $3.6 billion to $10.2 billion in net income in a year. The $3.6 billion is probably more net income than Amazon has generated combined in the last two decades. The $10 billion is more than Amazon will earn a decade from now.

Their focus should be solely on what is going to likely end up being one of the three or four greatest money producing machines in world history (of those owned by a traditional corporation that is).

Cloud computing profits are - and will remain - a joke compared to the $20 billion in net income they'll yield in just a few more years from what they're already doing. Their focus should remain fairly narrow, they're a mere 13 years in at this point. Diving into cloud computing would be making the same exact mistake that Microsoft made with Bing, and that Google made with all their laughable social attempts, and so on. Facebook would split the market further and likely still end up #2 or #3 at best. Their best engineering talent should be solely focused on the golden goose social monopoly, which nobody else has and nobody else can compete with.

> Cloud computing profits are - and will remain - a joke compared to the $20 billion in net income they'll yield in just a few more years from what they're already doing.

I think the market for cloud computing is very, very large.

Consider that it's a composite of "all server hardware vended or leased" and "a significant fraction of middleware and server software vended".

Microsoft are in it because they follow their existing rivers of gold as they shift. Google are in it because they desperately need a second river of gold to allow them to survive unexpected collapses in advertising revenue.

> Cloud computing profits are - and will remain - a joke compared to the $20 billion in net income

Business are different.

Margins also means more vulnerable.

Amazon doesn't like margins. Andy Jessy routinely mock "the old guards"' obsession with margins.

The possibility that fb is Suddenly dying because of some new competitor probably is 10* of Amazon. Just random statement, you get the idea.

As for siganifance, cloud computing is much bigger, it runs the actual computing that produce things that is more valuable than ads. This is in general sense, I do not want to judge their social impact.

Cloud computing is indeed lucrative, look how AWS saves Amazon(AWS generates almost 1B net income a single quarter right now). But the initial commitment is absolutely massive, and before they can really become competitive in cloud computing , they are probably going to lose a substantial chuck of money. Comparing to Google, Facebook is even more of an advertising and media company, wholesales might be what they want to dig in.

"Their focus should be solely on what is going to likely end up being one of the three or four greatest money producing machines in world"

Companies don't "produce money", that would just devalue currency.

I gusss you had a good go at making it sound cool.

Is this your first time reading figurative language?

> The real question isn't "can FB be hosted on AWS?", it's "why isn't FB competing with AWS?" because what they've already got is much better for the range of applications that they deploy.

This. When they bought Parse I thought for sure they would get into the same business as AWS / Azure / etc but then they phased it out. Their have so much network infrastructure I thought for sure they would want to offer such services and yet they still have not.

I'm starting to think they won't ever get into the same business.

Nah, see Yegge's platform rant: https://plus.google.com/+RipRowan/posts/eVeouesvaVX. Facebook already is a platform. They have no need to go into platform-of-a-platform territory. Their platform is what they've created already, so they've dedicated hardware/network designs strictly around that. Going "metaplatform" would just make their own platform slower.

Also to recognize: Amazon is a store, not an application. It doesn't need specialized hardware or whatever. Its customers care much more about package delivery speed / cost, etc than whatever hardware is running in the background. So it can box the same generic web servers it uses and sell them at scale. Facebook is entirely digital. It needs to specialize everything hardware-wise in order to stay ahead. The things it optimizes for, in terms of hardware, likely has no relevance to 99.9999% of basic CRUD apps out there. So they stick to what they do best. Their own platform.

Interestingly, Parse was hosted on AWS until the very end even after being bought by Facebook.

One of the big things it glosses over is core counts... counting "servers" ignores that AWS has current-gen instance families with as few as 32 VCPUs in their largest instance type versus 128 VCPUs in the x1 family. If you look at multiple generations of families the difference between "servers" becomes even more stark.

PleSe expand on this

I think what he means is that not all servers are created equal, so counting "servers" is a useless metric. An EC2 32xlarge instance with 128 VCPUs is going to handle far more traffic than a large number of smaller servers.

This is true, and something I've wondered too. They have an outstanding infrastructure team.

> The real question isn't "can FB be hosted on AWS?", it's "why isn't FB competing with AWS?"

A naive guess would be that providing services for users you don't control is harder than for users you do control.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact