Josh Simmons, Open Source Office, Google
Open source software helps Google develop software quickly and efficiently, without having to start from scratch, so that we can focus on solving new problems. We know:We stand on the shoulders of giants. That's why we support open source and let Googlers easily publish in-house projects under open source.
Today, we shared our first open source report card, highlighting our most popular projects, sharing some of the statistical data and details of some of the projects we released in 2016.
So far, we have opened more than 20 million lines of source code, you can find on our website some of our most well-known project release list:Developers.google.com/open-source/projects
Here are some of our best known projects:
Android- A suite of software for mobile devices, including operating systems, middleware and critical applications.
Chromium- This project includes Chromium, the software behind Google Chrome, and Chromium OS, the software behind the Google Chrome operating system.
TensorFlow- A library of digital computations using data flow graphics, which supports scalable cross-platform machine learning, from data centers to embedded devices.
Go - A static set type and compile the programming language, which is characterized by a clear, concise, clean and efficient.
Kubernetes- A system for automating the deployment, operation and adjustment of containerized applications.
Polymer- A lightweight library built on the Web Components API for building reusable wrapper elements in web applications.
Protobuf - A mechanism for serializing structured data, which is extensible and independent of the language and platform.
Guava- A set of Java core libraries that contain new collection types (such as multimap and multiset), immutable collections, graphics libraries, function types, memory caches, and functions for handling concurrency, I / O, hashing, And strings / APIs / utilities.
Yeoman- A set of reliable and unique infrastructure tools, including a variety of libraries and a workflow, can help developers quickly build beautiful and attractive network applications.
Although it is difficult to measure the full range of open source within Google, we can use some of the items listed on GitHub to collect some interesting data. Today, we have great influence on GitHub, a total of 84 organizations to join, creating a total of 3499 storage areas, of which 773 are created this year.
Google employees use a wide variety of languages, from Assembly to XSLT, then what language is their favorite? GitHub marked the largest use of a storage language, we can find the answer accordingly.
The most common language for Googlers is:
C / C ++
Many of the data can be collected using open source GitHub data sets on BigQuery, such as comparison of tag and space usage, and the most popular Go packages. How do you analyze how many times Google employees submit open source projects on GitHub? We can search for Google.com email addresses to get Google employees a conservative number of submissions. Here is our query:
In this way, we learned that: Since the beginning of this year, Google employees in GitHub submitted a total of 142,527 open-source projects. This data set can be traced back to 2011, and we can adjust this query to find that since then, Google employees have submitted 719012 times. Again, this is only a conservative figure because it does not count toward committing at another email address.
Looking back on our open source project in 2016, we found that there are many exciting results. We released open source software, hardware and datasets. Check out some of the applications released this year.
Seesaw is a Linux-based virtual server (LVS) load balancing platform developed by our website reliability engineers using Go. Like many projects, Seesaw is just our own interest.
We need to be able to handle unicast and anycast VIP communication, using NAT and DSR (also known as DR) to perform load balancing, and back-end implementation of the full health check. Above all, we need a platform that we can easily manage, including automated deployment of configuration changes. & Rdquo;
Supplier Safety Assessment Questionnaire (VSAQ)
We evaluate the security of hundreds of suppliers every year, and we have developed a process to collect most of the preliminary information through VSAQ automation. Many vendors found our survey questionnaires intuitive and flexible, so we decided to share these questionnaires. The VSAQ framework includes four extensible questionnaire templates covering network applications, privacy initiatives, infrastructure, and physical security and data center security.
OpenThread, released by Nest, is a complete implementation of the Thread protocol, which applies to interconnected devices in the home. We are currently in this area to see the fragmented information, so this implementation is particularly important. OpenThread development is supported by ARM, Microsoft, Qualcomm, Texas Instruments and other large vendors.
Can we use machine learning to create fascinating art and music? This is the problem that has given Magenta vitality, built by the Google Brain team based on TensorFlow. The goal is to advance the level of machine intelligence to the age of music and the arts, and to form a collaborative community of artists, programmers, and machine learning researchers.
Without real-time audio, virtual reality (VR) can not achieve a true immersive experience, and much of VR's work is done on a dedicated platform. Omnitone is an open library built by members of the Chrome team that brings spatial audio to the browser. Omnitone is built on the standards-based Web Audio API and is designed to provide an immersive experience that can be used with projects such as WebVR.
Today, smartphones are integrated with sensors that tell us interesting information about the world around them. We launched the Science Journal program to help teachers, students, and general researchers make the most of these sensors.
Cartographer is a library that supports real-time simultaneous positioning and mapping (SLAM) in 2D and 3D modes with the support of the Robot Operating System (ROS). The library integrates the data from each sensor to compute the location and map surroundings information. This is a key element in autopiloting, unmanned vehicles and robots, and is part of a well-known indoor map of buildings.