Adding CONTRIBUTING file to help guide new contributions.
authorTim 'mithro' Ansell <mithro@mithis.com>
Mon, 13 Apr 2015 07:32:07 +0000 (17:32 +1000)
committerSebastien Bourdeauducq <sb@m-labs.hk>
Tue, 14 Apr 2015 14:59:40 +0000 (22:59 +0800)
GitHub highlights the CONTRIBUTING file when people send pull requests or
open issues, see https://github.com/blog/1184-contributing-guidelines

This file includes a start of guidelines for sending patches.

Fixes issue #7 - https://github.com/m-labs/misoc/issues/7

CONTRIBUTING.md [new file with mode: 0644]

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644 (file)
index 0000000..7cb4b0e
--- /dev/null
@@ -0,0 +1,74 @@
+
+# Sending Patches
+
+MiSoC does **not** use GitHub pull requests. Instead you must send patches to
+the public mailing list <devel@lists.m-labs.hk>.
+
+Before sending patches, please read the rest of this guide and make sure your
+patch meets the following criteria;
+
+ - [ ] Meets style guide requirements listed below.
+ - [ ] Includes a suitable commit message.
+
+Sending mail to the mailing list can be done via the `git send-email` tool.
+The `git send-email` tool is not included by default on many Linux
+distributions, on Ubuntu / Debian systems you may need to install the
+`git-email` package. Documentation on using this tool can be found at
+http://git-scm.com/docs/git-send-email
+
+To send patches to the mailing list you must first be subscribed to the list.
+You can subscribe at https://ssl.serverraum.org/lists/listinfo/devel
+
+An example session would be;
+```
+# Set up [sendemail] as described at http://git-scm.com/docs/git-send-email in
+# the EXAMPLE section.
+
+# Download, make changes to misoc and commit them
+git clone https://github.com/m-labs/misoc
+cd misoc
+edit xxx.py
+git commit -a
+
+# Send patch to mailing list
+# --------------------------
+# 1) Remove any previous outgoing patch
+rm -rf outgoing
+
+# 2) Put the patches to be sent into the outgoing directory
+git format-patch --cover-letter -M origin/master -o outgoing/
+
+# 3) Edit the cover letter with information about the patch
+edit outgoing/0000-*
+
+# 4) Actually send the email.
+git send-email --to=devel@lists.m-labs.hk outgoing/*
+```
+
+# Help
+
+If your submission is large and complex and/or you are not sure how to proceed,
+feel free to discuss it on the mailing list or IRC (#m-labs on Freenode)
+beforehand.
+
+# Style Guide
+
+All new code should be complaint with the
+[PEP8 style guide](https://www.python.org/dev/peps/pep-0008/).
+
+You can use the [pep8 tool](https://www.python.org/dev/peps/pep-0008/) to check
+compliance with `pep8 myfile.py`
+
+When modifying existing code **be consistent** with any existing code style.
+Older code is not yet PEP8 but will hopefully be converted in the future.
+
+# migen vs misoc vs "FPGA cores"
+
+FIXME: Add something like ["Puppet Core vs Modules"](
+https://github.com/puppetlabs/puppet/blob/master/CONTRIBUTING.md#puppet-core-vs-modules).
+
+# License
+
+All new contributions should be under the same license as MiSoC. This is a very
+permissive two-clause BSD license. Full license text can be found at
+https://github.com/m-labs/misoc/blob/master/LICENSE