diff --git a/docs/source/building.rst b/docs/source/building.rst
index 36fecf9..fa81975 100644
--- a/docs/source/building.rst
+++ b/docs/source/building.rst
@@ -1,8 +1,8 @@
 .. _chapter-building:
 
-========
-Building
-========
+=====================
+Building Ceres Solver
+=====================
 
 Ceres source code and documentation are hosted at `code.google.com
 <http://code.google.com/p/ceres-solver/>`_.
diff --git a/docs/source/contributing.rst b/docs/source/contributing.rst
index 8ebce10..090bddc 100644
--- a/docs/source/contributing.rst
+++ b/docs/source/contributing.rst
@@ -6,26 +6,136 @@
 
 
 We welcome contributions to Ceres, whether they are new features, bug
-fixes or tests. The Ceres mailing list [#f1]_ is the best place for
-all development related discussions. Please consider joining it. If
-you have ideas on how you would like to contribute to Ceres, it is a
-good idea to let us know on the mailinglist before you start
+fixes or tests. The Ceres `mailing
+<http://groups.google.com/group/ceres-solver>`_ list is the best place
+for all development related discussions. Please consider joining
+it. If you have ideas on how you would like to contribute to Ceres, it
+is a good idea to let us know on the mailing list before you start
 development. We may have suggestions that will save effort when trying
 to merge your work into the main branch. If you are looking for ideas,
 please let us know about your interest and skills and we will be happy
 to make a suggestion or three.
 
-We follow Google's C++ Style Guide [#f2]_ and use ``git`` for version
-control.
+We follow Google's `C++ Style Guide
+<http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml>`_ and
+use `git
+<http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml>`_ for
+version control. We use the Gerrit code review system to collaborate
+and review changes to Ceres. Gerrit enables pre-commit reviews so that
+Ceres can maintain a linear history with clean, reviewed commits, and
+no merges.
+
+We now describe how to set up your development environment and submit
+a change list for review via Gerrit.
+
+Setting up your Development Environment
+=======================================
+
+1. Download and configure ``git``.
+
+   * Mac ``brew install git``.
+   * Linux ``sudo apt-get install git``.
+   * Windows. Download `msysgit
+     <https://code.google.com/p/msysgit/>`_, which includes a minimal
+     `Cygwin <http://www.cygwin.com/>`_ install.
+
+2. Sign up for `Gerrit
+   <https://ceres-solver-review.googlesource.com/>`_. You will also
+   need to sign the Contributor License Agreement (CLA) with Google,
+   which gives Google a royalty-free unlimited license to use your
+   contributions. You retain copyright.
+
+3. Clone the Ceres Solver ``git`` repository from Gerrit.
+
+   .. code-block:: bash
+
+      git clone https://ceres-solver.googlesource.com/ceres-solver
 
 
-Gerrit Instructions
-===================
+4. Build Ceres, following the instructions in
+   :ref:`chapter-building`.
 
-TBD
+   On Mac and Linux, the ``CMake`` build will download and enable
+   the Gerrit pre-commit hook automatically. This pre-submit hook
+   creates `Change-Id: ...` lines in your commits.
+
+   If this does not work OR you are on Windows, execute the
+   following in the root directory of the local ``git`` repository:
+
+   .. code-block:: bash
+
+      curl -o .git/hooks/commit-msg https://ceres-solver-review.googlesource.com/tools/hooks/commit-msg
+      chmod +x .git/hooks/commit-msg
+
+5. Configure your Gerrit password with a ``.netrc`` (Mac and Linux)
+   or ``_netrc`` (Windows) which allows pushing to Gerrit without
+   having to enter a very long random password every time:
+
+   * Sign into `http://ceres-solver-review.googlesource.com
+     <http://ceres-solver-review.googlesource.com>`_.
+
+   * Click ``Settings -> HTTP Password -> Obtain Password``.
+
+   * (maybe) Select an account for multi-login. This should be the
+     same as your Gerrit login.
+
+   * Click ``Allow access`` when the page requests access to your
+     ``git`` repositories.
+
+   * Copy the contents of the ``netrc`` into the clipboard.
+
+     - On Mac and Linux, paste the contents into ``~/.netrc``.
+
+     - On Windows, by default users do not have a ``%HOME%``
+       setting.
 
 
-.. rubric:: Footnotes
+       Executing ``setx HOME %USERPROFILE%`` in a terminal will set up
+       the ``%HOME%`` environment variable persistently, and is used
+       by ``git`` to find ``%HOME%\_netrc``.
 
-.. [#f1] http://groups.google.com/group/ceres-solver
-.. [#f2] http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
+       Then, create a new text file named ``_netrc`` and put it in
+       e.g. ``C:\Users\username`` where ``username`` is your user
+       name.
+
+
+Submitting a change to Ceres Solver
+===================================
+
+1. Make your changes against master or whatever branch you
+   like. Commit your changes as one patch. When you commit, the Gerrit
+   hook will add a `Change-Id:` line as the last line of the commit.
+
+2. Push your changes to the Ceres Gerrit instance:
+
+   .. code-block:: bash
+
+      git push origin HEAD:refs/for/master
+
+   When the push succeeds, the console will display a URL showing the
+   address of the review. Go to the URL and add reviewers; typically
+   this is Sameer or Keir at this point.
+
+3. Wait for a review.
+
+4. Once review comments come in, address them. Please reply to each
+   comment in Gerrit, which makes the re-review process easier. After
+   modifying the code in your ``git`` instance, *don't make a new
+   commit*. Instead, update the last commit using a command like the
+   following:
+
+   .. code-block:: bash
+
+      git commit --amend -a
+
+   This will update the last commit, so that it has both the original
+   patch and your updates as a single commit. You will have a chance
+   to edit the commit message as well. Push the new commit to Gerrit
+   as before.
+
+   Gerrit will use the ``Change-Id:`` to match the previous commit
+   with the new one. The review interface retains your original patch,
+   but also shows the new patch.
+
+   Publish your responses to the comments, and wait for a new round
+   of reviews.
