The Facebook application on Android is a terrifically complicated beast, compiled from a large codebase developed by hundreds of software engineers. Despite this, a new alpha release that we’re pretty sure is solid is pushed three times a week. We’d not be able to go this fast, or scale our development team this effectively, without using large amounts of OSS.
In this talk, I’ll discuss the Open Source tools that help us build Facebook for Android, how we contribute technology to OSS, and how we do our best to be good citizens in the broader OSS world. I’ll do this by looking at the full life cycle of a release, going from how we organize our git repo, do code reviews in phabricator, through building using tools such as Buck, to how we’ve improved the quality of our releases using OSS testing tools such as Selendroid.