Facebook. It's one of the world’s most well-known tech companies and on the forefront of open source technology. Just take a look their portfolio of over 200 open source projects on GitHub.
In this interview with James Pearce, head of Open Source at Facebook, I speak with him prior to his talk at this year's All Things Open conference in Raleigh. Earlier this year, Opensource.com interviewed Pearce when the social giant was nine months into the process of rebooting their open source presence. Things have changed a lot since then. Find out how in this exclusive interview.
What are you planning to discuss at All Things Open this year?
I'm very lucky to have two sessions at this great event! There's a keynote session in the morning and a workshop in the afternoon on day 2. Firstly, I want to talk about recent progress we've made on our open source portfolio (which is now up to over 200 projects!), where we continue to strive to improve quality, and community engagement.
We've also joined a new industry group, called TODO which is designed to help companies understand how to run large open source projects well. We're really excited to be part of this group which allows us to learn from others and help share our experiences about what we ourselves have done. By the end of October, we hope to share a little more about the progress and deliverables of the group.
In your last interview with us, you shared various open source projects created by Facebook. How do you track the success of these projects? Are you seeing demands from community to release more open source code?
Yes! We've launched quite a lot of new projects over the last year or so, but really that's just the start. We know we have to stay committed to them after they go live and engage the communities as actively as we can to see these grow to mature successes. I think it's ultimately impossible to empirically measure the true value, or worth, or success of a project—but in lieu, we're trying to be as data-oriented as possible. We track a bunch of metrics, but things like pull-request and issue age, commit rates, and the ratios between external and internal contributors are examples of things that we consider important.
Ultimately we are optimizing for quality over quantity. We want to release projects that other developers or companies know are going to be valuable and of good quality—things that we ourselves use in production, especially. But the enthusiastic adoption of many of our recent projects has really encouraged us to think about what more we can do. One of the big areas of our portfolio we're focused on is mobile: projects like Pop, Shimmer, and Tweaks have really encouraged us to work closely with the iOS community for example, and that's been really exciting.
What are your favorite open source tools?
Haha, I guess that would technically still be my web browser :)
But maybe it's more interesting to think about what it might be in the future. I'm super excited about what's happening with virtual reality technology at the moment, and I'm sure that one day this will become a part of our daily lives too. Oculus just open sourced their DK1 platform for example, and I'm pretty excited to see how working with external developer communities on these new, hard problems will help shape the dawn of this emerging computing platform.
Are open source tools used for Facebook mission critical projects? Can you list a few of them?
Well, it's not just tools! We pride ourselves in releasing much of our production infrastructure, from the hardware (via the Open Compute Project), to our big data and web infrastructure, and through to front end client libraries. In fact, we decidedly discourage teams from releasing projects that are anything less!
And, rarely will we use other external projects without sharing back any improvements we make to them too.
Do you have advice for young open source enthusiasts?
I'll fall back to one of Facebook's mottos: Think about "what would you do if you weren't afraid?"
We believe that open source projects can be as fast-moving, competitive, and world-changing as any other. There are so many problems in technology that are still unsolved and which ambitious and fast-thinking young individuals can dive into.
For example, I'm still inspired by the audacious story of Palmer Luckey at Oculus: regardless of your age, if you see a technology problem that you feel passionate about solving, hard work and deep community engagement can have a transformative impact on that problem, and maybe even on the world!