all: add contribution guidelines

Change-Id: Ic3a486e4c56a70c9a83deef4044d8a4d30ba0de4
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
diff --git a/CONTRIBUTING b/CONTRIBUTING
new file mode 100755
index 0000000..51e5611
--- /dev/null
+++ b/CONTRIBUTING
@@ -0,0 +1,107 @@
+Contributing to this Project
+============================
+
+## License
+
+This project is licensed under the terms and conditions of the 3-Clause BSD
+[LICENSE](LICENSE).  By contributing to this project, you agree that you are
+providing your contribution under the terms and conditions of that license.
+
+
+## Patches
+
+We accept patches to this project as pull requests on GitHub.  When submitting
+patches, please keep each patch self-contained and as small as possible.  Please
+address one topic per patch series.  Intermediate patches must build without
+errors (with DEVBUILD=ON) and not introduce test fails.  Please describe what
+each patch is doing in its commit message.
+
+If you are contributing a patch series that addresses a GitHub Issue, the last
+patch in the series should have 'fixes #<issue>' in its commit-message.
+
+If the patch series addresses a bug that is not tracked, please provide a
+detailed description of the issue in the commit-message, ideally with a
+description of the 'before' and 'after' behavior.
+
+The patch series should contain regression tests either as PTT tests or as
+ptunit tests.  Please make sure that all tests are passing. This may require
+re-ordering patches to introduce the regression test after the issue was fixed.
+
+If the patch series adds a new feature, please make sure to add documentation.
+Prior to submitting this type of contribution, it may be a good idea to first
+discuss the feature as a GitHub issue or via email before implementing it.
+
+This project is using the Linux coding style.
+
+
+## Sign Your Patch
+
+Please use the sign-off line at the end of each patch. Your signature
+certifies that you wrote the patch or otherwise have the right to pass
+it on as an open-source patch. The rules are pretty simple: if you can
+certify the below (from
+[developercertificate.org](http://developercertificate.org/)):
+
+```
+Developer Certificate of Origin
+Version 1.1
+
+Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
+660 York Street, Suite 102,
+San Francisco, CA 94110 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+Developer's Certificate of Origin 1.1
+
+By making a contribution to this project, I certify that:
+
+(a) The contribution was created in whole or in part by me and I
+    have the right to submit it under the open source license
+    indicated in the file; or
+
+(b) The contribution is based upon previous work that, to the best
+    of my knowledge, is covered under an appropriate open source
+    license and I have the right under that license to submit that
+    work with modifications, whether created in whole or in part
+    by me, under the same open source license (unless I am
+    permitted to submit under a different license), as indicated
+    in the file; or
+
+(c) The contribution was provided directly to me by some other
+    person who certified (a), (b) or (c) and I have not modified
+    it.
+
+(d) I understand and agree that this project and the contribution
+    are public and that a record of the contribution (including all
+    personal information I submit with it, including my sign-off) is
+    maintained indefinitely and may be redistributed consistent with
+    this project or the open source license(s) involved.
+```
+
+Then you just add a line to every git commit message:
+
+    Signed-off-by: Joe Smith <joe.smith@email.com>
+
+Use your real name (sorry, no pseudonyms or anonymous contributions.)
+
+If you set your `user.name` and `user.email` git configs, you can sign your
+commit automatically with `git commit -s`.
+
+
+## Reporting Issues
+
+If you want to report an issue or bug, please report them via the GitHub Issues
+tracker.
+
+When reporting a bug, please provide the steps to reproduce it with the ptdump
+and ptxed tools contained in the tree.  Please include the command-line that was
+used and the exact error message.  You may also attach a trace file and the
+binaries necessary for reproducing the issue or write a small PTT test to
+demonstrate the issue.
+
+When providing trace snippets, please provide a few extra packets of context.
+
+Please also provide the processor family and model on which the trace was
+recorded and the version of the decoder that was used to decode the trace.