Creating

Google strongly believes in open source and wants to empower you to contribute to the wider community. There are serious legal implications anytime a Googler releases code, so we have processes you must follow that help us comply with our legal and ethical obligations.

Why open source?

go/opensource/why

There are variety of good reasons to release something under an open source license, from "more perspectives make better software" to "establishing a standard." It is important to building a sustainable project to consider your reasons for open sourcing and use these as guidance for decision making.

Releasing new open source projects

go/releasing

Google is proud to release a lot of code under open source licenses. Whether it's an official Google product with a dedicated team or a 20% side project, we'll help you get the necessary approval to release. When you accept contributions from the external community, we'll work with you to ensure CLAs (Contributor License Agreements) are signed.

Shipping products

Product releases that include distributing any kind of compiled code need to go through OSPO's license review. Visit go/licensereview for instructions and links to tools to make license review easier.

Patching existing open source projects

go/patching

Google is usually happy to support patching open source projects, but your patches must first be reviewed to ensure no legal or IP problems arise — never sign a CLA (Contributor License Agreement) without approval. Don't worry, it's a quick and minimal process to get your patches approved. This process is for all open source projects, whether or not Google owns the code.

Personal projects

Almost all personal projects will follow go/patching or go/releasing.

Although Google generally owns the IP rights to any development done during your employment, the open source license provides rights and responsibilities that protect the future use of the code for both you and Google. See https://opensource.dev for more information about how.

Releasing open source documentation

go/oss-documentation

Google is happy to release open source documentation under open source licenses. We also encourage Googlers to release documentation templates and other documentation-related content, and we provide guidance and resources to do so.

Full-time employees in good standing may request a copyright waiver from Google. You can file a request through IARC, the Invention Assignment Review Committee.

Code snippets

go/codesnippets

We define a code snippet as less than 100 lines of self-contained code scrubbed of any confidential Google information. If you'd like to post snippets on Stack Overflow (SO) or other such sites, please read go/patching.


A brief word about interns

We often see a small number of interns who want to be involved in releasing open source. Often, this is so they can continue a bit of research or to forward other open source goals of the company. In this regard, interns are no different than regular engineers and may proceed with their manager's approval.

However, interns are not encouraged to take part in open source activities outside of their primary project — this is simply because internships are brief and generally do not include 20% time.

Because internships have inflexible end dates, interns should contact emailremoved@ as soon as they've decided they want to open source their work. Early notification gives us enough time to navigate any issues while the intern is still working at Google.