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.
“Open” isn’t perhaps a word that immediately springs to mind when discussing Facebook, but Infer is the latest in a long line of open-source projects Facebook has initiated. The company actually has more than 200 projects on GitHub; it recently open-sourced HipHop VM (HHVM), a virtual machine for executing programs written in PHP; and it also released React, a JavaScript library for building user interfaces, which has subsequently been used by the likes of Dropbox, Yahoo, and Adobe.
AI Weekly
The must-read newsletter for AI and Big Data industry written by Khari Johnson, Kyle Wiggers, and Seth Colaner.
Included with VentureBeat Insider and VentureBeat VIP memberships.
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.
1. Ideology
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.”
2. Innovation
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.
Back in 2013, Facebook open-sourced its React JavaScript library, which it had previously used to help build parts of the Facebook and Instagram websites. “Through sharing it with the community and getting the community to start contributing to React, it has become something that has helped disrupt the modern JavaScript ecosystem,” explained Pearce. “By sharing these things, we think we’ve been able to help the industry step forward a bit. Our peers are also open-sourcing things, which we in turn can benefit from and help their innovation too.”
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.
VentureBeat's mission is to be a digital town square for technical decision-makers to gain knowledge about transformative enterprise technology and transact. Learn More