On the third day of OSCON, I heard Facebook's James Pearce deliver one of the convention's many keynote presentations.
Pearce explained how Facebook does open source at scale. And according to him, Facebook launches several open source projects every month and has hundreds of engineers supporting those projects on an ongoing basis—all while they're engaging with communities around the world to make software experiences better.
But more interesting than how Facebook does this is the question of why they use, support, and release open source projects at all.
Pearce could have taken us back in time to tell us about that fateful day Mark Zuckerberg sat in his dorm room and selected the LAMP stack as the basis for Facebook. He could have told us about the hacker community at Facebook. He could have also expressed some social obligation that Facebook feels it has. All these things are true, but they are not the real reason the company does things the open source way.
The real reason? It's just good for the company, Pearce said.
His reasoning might be difficult for people to grasp—it's something I struggle with all the time when teaching—but Pearce offered the following great reasons for going open source:
- Sharing Facebook's code (its "stack," and occasionally its hardware designs) accelerates innovation in the world. And that helps others move faster. Because Facebook isn't a software company, it faces no competitive threat by doing this. Instead, the value accrues back to them. Users can build apps more quickly and Facebook can benefit from the improvements that others make to their code.
- Embracing open source means that Facebook just writes better software in the first place. If the company knows something will be open from the start, it just builds it better so that it can be more accessible and dependable because it's going to be used in the outside world. This makes it more valuable internally as well.
- Open source provides opportunities to share challenges. It attracts the interest of people who want to work on these challenges, and as a result it helps improve the quality of the company's staff. Facebook connects more than a billion people every day day, and they can only do this because of open source.
Facebook's GitHub repositories host 274 repos, 39,000 forks, 79,000 commits, and have 242,000 followers. The projects they're open sourcing are not just hackfest ideas or work that interns contribute, these are tools Facebook uses in production. Facebook open sources only what it uses in production—this way, people know that their offerings are supported and valuable. By examining these products, you actually get to see how Facebook works.
Facebook's open source office consists of just two people, so the teams must work efficiently and need to gather data to decide what's working. They're using the GitHub API very aggressively to pull all the data they can, every minute. Then they gather and share these data in real time, as well as in a monthly report. Doing this has gamified the process, making the developers compete with each other to have better performing repos. Even in light of all its success, Facebook is always striving to do better. This why the company was part of ToDo, and why it attended OSCON this year.
Series
This article is part of the OSCON Series for OSCON 2015. OSCON is everything open source—the full stack, with all of the languages, tools, frameworks, and best practices that you use in your work every day. OSCON 2015 will be held July 20-24 in Portland, Oregon.
2 Comments