diff --git a/ContributingCode.wiki b/ContributingCode.wiki
new file mode 100644
index 0000000..08903a3
--- /dev/null
+++ b/ContributingCode.wiki
@@ -0,0 +1,121 @@
+#summary Guidelines for contributing code to Melange
+#labels Contents-Complete,Phase-Guidelines,Importance-Useful
+
+The [MelangeIntro Melange project] welcomes code changes from everyone.
+
+== Contributor License Agreement ==
+
+*You must [ContributorLicenseAgreements sign a Contributor License Agreement]
+before we can accept your contributions.*
+
+== Drafting Your Change ==
+
+Please conform to [PythonStyleGuide Melange's Style Guide] when making
+your change. If your change is of sufficient complexity to warrant
+changed or additional test coverage, please change or add tests in
+accordance with [TestingGuidelines Melange's testing guidelines].
+
+== Committing Your Change ==
+
+Any change to Melange requiring less than a day of work should be
+proposed in the form of one or more commits. When creating a commit,
+please deliberately author all three aspects of the commit.
+
+=== Commit Content ===
+
+The number of changed files and number of changed lines in your commit
+should be as small as possible. There should be no extraneous or
+irrelevant changes to Melange included in your commit. `git status`,
+`git diff`, and `git checkout` will help you create a commit
+containing just the content changes that you intend to include.
+
+=== Commit Metadata ===
+
+Commit log messages should be styled in the following manner:
+
+{{{
+One line under 70 characters summarizing the change.
+
+After a blank line, a more detailed paragraph explaining the
+reason for the change (not necessarily what was changed, as that can
+be seen by readers in the patch). Please wrap your lines at 70
+characters.
+
+If necessary, additional paragraphs affording more information,
+also wrapped at 70 characters and separated from one another by
+single blank lines.
+}}}
+
+Commit log messages should follow a "what, then if necessary, why,
+and if further necessary, how" rule for their content: the commit
+log message should first describe the content of the change. Then, if
+not clear from the context of the change, the commit log message
+should state the reason for the change (for example, if the change
+fixes issue 15, the log message might say "Fixes issue 15.").
+Lastly, if the means by which the change was made is not apparent
+from the context of the change (for example, if the change was made
+by running some tool over the entire codebase rather than by manual
+editing of individual files), the commit log message should describe
+how the change was made.
+
+Metadata outside the commit log message should identify who made the
+change and when it was made. Author and committer fields should be
+of the form:
+
+{{{
+"FirstName LastName <somebody@example.com>"
+}}}
+
+The commit's Date and Commit Date fields should be accurate.
+
+=== Provenance ===
+
+Good changes should not be made "on top of" bad changes. New commits
+should be given [http://code.google.com/p/soc/source/list?num=300 the head of Melange's master branch]
+as their parent commit unless some particular complexity germane to
+the change being made requires some other commit (or commits) to be
+chosen as parents of the new commit.
+
+== Code Reviews ==
+
+All code incorporated into Melange's codebase must first pass code
+review conducted by a Melange committer.
+
+=== Requesting A Code Review ===
+
+Please use `git bundle` to create a bundle file that contains your
+commits.
+
+If your change addresses a known issue in Melange, please attach the
+bundle containing your commits to the issue addressed as an attachment
+in a comment on the issue. If your change is not relevant to any
+particular issue, attach your bundle to a new message to the
+[MailingListsGuidelines#Developer_list developer mailing list].
+
+Upon reciept of your bundle, a Melange committer will conduct a review
+of your code, typically within two or three days.
+
+=== Responding To A Code Review ===
+
+Review of a commit generates a message to the
+[MailingListsGuidelines#Commits_list commits list]. Typically the
+reviewer will ask several questions during the course of the review;
+respond to these questions in a reply message. If appropriate, attach
+a revised bundle containing revised a version of your commit for
+further review.
+
+*Contributions by first-time contributors typically go through several
+rounds of review.* We hope you both learn from and enjoy the process.
+
+=== After Code Review ===
+
+After you have created a commit that is suitable for inclusion in
+Melange, a Melange committer will commit the change to
+[http://code.google.com/p/soc/source/list?num=300 Melange's master branch].
+Congratuations!
+
+----
+_Copyright 2014 Google Inc._
+_This work is licensed under a_
+[http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-attribution-2_5.html Creative Commons Attribution 2.5 License].
+[http://creativecommons.org/licenses/by/2.5/ http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-2_5-88x31.png]
