Open Source Patching


How to patch

After you read these rules, you can use the form at the bottom to submit your patch. In most cases your patch will not require human review and will be given instant approval.

There are different processes for releasing a new Google-owned project (go/releasing) and releasing personal projects (go/iarc).

Please recall that Google will claim copyright and other ownership rights over your patch. To retain copyright ownership, please see go/iarc.

For all patches to open source projects, whether through this form or on the whitelist:

  • Please register your GitHub account if you haven’t already at go/github.
  • If copyright authors are listed in a LICENSE, COPYING, AUTHORS or similar file, please add Google Inc. if it’s not already there.
  • Please associate your commit with your email unless you have a history of contributing to the repo under a different email before your employment at Google. How to associate your commit with a email.

Open source repositories of which you are an administrator

If you are an administrator of an open source repository, you may continue to do administrative work such as accept pull requests, respond to comments, open and close issues, and other admin work without using this form.

Stack Overflow

You can answer questions on Stack Overflow without using this form.

Stuff you can’t do

You can’t sign Contributor License Agreements (CLAs) for any companies or projects not listed below. If you want to sign an unlisted CLA, email it to emailremoved@ for review.

You can’t patch projects with any of the following licenses, but you are welcome to apply through go/iarc to patch these projects in your personal time:

  • No License
  • AGPL
  • cc0
  • CC BY-NC-* (this restricts Google access to that code)

See go/whatisalicense for more information on licenses.

You can’t sync .vimrc and other dot files between your Google workstation or Google laptop and GitHub. Too much internal info has been leaked this way. You may only import dot files into Google. To set up a personal Git repository for your Google dot files, see go/gob-user.

The following projects always require human review. Please don’t tick the box on the form.

List of reasons removed.

The following patches are not allowed without SVP approval. Please obtain SVP approval by email and forward it to emailremoved@. You may also email emailremoved@ with any questions.

List of patches removed.

You can skip this form if any of the following are true

If any of the following are true you may submit your patch without using this form.

If you’ve already used this form once for a given repo, you don’t need to use it again.

Instant approval

If you meet the following conditions, your patch is automatically approved when you fill out the form. Just tick the box. Otherwise, a reviewer will get back to you, typically within 6 hours.

  1. There is a LICENSE or COPYING file at root of repo and it is Apache 2, MIT, BSD, GPL, LGPL, Eclipse Public License, MPL, ISC, CC-BY, OFL, MS-PL, or Boost Software License. It’s fine if the license has a file extension, such as LICENSE.txt. If there isn’t an explicit license file, but the license is mentioned in a README file or in the source code, file an issue or submit a patch to add one; you don’t need to obtain further approval or submit the form below for such a patch.
  2. Either the project has no CLA, or the project has a CLA and it has been pre-approved (see below).

Below are the only Contributor License Agreements (CLAs) which are pre-approved. Anything else requires human review.

Google already has CLAs on file with:

List of on-file CLAs removed.

You may sign the Pre-Approved Individual CLAs listed below:

List of OK to sign individual CLAs removed.

Snippets and gists less than 100 lines of code

In addition to patches to existing open source projects, you can also use the form below for small single-file, self-contained gists or code snippets not on Stack Overflow. These do not require human review. However, if your snippet or gist is more than 100 lines of code or spans more than a single file, please follow go/releasing.

All gists and snippets not on Stack Overflow must have the following header at the top regardless of size. You may move the header around on the page post-patch if necessary, and you only need to place it once for multiple snippets on the same page or slide:

Copyright 2017 Google Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

Submit your patch

Include the first 150 lines of the patch. This can be generated using git format-patch -n HEAD~1 --stdout | head -n 150 or a similar command, and should include the author line containing your email.

Embedded form removed. It asks for a pointer to the code, the license, and the first 150 lines of the patch.

Except as otherwise noted, the content of this page is licensed under CC-BY-4.0 license. Third-party product names and logos may be the trademarks of their respective owners.