Google and Facebook Open Source Important Tools
Over the years, Google has been one of the largest contributors to the open source community, handing many of its projects over for community development. Just this month, both Google and Facebook have made some significant new contributions of projects. Google has released Kubernetes under an open-source license, which is essentially a version of Borg, which harnesses computing power from data centers into a powerful virtual machine. It can make a difference for many cloud computing deployments.
Last week, Facebook open sourced Haxl, a library that eases access to remote data. Haxl can automatically batch multiple requests to the same data source, request data from multiple data sources concurrently, and cache previous requests. Having all this handled behind the scenes means that data-fetching code can be much cleaner and clearer than it would otherwise be if it had to worry about optimizing data-fetching.
Wired and Silicon Angle have covered the open sourcing of Kubernetes. Silicon Angle notes:
"According to Wired, Google kept Borg’s source code a secret for years because it considered the technology to be a competitive advantage. However, Google’s entry into the public cloud market demands that it cultivate software that works well with its own Compute Engine. Kubernetes can reportedly be used not only to run applications across very large server farms but also to incorporate cloud services as well."
Indeed, Cade Metz, writing for Wired, says: "[Kubernetes] is a way of more easily and more efficiently running online software across a vast array of machines. In today’s world, that’s a vital thing."
You can find the source code for Kubernetes on GitHub.
Jon Purdy, one of the engineers behind Facebook's Haxl, has an online discussion up about the tool. He writes:
"The basic idea here is that you can write naïve data fetching code that looks horrifically inefficient—queries in loops, no explicit deduplication—which gets turned magically into efficient concurrent fetching under the hood."
Haxl has been fully released, and you can find the source code on GitHub.
It's good to see Google and Facebook contributing meaningful projects to the open source community, and both companies may benefit from community development of their contributions.