From 5acc423517ec9d53e6cf2cd1b968405e0972c745 Mon Sep 17 00:00:00 2001 From: David Benjamin Date: Wed, 10 Feb 2016 16:32:25 -0500 Subject: [PATCH] Add a CONTRIBUTING.md file. Change-Id: I4e1ed0aaddf4dc516a81155ef62dba138f8495ae Reviewed-on: https://boringssl-review.googlesource.com/7120 Reviewed-by: Adam Langley --- CONTRIBUTING.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 1 + 2 files changed, 50 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..8907cc98 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,49 @@ +Want to contribute? Great! First, read this page (including the small print at the end). + +### Before you contribute +Before we can use your code, you must sign the +[Google Individual Contributor License Agreement](https://cla.developers.google.com/about/google-individual) +(CLA), which you can do online. The CLA is necessary mainly because you own the +copyright to your changes, even after your contribution becomes part of our +codebase, so we need your permission to use and distribute your code. We also +need to be sure of various other things—for instance that you'll tell us if you +know that your code infringes on other people's patents. You don't have to sign +the CLA until after you've submitted your code for review and a member has +approved it, but you must do it before we can put your code into our codebase. +Before you start working on a larger contribution, you should get in touch with +us first via email with your idea so that we can help out and possibly guide +you. Coordinating up front makes it much easier to avoid frustration later on. + +### Code reviews +All submissions, including submissions by project members, require review. We +use [Gerrit](https://boringssl-review.googlesource.com) for this purpose. + +#### Setup +If you have not done so on this machine, you will need to set up a password for +Gerrit. Sign in with a Google account, visit +[this link](https://boringssl.googlesource.com/), and click the "Generate +Password" link in the top right. You will also need to prepare your checkout to +[add Change-Ids](https://gerrit-review.googlesource.com/Documentation/cmd-hook-commit-msg.html) +on commit. Run: + + curl -Lo .git/hooks/commit-msg https://boringssl-review.googlesource.com/tools/hooks/commit-msg + chmod u+x .git/hooks/commit-msg + +#### Uploading changes +To upload a change, push it to the special `refs/for/master` target: + + git push origin HEAD:refs/for/master + +The output will then give you a link to the change. Add `agl@google.com` and +`davidben@google.com` as reviewers. + +Pushing a commit with the same Change-Id as an existing change will upload a new +version of it. (Use the `git rebase` or `git commit --amend` commands.) + +For more detailed instructions, see the +[Gerrit User Guide](https://gerrit-review.googlesource.com/Documentation/intro-user.html). + +### The small print +Contributions made by corporations are covered by a different agreement than +the one above, the +[Software Grant and Corporate Contributor License Agreement](https://cla.developers.google.com/about/google-corporate). diff --git a/README.md b/README.md index d8a65c22..e306da9b 100644 --- a/README.md +++ b/README.md @@ -28,3 +28,4 @@ There are other files in this directory which might be helpful: * [STYLE.md](/STYLE.md): rules and guidelines for coding style. * include/openssl: public headers with API documentation in comments. Also [available online](https://commondatastorage.googleapis.com/chromium-boringssl-docs/headers.html). * [FUZZING.md](/FUZZING.md): information about fuzzing BoringSSL. + * [CONTRIBUTING.md](/CONTRIBUTING.md): how to contribute to BoringSSL.