Our Open Source Program Guides cover case studies from the industries leading open source programs. We started with Comcast, Dropbox, Facebook, Microsoft, Red Hat and Salesforce, SAP, this month we’re happy to add the Uber open source program (OSPO):
Uber is one of the best-known disruptors in the digital age. Its business model famously separated transportation services from the traditional underlying infrastructure with an app-based model offering on-demand and multimodal options. In many ways, this transformation, and Uber itself, also mirror the creative and collaborative aspects of the open source community.
“Uber has been an open source software user since the beginning,” said Brian Hsieh, head of open source at Uber. “But over the years, Uber has also contributed to the community and created many popular projects like Jaeger, Horovod, kepler.gl, Ludwig, deck.gl, and Pyro.”
The relationship between Uber and open source has evolved over time, driving each other forward.
“It was natural and organic for Uber to create an open source program office since it allowed us to build our platform and scale the technology at unprecedented speed,” said Hsieh. “In essence, Uber loves open source because it’s essential to our success.”
The history of Uber and open source
Uber has a long history of contributing to open source projects. The company also has many active maintainers in the community. Since its earliest days, company developers contributed to PyTorch, TensorFlow, Kubeflow, OpenTracing, Cassandra, Chef, Arrow, Go, Buck, Kafka, Hive, Mesos, Redis, Swift, Gradle, Gym, Parquet, Presto, Spark, Kubernates, and more. The company’s first public project on GitHub was created in 2012, only three years after Uber was founded. Far from its peak, the momentum behind Uber’s internal commitment to open source steamed ahead.
“Open sourcing deck.gl in 2015 was the start of a booming open source culture at Uber. It was another defining moment for Uber’s open source program when we open sourced Jaeger in 2016, and later contributed it to the Cloud Native Computing Foundation (CNCF) in 2017,” said Hsieh.
It was a defining moment in that it cemented Uber’s footprint in open source among the external community, even as it encouraged others at the company to consider the benefits of open sourcing their projects among developers internally.
“Then Horovod, now hosted by the LF AI Foundation, and Jaeger both were on InfoWorld’s best open source software rankings in 2018. Horovod was also named a Top Technology of 2019 by InfoWorld. We are very proud of what we have contributed to the community and are thrilled that the community has found these projects useful,” said Hsieh.
This string of successes solidified Uber’s open source program as a mature and prioritized investment. To encourage ongoing, regular involvement in open source projects, Uber instituted internal standards for governing and incentivizing contributing upstream and back to the community. For Uber, contributing back to the community is one of the best ways to help ensure open source project sustainability.
“Uber’s contribution to upstream projects has been phenomenal in the past couple of years, from TensorFlow, PyTorch, Go, Presto, XGBoost, Spark, Hadoop, and many more. It was the cumulation of all these vibrant activities on all fronts that motivated us to join both the Linux Foundation and the TODO Group in 2018,” Hsieh explained.
“We cannot do everything ourselves. There are greater opportunities and innovations when we collaborate. And we cannot do open source without collaboration,” he said.
Those “greater opportunities and innovations” tend to spread outwards to create a greater good. This year, in 2019, Uber helped launch the Urban Computing Foundation to support community development to improve mobility, transportation, safety, and infrastructure.
Projects such as kepler.gl can help urban planners, policymakers, and local governments, gain critical insights and better understand data about their cities. For example, you can use kepler.gl with anonymized and aggregated data from Uber’s Movement tool to visualize traffic patterns in a specific urban environment.
Uber’s OSPO from inception until now
Uber’s open source program office (OSPO) came to be organically but not without thought and purpose to steer its growth in the right direction.
“Our open source program was informally created by passionate engineers. With the blessing of our engineering leadership and support from our IP attorneys, the program was set up for success at the beginning. It provided a great foundation for what the program is today,” said Hsieh.
The impetus behind formalizing Uber’s OSPO came from several open source activities, with each requiring more organized support. For example, engineers needed guidance on how open source technology could be used in external products. Compliance, licensing, and other legal issues were among the most pressing. Another top consideration was to provide guidance for engineers on releasing Uber’s proprietary software in open source, either by creating a new project or contributing to the upstream.
“The goal of the program office is really to make sure that all of Uber’s open source activities support our business either through processes, policies, or education. We need to make sure that we meet these expectations across our open source activities and remain a good open source citizen,” said Hsieh.
“It’s also critical to be in the know. One of the program office’s main jobs is to help facilitate collaboration internally and externally, and be the liaison to the broader community.”
Uber uses a minimum of tools to create and maintain an open source culture and spur open source projects.
“We are constantly looking for better tooling but are very careful about increasing overhead to the developers,” Hsieh explained.
Specifically, Uber is currently using the following tools: The team, the committee, and working groups (WG) also have the autonomy to deploy tools as needed.
- GitHub for pretty much everything
- FOSSA as a licensing compliance tool
- CLA Assistant for managing Contributor License Agreements
- More recently, Jira for intaking open source requests
- Bitergia for tracking the activities and understanding community health
Uber is pleased with the engineering benefits it has realized from its efforts in open source including accelerated product development and shared engineering costs with the broader community. But Hsieh says the company has seen more benefits beyond significant engineering efficiencies.
“The collective knowledge of our engineers grows by interacting with the open source community. It is one of the hidden benefits of using open source. It is not just the technology, the engineers also learn about collaboration and best practices in how they steer opinions and seek consensus. Some even show stronger leadership through the process of interacting with the open source community,” he said.