Getting The Code

Git source code repositories
OpenStack manages source code in git using a code review tool called Gerrit. The workflow for working with Gerrit is described at Development Workflow. Git repositories are mirrored to git.openstack.org and Github. Installing git varies by platform, and if you're a developer is probably something you already have - but if it isn't, InstallingGit may help.

To get a copy of an OpenStack project, you can clone a repo from git.openstack.org and browse the source code at git.openstack.org/cgit. For instance, to clone the Swift repo:

git clone git://git.openstack.org/openstack/swift

Alternatively, you can use the Github mirror to clone repos and browse code. The git.openstack.org and GitHub mirrors are maintained the same way and contain the same code, so you can use either one, with the difference being that git.openstack.org is hosted by the OpenStack infrastructure team.

Source code tarballs
You can find all source code tarballs of OpenStack projects on https://releases.openstack.org.

Alternatively, you can find all source code tarballs generated for OpenStack projects at tarballs.openstack.org.

Getting dependencies
Python runtime and test dependencies are described in requirements.txt in each project. Some dependencies are not Python dependencies, though. See DevStack for more information on setting up the required dependencies.

Hacking on your laptop and running unit tests
Questions about running unit tests locally are fairly common. While all of the projects are pretty similar in how this works, it's best to consult each projects documentation for things like setting up a dev environment and running unit tests.

Each project should publish this info to docs.openstack.org (http://docs.openstack.org/developer//devref/development.environment.html

For example:

http://docs.openstack.org/developer/cinder/devref/development.environment.html