summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorBen Straub <bs@github.com>2012-11-20 20:59:58 -0700
committerBen Straub <bs@github.com>2012-11-20 21:11:41 -0700
commit41b00cccb14ad1ffae703fe0f7f5843a5ec7b5b0 (patch)
tree71bda9138592a1c13bd2d77664fad941630113a4 /CONTRIBUTING.md
parent560cc1e1ed0fb29679c32434490446bb6fd5dc17 (diff)
downloadlibgit2-41b00cccb14ad1ffae703fe0f7f5843a5ec7b5b0.tar.gz
Add contributing guidelines
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md47
1 files changed, 47 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 000000000..488732a62
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,47 @@
+# Welcome to libgit2!
+
+We're making it easy to do interesting things with git, and we'd love to have
+your help.
+
+## Discussion & Chat
+
+We hang out in the #libgit2 channel on irc.freenode.net.
+
+## Reporting Bugs
+
+First, know which version of libgit2 your problem is in. Compile and test
+against the `development` branch to avoid re-reporting an issue that's already
+been fixed.
+
+It's *incredibly* helpful to be able to reproduce the problem. Please include
+a bit of code and/or a zipped repository (if possible). Note that some of the
+developers are employees of GitHub, so if your repository is private, find us
+on IRC and we'll figure out a way to help you.
+
+## Pull Requests
+
+Life will be a lot easier for you if you create a named branch for your
+contribution, rather than just using your fork's `development`.
+
+It's helpful if you include a nice description of your change with your PR; if
+someone has to read the whole diff to figure out why you're contributing in the
+first place, you're less likely to get feedback and have your change merged in.
+
+## Porting Code From Other Open-Source Projects
+
+The most common case here is porting code from core Git. Git is a GPL project,
+which means that in order to port code to this project, we need the explicit
+permission of the author. Check the
+[`git.git-authors`](https://github.com/libgit2/libgit2/blob/development/git.git-authors)
+file for authors who have already consented; feel free to add someone if you've
+obtained their consent.
+
+Other licenses have other requirements; check the license of the library you're
+porting code *from* to see what you need to do.
+
+## Styleguide
+
+We like to keep the source code consistent and easy to read. Maintaining this
+takes some discipline, but it's been more than worth it. Take a look at the
+[conventions file](https://github.com/libgit2/libgit2/blob/development/CONVENTIONS).
+