Open Source Projects Released By Google
Google has released over 20 million lines of code and over 900 projects. Many engineers work on open source projects full time, and even more use their 20% time to create new projects or contribute to their favorite existing projects. This list features some of our best-known projects. For more, see our GitHub repositories and Blog announcements.
- Android
- Android is a software stack for mobile devices that includes an operating system, middleware, and key applications.
- Angular
- Angular is an open source web application framework for JavaScript and Dart, focused on developer productivity, speed, and testability.
- Bazel
- Bazel is Google's internal build tool which has built-in support for building both client and server software, including client applications for both Android and iOS platforms. Bazel offers speed, scalability, flexibility, reliability and repeatability while ensuring correctness.
- Brotli
- Brotli is a general purpose compressor that is well suited for HTML, CSS, and JavaScript. It is similar in speed to deflate but offers more dense compression.
- Cartographer
- Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
- Chromium
- The Chromium Projects include Chromium and Chromium OS, the open source projects behind the Google Chrome browser and Google Chrome OS, respectively.
- Closure Tools
- The Closure tools help developers to build rich web applications with JavaScript that is both powerful and efficient. The Closure tools include: Closure Compiler, Closure Library, Closure Templates, and Closure Linter.
- Course Builder
- Course Builder is an open source education platform used to create and deliver online courses, whether for 10 or 1,000,000+ students. It utilizes Google App Engine to massively scale without requiring any infrastructure investments.
- Dart
- Dart is an open source, scalable programming language. It has robust libraries and runtimes for building web, server, and mobile apps.
- Flutter
- Flutter is a project to help developers build high-performance, high-fidelity, mobile apps for iOS and Android from a single codebase.
- Ganeti
- Ganeti is a cluster virtual server management software tool built on top of existing virtualization technologies such as Xen or KVM and other Open Source software.
- Gerrit
- Gerrit is a web based code review system, facilitating online code reviews for projects using the Git version control system.
- Go
- The Go programming language is an open source project to make programmers more productive. Go is expressive, concise, clean, and efficient. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
- gRPC
- A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.
- Google Web Toolkit
- The Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. GWT is used by many products at Google, including Google AdWords and Orkut.
- Guava
- The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
- Kubernetes
- Kubernetes is an open-source system for automating deployment, operations, and scaling of containerized applications.
- LiquidFun
- LiquidFun is a 2D rigid-body and fluid simulation C++ library for games based upon Box2D. It provides support for procedural animation of physical bodies to make objects move and interact in realistic ways.
- Liquid Galaxy
- Liquid Galaxy is a clustered panoramic display system which runs Google Earth, Street View, Second Life, World Wide Telescope, 3D game engines and more.
- Native Client
- Native Client is an open source technology for running native code in web applications, with the goal of maintaining the browser neutrality, OS portability, and safety that people expect from web apps.
- Nomulus
- Nomulus is an open source, scalable, cloud-based service for operating top-level domains (TLDs). It is responsible for tracking domain name ownership, handling registrations and renewals, availability checks and WHOIS requests for the TLDs that it runs.
- OpenThread
- OpenThread is an open source implementation of the Thread networking protocol for connected devices.
- Oppia
- Oppia is a tool for creating and sharing interactive educational activities. These activities, called 'explorations', simulate a conversation with an intelligent tutor, and can be improved bit-by-bit over time.
- Polymer
- Polymer lets you build encapsulated, re-usable elements that work just like standard HTML elements, to use in building web applications.
- Protobuf
- Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data.
- Science Journal
- Science Journal is a mobile app which allows you to gather data from the world around you using the sensors that are built into smartphones to measure things like light and sound.
- TensorFlow
- TensorFlow is a library for numerical computation using data flow graphs. It supports scalable machine learning across platforms from data-centers to embedded devices.
- Tesseract OCR
- Tesseract is considered one of the most accurate free software OCR engines currently available.
- V8 JavaScript Engine
- V8 is Google's open source, high performance JavaScript engine. It is written in C++ and is used in Google Chrome, Google's open source browser.
- WebM
- The WebM project is dedicated to developing high-quality video compression technology that is freely available to everyone.
- Yeoman
- Yeoman is a robust and opinionated set of tools, libraries and a workflow that can help developers quickly build beautiful and compelling web apps.
- ZXing
- ZXing (pronounced "zebra crossing") is an open source, multi-format 1D/2D barcode image processing library implemented in Java.
Some projects say that they are "not an official Google product". What does that mean?
We release a lot of open source software and want to keep doing so, but we also want to set appropriate expectations for those projects. Projects that include this label simply mean that they may not be as fully staffed as larger, supported products like Android or Chromium, and so support and/or new releases may be limited.