Open is about the power to pick up and move your app
An open cloud is grounded in a belief that being tied to a particular cloud shouldn’t get in the way of achieving your goals. An open cloud embraces the idea that the power to deliver your apps to different clouds while using a common development and operations approach will help you meet whatever your priority is at any given time — whether that’s making the most of skills shared widely across your teams or rapidly accelerating innovation. Open source is an enabler of open clouds because open source in the cloud preserves your control over where you deploy your IT investments. For example, customers are using Kubernetes to manage containers and TensorFlow to build machine learning models on premises and on multiple clouds.
Open source is a continuum
Here are examples of Google’s commitment to OSS and the varying levels of work required:
- OSS such as Android has an open code base and development is the sole responsibility of one organization
- OSS with community-driven changes such as TensorFlow involves coordination between many companies and individuals
- OSS with community-driven strategy, for example Linux and Kubernetes, involves collaborative decision-making and accepting consensus over control
Open source software permits a richness of thought and continuous feedback loop with users
Open source is so important to Google that we call it out twice in our corporate philosophies and we encourage employees, and in fact all developers, to engage with open source.
Using BigQuery to analyze GHarchive.org data, we found that in 2017, over 5,500 Googlers submitted code to nearly 26,000 repositories, created over 215,000 pull requests, and engaged with countless communities through almost 450,000 comments. A comparative analysis of Google’s contribution to open source provides a useful relative position of the top-contributing companies in open source based on normalized data.
Googlers are active contributors to popular projects you may have heard of including Linux, LLVM, Samba, and Git.
Google is committed to the use of open APIs
Open APIs preserve everyone’s ability to build on each other’s work, improving software iteratively and collaboratively. Open APIs empower companies and individual developers and to change service providers at will. Peer-reviewed research shows that open APIs drive faster innovation across the industry and in any given ecosystem. Open APIs depend on the right to reuse established APIs by creating independent-yet-compatible implementations. Google Cloud is committed to supporting open APIs via our membership in the Open API Initiative, involvement in the Open API specification, support of gRPC, and via Cloud Bigtable compatibility with the HBase API, Cloud Spanner and BigQuery compatibility with SQL:2011 (with extensions), and Cloud Storage compatibility with shared APIs.
Cloud storage interoperability via shared APIs
The Google Cloud Storage XML API is interoperable with some cloud storage tools and libraries that work with services such as Amazon Simple Storage Service (Amazon S3) and Eucalyptus Systems, Inc.
Bigtable interoperability via HBase APIs
One way to communicate with Cloud Bigtable is through the Cloud Bigtable HBase client for Java, which is a customized version of the standard Apache HBase client.