Facebook is on a new open source journey. They're managing hundreds of active open source projects across the company and over the last nine months, have rebooted how they run those projects. Just scroll through their GitHub pages to browse the projects they're actively contributing to. Yes, they have six pages of projects on GitHub.
We caught up with James Pearce, head of open source at Facebook. He provided some brief insight into this journey, but will be talking more about that during his upcoming talk at DevNation. He also told us about some of the open source projects that he works on and is passionate about—including lots of interest in mobile.
Beyond that, James also shared some of his thoughts on how the open source philosophy can be applied beyond technology and how open source is changing the world.
How did you got involved with open source?
I switched to working with open source software over 10 years ago, using a classic LAMP stack. I remember the moment when I discovered that I could now explore—and fix!—the way things were working, all the way down to the metal if I needed to.
But I also remember suddenly realizing how enthusiastic the people building the entire stack were, and how, in a sense, we were all taking part in some grander project. My passion for working with developer communities grew from that moment. And I've tried to ensure my career choices have followed along accordingly.
What will you discuss at the DevNation conference (without giving too much away)?
Facebook has always had a passion for using and releasing open source. But over the last nine months, we've completely rebooted our program and how we run our projects. The talk will follow the journey that we're on, and how we're now running a healthy portfolio of many hundreds of active projects from across the company, with thousands of external developers and contributors.
At this scale, we try to be smart about how we launch and manage the projects, and we've built some really interesting tools and instrumentation to do so. I'm really looking forward to talking about how it's all going, some of our major projects from the last few months, and sharing our ideas for how companies large and small can most efficiently thrive in an open source environment.
Tell us more about the open source projects you work on at Facebook.
As you can imagine, Facebook engineering faces continual challenges brought on by the size and speed at which we operate. We often start out using existing open source solutions to problems and then find ourselves having to augment, enhance, or replace them to suit our scale—and then of course releasing the results back again.
Take our web servers for example: one of our flagship projects is HHVM (and the recently released Hack language), which we developed ourselves to help the speed and efficiency of our PHP codebase and developers. And very similar things have emerged from our UI, core data and infrastructure teams, with large projects this year such as React, RocksDB, Presto, and Thrift. And, of course, the Open Compute Project has been really successful at bringing the open source software philosophy to world of hardware and data centers.
Recently, we've been focusing a lot on open sourcing mobile projects. Again, as we increase the size of our mobile engineering teams, and the speed at which we launch our apps, we've had to build new tools and techniques. We've been rigorous in open sourcing tools like Xctool and Buck—and we also have a really healthy set of iOS libraries that we developed as part of the Paper app. This is a really exciting area because everyone is trying to figure mobile out! We've been thrilled to be able to engage with the community on those projects.
What aspects of open source do you apply to your interests outside of technology?
"Outside of technology" sounds like an oxymoron to me. But I'm very happy to know that my children will grow up in a world where technology can be tinkered with, altered, improved, and disrupted. So far they seem to be very excited by that.
Beyond that, it is really fascinating to see the way in which elements of the open source philosophy are being applied elsewhere: the maker movement, government, disaster response, fundraising, even currency mining! I think these are all signs that remind us that we are all fundamentally collaborative creatures and that we'll be more successful as a species if we harness that.
What's one thing in life that you wish were more open?
There are serious challenges facing billions of people around the world: poverty, conflict, lack of healthcare, corruption, climate change... and the list goes on. We're right to feel good about how open source software has shaped our world of technology, but the next big question is how can we apply what we've learned—and perhaps even the technologies we've spawned—to make the broader world a better place for everyone.
Read more about James Pearce's thoughts on DevNation in this interview by Mike Guerette on Red Hat's developers blog.