How Tech Giants Spread Open Source Programming Love [Jan. 8, 2016]
By Paul Rubens
"Go is a programming language designed by Google to help solve Google's problems." So said Rob Pike, one of the Go language's designers.
That may be the case, yet the open source language is increasingly being adopted by enterprises around the world for building applications at large scale.
The story is similar with Erlang. Originally a proprietary language developed by Swedish telecommunications company Ericsson for handling massive volumes of telephone switching data on its hardware, Erlang was open sourced and is now rapidly gaining popularity for large-scale applications.
And there's more. Facebook developed GraphQL and BigPipe technologies in response to the particular challenges it faces running a social network processing hundreds of billions of API calls a day for over 1.5 billion active members. Today these technologies have been open sourced, and are used by the likes of content management project Drupal to make its mobile web pages load faster.
You may have noticed a common theme here: Programming languages and technologies that were developed by industry and Internet giants – specifically to meet the unique challenges they faced operating at massive scale – have been open sourced and are now being adopted by regular-sized enterprises for everyday use.
Part of the reason for this is a natural technology trickle-down effect, according to Mark Driver, a research director at Gartner. "Today's leading edge super high tech is tomorrow’s standard product," he says. "Also, large companies (like Google and Facebook) understand the collaborative nature of open computing and the dynamics that drive the Internet. So it's natural that they share these technologies and strengthen the industry around them."
What’s in it for Google?
It may also be that companies like Google share their technology for more self-centered reasons. For example, in November Google open sourced its TensorFlow artificial intelligence and machine learning engine. This needs to be fed huge amounts of data to work effectively.
[Related: 8 key open source software foundations (and what makes them key)]
By giving away its TensorFlow technology, Google’s allowing everyone to benefit from the technology and any improvements that are made to the code. But as the owner of vast amounts of data gathered through the many services it offers, Google is in a position to benefit more than most from improvements made to the technology by the open source community.
There's also a considerable marketing benefit in promoting a language like Go that's available to all, Driver believes. "Sponsoring a project like Go can help Google drive the recruitment of engineers," he says. "It can lead to a virtuous circle of innovation."
The trickle-down effect is particularly important because the challenges that Google, Facebook and other Internet giants faced a few years ago building large-scale applications with huge numbers of concurrent users are exactly the ones faced today by thousands of established companies and startups offering web- or mobile-based applications to large numbers of their customers.
These companies are discovering that many of the problems they’re facing have already been solved.
Acquia is just such a company. It uses Go for its software-as-a-service offering that provides enterprise services for the Drupal content management system. "More and more companies are becoming data companies, handling data from customers, mobile devices and so on,” says Christian Yates, a vice president at Acquia.