In the last 15 years, Facebook has changed the way we keep in touch with our friends, our quarrels with our family members, our way of thinking about privacy and our consumption of Russian propaganda – not always for the better. But Facebook has also changed the computer. From Netflix to Uber to the Walmart website, many of the applications and services we use on a daily basis are designed with technologies developed by Facebook and then shared with the world.
As the company could accommodate millions, if not billions of users, it needed to create tools, ranging from data storage software capable of handling mind-blowing amounts of user information to hardware designs data centers hosting these databases. More recently, he has created new ways to create interfaces for his Web and mobile applications. Above all, Facebook has not kept these creations for itself. He has published much of his work as an open source, which means that anyone can use, edit, and share Facebook's inventions.
"Facebook has been a driving force behind open source for years, sharing many critical technologies with the wider community," said Jim Zemlin, executive director of the Linux Foundation. The foundation hosts an organization dedicated to GraphQL, a programming language created by Facebook to manage communications between applications and servers, which is now used by many other companies.
Because of Facebook's openness, many of its technologies have become industry standards. "Facebook has played a significant role in the evolution of building our servers, but also in writing code for browsers and phones," said Adam Neary, Technical Manager at Airbnb. "The whole ecosystem is based on technologies developed by Facebook and then open source."
The birth of Big Data
One of Facebook's first major contributions to the wider IT community was Cassandra, a database system capable of evolving over hundreds, if not thousands, of servers.
Facebook has not been the first company to create such a database. Amazon and Google have both released documents detailing their own innovations in distributed databases, but no company has 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 Amazon and Google to create Cassandra. Then, in 2008, they released the code. Soon, it was used by the other two companies, such as the Rackspace cloud computing company.
"Facebook has for years been an open source driving force, sharing many vital technologies with the community."
Jim Zemlin, Executive Director, Linux Foundation
"They went beyond the mere cloning of what Google and Amazon did and innovated, they did something different," says Jonathan Ellis, who has used Cassandra extensively as a Rackspace employee and then co-founded DataStax, a company that supports Cassandra for businesses in 2010.
Today, Cassandra is the 11th most popular database in the world, according to the DB-Engines website. Apple, Netflix, Instagram and Uber are all users and contributors to the project.
Facebook was also one of the first contributors to the Hadoop open source data processing platform, which has become almost synonymous with big data. Much of Hadoop's early development, based on articles published by Google, was done by Yahoo. But Facebook was one of the first companies, outside Yahoo, to adopt Hadoop and provide additional tools to the platform. Hadoop spawned several startups such as Cloudera, which was co-founded by former Facebook researcher, Jeff Hammerbacher.
Facebook has invested heavily in artificial intelligence research in recent years to make more use of its data, and some of its work has also been published. In 2015, the company implemented some of its artificial intelligence algorithms for use with an artificial intelligence platform called Torch, nearly a year before the engine was opened. TensorFlow artificial intelligence by Google. Facebook then funded the development of a variant of the torch called PyTorch, which now forms the third most popular AI framework, according to an analysis by data specialist Jeff Hale.
Opening the data center
It was not enough for Facebook to create software that can handle millions of users. The company also had to design computers and buildings to handle all this data.
Along the way, Facebook has come up with unusual ideas, ranging from "open-air" data centers using outdoor air for cooling rather than industrial cooling systems, to "modular" servers that allow you to Quickly exchange processors and other components.
Facebook has released all 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. Although open source software was already well established at that time, it was unclear whether Facebook's idiosyncratic ideas could be helpful to anyone. other companies. But early enough, vendors such as the Taiwanese company Quanta started selling computers based on Facebook designs, and others, including Rackspace, Microsoft and Apple, brought their own hardware designs to the company. initiative.
Today, Facebook is collaborating with telecom companies such as Ericsson and Deutsche Telekom on the Telecom Infra project to help them create a new open source telecommunications infrastructure, including a long antenna system. range called ARIES and a wireless connection system of cell towers called Terragraph.
Finish the puzzle
For most of its first decade, Facebook's most widely used open source contributions were these kinds of behind-the-scenes infrastructures. Netflix may have used Cassandra to manage your information in a data center, but that did not mean that you were interacting with the Facebook code on its website. This began to change in 2013, when Facebook released React, an open source "library" that Facebook and many others use to create web interfaces that resemble native applications.
React has been slow to make its way, but in recent years it has become the most widely used library for building front-end applications, far surpassing the Google Angular framework. Airbnb, Netflix and Walmart all use React.
"In 2015, I noticed that my San Francisco friends suddenly started giving up tools such as jQuery and Angular in favor of using React, which they swore," says Quincy Larson, founder of the FreeCodeCamp Programming Education Site.
This is probably related to the release of React Native in 2015. Native React allows developers to create native apps for Android and iOS using React, which means they can use the same code for web and mobile applications.
Facebook was not the first to offer tools to create mobile applications using Web technologies, or to offer open source libraries to create Web applications. However, the combination of the two ideas sets it apart from the others, says Greg Raiz, Director of Innovation at Rightpoint Consulting. "I think it's just a holistic story," he says. "It helped complete the puzzle."