Hosting Options

(This is part of the process for releasing Google-owned code as open source. There are different processes for patches and IARC projects.)

Choosing a hosting option

For most projects, we recommend hosting on GitHub because of the exposure and active community it provides. See the important instructions below. Google-supported projects that need a more feature-rich code review system or whose hosting needs extend beyond GitHub's limitations may find Git+Gerrit-on-Borg (go/gob) to be a better fit.

If your project isn't ready for the public to see, we recommend using Git+Gerrit-on-Borg (go/gob) during development since it eventually has to be staged using Git-on-Borg for our review anyhow. At launch, you may continue using Git+Gerrit-on-Borg or migrate the project to GitHub. Security policy (go/github-kitten) forbids hosting code on external sites like GitHub until OSPO approves it for release, even if it's in a private repo.

GitHub allows you to include some files as part of a project release, but otherwise does not provide a service to host arbitrary files. If your project needs to distribute binaries or other files, you will need to use a service like Google Cloud Storage.

If you want to host the code on a third-party site other than GitHub, please ask emailremoved@ first.

Issue tracking

If your project is on GitHub, use the GitHub issue tracker.

Git+Gerrit-on-Borg doesn't provide an issue tracker, but you may set up your own.

Monorail

Monorail is an open source standalone issue tracker run by Chromium at bugs.chromium.org. It might be possible for you to use that instance or you can run your own. Contact the Monorail team for more information.

Continuous integration and testing

If you make sure the current branch always builds (and passes its unit tests), you can significantly increase the quality of your project and lower the barrier to contributing. There are several different continuous integration tools to choose from.

Ideally, your CI tool will be hooked up to your version control system so everything's simple to maintain. For example, check out the Angular.js project on GitHub. The small green box in the readme which says "build|passing" is powered by Travis CI, one of several minimally invasive (and free) continuous integration services for open source projects.

Any external continuous integration or testing system that integrates with GitHub must also comply with policies of for third-party GitHub services.

GitHub

Because GitHub is a third-party site, we have a few more rules and guidelines concerning its use. See go/opensource/github for all the details.

Once your Ariane launch has been fully approved, visit go/github/repo to create the GitHub repository.