Over the past 15 years, Facebook has changed the way we keep in touch with friends, how we feud with family members, how we think about privacy, and how we consume Russian propaganda—not always for the better. But Facebook also changed computing. From Netflix to Uber to Walmart’s website, many of the apps and services we use every day are built with technologies that Facebook developed and then shared with the world.
As the company grew to accommodate millions, and eventually billions, of users, it had to create tools, from data storage software that can handle mind-boggling amounts of user information to hardware designs for data centers that host those databases. More recently it created new ways to build interfaces for its web and mobile apps. Crucially, Facebook didn't keep these creations to itself. It released much its work as open source, meaning that anyone else could use, modify, and share Facebook's inventions.
"Facebook has been a driving force in open source for years, sharing many critical pieces of technology with the broader community," says Jim Zemlin, executive director at the Linux Foundation. The foundation hosts an organization dedicated to GraphQL, a programming language created by Facebook to handle communications between apps and servers that is now used by many other companies.
Because of Facebook’s openness, many of its technologies have become industry standards. "Facebook has played a tremendous role in shifting not only in the way we build our servers, but also how we write code for browsers and phones," says Adam Neary, a tech lead at Airbnb. "The entire ecosystem is driven by technologies that Facebook pioneered and then open sourced."
The Birth of Big Data
One of Facebook's first big contributions to the larger computing community was Cassandra, a database system that can scale across hundreds or thousands of servers.
Facebook wasn't the first company to build such a database. Amazon and Google had both published papers detailing their own distributed database innovations, but neither company had actually released the code for these internal applications. Facebook engineers Avinash Lakshman, who had worked on Amazon's paper, and Prashant Malik combined ideas from both the Amazon and Google papers to create Cassandra. Then, in 2008, they released the code. Soon it was being used both other companies, such as cloud computing company Rackspace.
"Facebook has been a driving force in open source for years, sharing many critical pieces of technology with the broader community."
Jim Zemlin, executive director, Linux Foundation
"They went beyond just cloning what Google and Amazon did and innovate, they did something different," says Jonathan Ellis, who used Cassandra extensively as a Rackspace employee and went on to co-found DataStax, a company that supports Cassandra for corporate clients, in 2010.
Today Cassandra is the 11th most popular database in the world, according to the site DB-Engines. Apple, Netflix, Instagram, and Uber are all users and contributors to the project.
Facebook was also an early contributor to the open-source data-crunching platform Hadoop, which became almost synonymous with big data. Much of the early development of Hadoop, which was based on papers published by Google, was done by Yahoo. But Facebook was one of the first companies outside of Yahoo to adopt Hadoop and contribute additional tools for the platform. Hadoop spawned multiple startups like Cloudera, which was co-founded by former Facebook research scientist Jeff Hammerbacher.
Facebook has invested heavily in artificial intelligence research in recent years to make more use of its data, and it's published some of that work too. In 2015, the company open sourced implementations of some of its AI algorithms for use with a popular AI platform called Torch, nearly a year before Google opened up its AI engine TensorFlow. Facebook went on to fund the development of a variant of Torch called PyTorch, which is now the third-most-popular AI framework, according to an analysis by data scientist Jeff Hale.
Opening the Data Center
It wasn't enough for Facebook to build software that could handle millions of users. The company also had to design the computers and buildings to manage all that data.
Along the way, Facebook came up with some unusual ideas, ranging from "open air" data centers that use outside air for cooling rather than industrial cooling systems, to "modular" servers that enable you to quickly swap out processors and other components.
Facebook released all of these designs as part of the Open Compute Project, which is now an independent organization. Facebook faced skepticism when it announced Open Compute in 2011. Though open source software was already well established by that point, it wasn't clear if Facebook's idiosyncratic ideas would useful to other companies. But soon enough, vendors like the Taiwanese company Quanta began selling computers based on Facebook's designs, and others including Rackspace, Microsoft, and Apple contributed their own hardware designs to the initiative.
Today, Facebook is working with telecommunications companies like Ericsson and Deutsche Telekom on the Telecom Infra Project to help them build new open source telecommunications infrastructure, including a long-range antenna system called ARIES and a system for connecting cell towers wirelessly called Terragraph.
Completing the Puzzle
For most of its first decade, Facebook’s most widely used open source contributions were these sorts of behind-the-scenes infrastructure. Netflix might have used Cassandra to manage your information in a data center, but that didn't mean you would interact with Facebook code on its website. That started to change in 2013, when Facebook released React, a "library" of open source code that Facebook and now many others use to build web interfaces that look and feel like native apps.
React took some time to catch on, but in recent years it's become the most widely used library for building "front-end" applications, surging past Google's framework Angular. Airbnb, Netflix, and Walmart all use React.
"In 2015 I noticed that quite suddenly my friends in San Francisco started dropping tools like jQuery and Angular in favor of using React, and they swore by it," says Quincy Larson, founder of the programming education site FreeCodeCamp.
That probably has something to do with the release of React Native in 2015. React Native enables developers to build native applications for Android and iOS using React, meaning that they can use the same code for both web and mobile apps.
Facebook wasn't the first to offer tools for building mobile apps using web technologies, nor was it the first to offer open source libraries for building web applications. But combining the two ideas set it apart says Greg Raiz, the chief innovation officer at consulting company Rightpoint. "I think it's just a holistic story," he says. "It helped complete the puzzle."