Facebook revealed yesterday that it’s opening Infer, a tool it uses internally to identify bugs in code before it ships mobile apps to users, for the development community to tinker with.
The result of an acquisition almost two years ago, Infer is used to quickly and autonomously scan code across the social giant’s suite of mobile apps — including Facebook itself, Messenger, and Instagram — so it can adhere to its “move fast and break things” principles while ensuring any serious bugs are caught prior to shipping.
By open-sourcing Infer, Facebook wants to improve the accuracy of the tool and “expand the places where Facebook Infer is deployed,” the company said.
But why does Facebook open-source so many of its projects? During a meeting at Facebook’s London headquarters earlier this week, James Pearce, the company’s head of open source for the past two years, explained why it seeks to align itself with the development community.
The roots of Facebook’s open-source credentials actually date way back to the company’s very beginnings, when a young Mark Zuckerberg used open-source tools to create what would become the world’s biggest social network. And Pearce reckoned this ethos remains tightly engrained in the very fabric of the company today.
“We have an altruistic and ideological obligation to do so [open source its projects] — right from the beginning, Facebook was built on open source, Linux, Apache, MySQL, PHP, and that was what got Facebook off the ground,” he said. “So we’ve always had that moral obligation to give back.”
One of the main reasons any company or developer open-sources their work is because it can help achieve scale much quicker when many minds are working on the same problems.
“We deeply believe that we can be more successful if the industry as a whole is more successful and is able to innovate on the sorts of problems we have,” says Pearce. “We think we can help other companies that are our size or perhaps a little smaller and, as an industry, we can start to think differently and think in novel ways about those existing problems.”
The general idea is that if the wider industry is progressing, then Facebook will progress in tandem. What’s good for the industry is good for Facebook.
3. Good for business
Despite any altruistic or ideological aspirations, the bottom line is that Facebook sees open source as being good for business: “It means we build better software, write better code, our engineers are able to work with more pride, and we’re able to retain the world’s best engineers because they know they can open-source their work.”
Ultimately, because engineers can see for themselves the kinds of things Facebook is working on, it makes it easier to attract the top talent. “It’s not all altruism, there’s solid business sense behind this,” added Pearce.
Though Facebook has no plans to open-source the main Facebook app itself — “I’m not sure what benefit there would be,” said Pearce — he did add that the company tries to be as open as possible. “Our goal at Facebook is to open-source as much of our technology as possible, in particular the technology we feel would be valuable for the broader engineering community at large.”
Having open-sourced its artificial intelligence deep-learning tools back in January, and now Infer, the development community can likely expect more from Facebook’s coding vaults in the near future.