The Wayback Machine - https://web.archive.org/web/20070630193607/http://blog.facebook.com/blog.php?post=2223862130

The Facebook Blog

Here's a secret: Mark Zuckerberg didn't write all of Facebook in his dorm room at Harvard. (Sorry, Mark, your secret is out.) He had a lot of help. No, I'm not talking about all the wonderful folks who work on the site every day. I'm talking about the unsung hero of many a young Web site: open-source and free software. Without it, there'd be no Facebook. We use it, we love it, we are committed to its principles, we even make some of it ourselves.

What's open source? Typically it means two things: the software is available free of charge, and more importantly, so are the blueprints, or "source code." This means that anyone is free to make whatever changes they want to the software—maybe improving it or customizing it to make it better-suited to a particular purpose. If someone makes a useful change, they donate it back to the software project for everyone to use.

Here's how Facebook and open source go hand in hand:

Almost all our servers are running open-source software. Our Web servers use Linux and Apache and PHP. Our database servers run MySQL. We use memcached to help keep the site snappy. Some of our behind-the-scenes software is written in Python and Perl and Java, and we use gcc and Boost for the parts that aren't. Our developers use Subversion and git to keep track of their work. The list goes on—like many Web sites, we use it from top to bottom.

But we also make it a point to give back. Our highest-profile contribution to the open-source community is probably phpsh, an interactive PHP environment we use constantly when we work on the site. It was written in-house as a development tool and released to the world for anyone to use and improve. A close second to phpsh is our extensive contribution to the memcached code base; we've heavily modified it, more than doubling its performance and adding several important new features. Both of those are still actively being worked on here, and we will continue to release our updates to the world.

We contribute on a regular basis to the APC project, which just about every page on our site uses. We've contributed code to APD and Xdebug. Finally, we encourage developers everywhere to release code using the Facebook API as open source, and we've released some of our own such as the Facebook Firefox Toolbar.

Share and share alike and the whole world benefits. It was true in kindergarten, and it's still true on the Internet!



Steven, one of Facebook's infrastructure engineers, is probably making yet another change to memcached as you read this.

To post a comment, you must be logged in. To register for Facebook, click here.

Archived Posts:

2007
June (2)
May (5)
April (9)
March (8)
2006
August (4)

New on Facebook:

Add the Video application to your account.
June 7
Welcome to Facebook, Class of 2011
June 7
Facebook Platform is here.
May 30