Hacker News new | past | comments | ask | show | jobs | submit login
2013: A Year of Open Source at Facebook (facebook.com)
104 points by jamesgpearce on Dec 20, 2013 | hide | past | favorite | 43 comments



I help with open source @ Facebook and wrote this article. AMA.


Hey there! I have lot of experience programming but not a lot of CS theory and low level engineering behind it. I find things like HHVM to be really inspiring, and I'd love to one day contribute to such a project. My question is-- how can I cross over from a script kiddie on steroids to a software engineer? Is there any hope if I'm not doctorate track? I'd appreciate any open resources you provide. Thank you for your great work!


It takes all sorts! and the best way to prove your chops is to just jump. You can fork HHVM and start by picking up a few of the easier issues and working through them. Our engineers on that project are really friendly and helpful. What can I say... dive in! What is the worst that can happen?


For NoSQL data stores, there's a significant amount of debate over using HBase vs Cassandra. Many HBase advocates point to the fact that HBase is used at Fb over cassandra. Can you comment on HBase in FB's architecture and which features you prioritized the most, leading FB to use it?


Actually, we have a few examples of Cassandra being used here too: Buck uses it (http://facebook.github.io/buck/concept/buckconfig.html) and so do Instagram (http://planetcassandra.org/blog/post/instagram-making-the-sw...) ... so as with all of these things, we evaluate options on a case-by-case basis.


Do you run xctool / Travis CI on OS X servers or have you found a way (or at least tried) to make it run on Linux?



I did not know about React. It looks to be like the solution I need for one of my personal projects. In your experience, how does a React code base evolve as it grows? I've bumped into other libraries and frameworks that look simple at first, but then evolve into a big mess.

I ventured into the careers area of the site. The computer vision engineering position caught my attention. Do you mind talking about what the position entails? The description is rather vague.


I use and contribute to React. By far the simplest (and I mean simpler than backbone) and cleanest js framework I've used. It's also used by Facebook, Instagram's whole website and Khan academy. Scalability is not a worry at all.


Same here, I like the look and sound of React and was not aware of it previously. The funky XML-like syntax seems appealing, but then, I thought that about Scala too and that didn't turn out super well for me.


Several good comments/links here: https://news.ycombinator.com/item?id=6936951


Thank you.


Say what you will about Facebook and some of their privacy concerns, but they definitely are full of true engineers.


Likely the source of the loose attitude on privacy.


For example, every software developer at Facebook has root access to all production servers and databases.


Nope. Could not possibly be further from the truth. Epic level bullshit.


If this is BS, then that relieves me. This is what a trustworthy acquaintance who is an engineer at Facebook told me. As onedev said below, all access is logged and changes can be rolled back. Engineers use live user data for their local development and testing. But maybe this level of access is limited to certain feature teams.


Source? Do you work there, or know someone who does?


That's what a Facebook employee told me last month.

For similar stories: Katherine Losse, Facebook employee #51, wrote a biography [1] that includes details about early days when the master password was "Chuck Norris". And this 2010 interview [2] with an "anonymous Facebook employee" (for what that's worth :) also describes how engineers can access user data.

[1] http://online.wsj.com/news/articles/SB1000142405270230489870...

[2] http://therumpus.net/2010/01/conversations-about-the-interne...


Even interns had this access.


I've been given root access to a handful of internal servers as an intern at some companies in the past, but never database servers or production, customer-facing servers. That seems rather ridiculous.


It's just part of the engineering culture there. There's a lot of transparency and they try to keep everything as open as they can internally.


This is not true.


If you set out to hire great engineers and have the resources and reputation, it can be done. Definitely a good choice over MBA types, but it seems to me that Facebook could stand to diversify their employees as Facebook is a mass market product and engineers often don't see the social world or the internet as the average person perceives it.


Could you guys open source the graph processing architecture, besides giraph, like unicorn or the technology behind the graph search, huh? come on, its christmas! :)


Don't forget MyNSA, the software the NSA uses to connect to MySQL databases.


Missing from the list is Phabricator (http://phabricator.org/). We've started using it recently and found it to be fantastic.


Yes indeed - and we use it extensively at Facebook. It just wasn't new this year.


That page has a good sense of humor!

"Written in PHP so literally anyone can contribute, even if they have no idea how to program."

Plus a few more gems in there.


I remember looking at Phabricator for project management stuff, but felt that as a single freelance developer I wouldn't get enough out of it that would replace GitLab... What do you think? I'm going to have a play with it tomorrow to see what it's like.


I suppose if you wish to review your own code outside of opening files or through version control alone, it might be useful. That's its ultimate purpose (and facilitating code review in a collaborative way). I think it's a bit overkill for individual development though.


Eh, what the heck, it's the holiday season. Good job, Facebook.


Thanks :)


Engineers at Facebook must be in an interesting position. Working on interesting technical problems behind the controversial social network offering the only way they can make world a better place is by contributing their products to the open source community.


No, helping hundreds of millions of people stay in touch and have fun does not make the world a better place.


OK, I can understand the staying in touch part, but what kind of having fun do you have in mind? Watching video ads?


Looking at stuff my friends share, sharing stuff myself and engaging in banter in the comment thread on those items. No, it's generally not the stuff of the court of Sokrates, but definitely fun.


I agree.

Facebook is a company with an awful product, but great byproducts like all the open source projects listed here.


What's your reasoning for why FB is an awful product? I'm curious.


Ad proliferated news feed, selective update selection, photo resizing. The list can go on and on. Guys in FB have too much Koolaid.


When will they announce their usage of hg at Facebook?


It's in the blog post that we are active contributors to the project... :)


I know, but they don't mention what exactly they are using hg for. Someone (from IRC) said they were using this for some "secret" thing :)

From IRC I know someone has said git didn't scale very well for Facebook.




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

Search: