Skip to content

Commit

Permalink
Address FAB-1514 updating CONTRIBUTING.md
Browse files Browse the repository at this point in the history
Bring CONTRIBUTING.md up to current practices, refreshing
links to relocated wiki, code of conduct, and adding a
bit more clarity.

Change-Id: I36a9d6e0623e74148d034688d460bc4314e148a7
Signed-off-by: Christopher Ferris <chrisfer@us.ibm.com>
  • Loading branch information
christo4ferris committed Jan 4, 2017
1 parent 06c336d commit 557afd9
Showing 1 changed file with 38 additions and 34 deletions.
72 changes: 38 additions & 34 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,26 @@
We welcome contributions to the Hyperledger Project in many forms, and
there's always plenty to do!

First things first, please review the Hyperledger Project's [Code of
Conduct](https://github.com/hyperledger/hyperledger/wiki/Hyperledger-Project-Code-of-Conduct)
First things first, please review the Hyperledger Project's [Code of Conduct](https://wiki.hyperledger.org/community/hyperledger-project-code-of-conduct)
before participating. It is important that we keep things civil.

## Getting a Linux Foundation account

In order to participate in the development of the Hyperledger Fabric project,
you will need an [LF account](Gerrit/lf-account.md). You will need to use
your LF ID to grant you access to all the Hyperledger community tools, including
[Gerrit](https://gerrit.hyperledger.org) and [Jira](https://jira.hyperledger.org).
you will need a [Linux Foundation account](Gerrit/lf-account.md). You will need
to use your LF ID to access to all the Hyperledger community development tools,
including [Gerrit](https://gerrit.hyperledger.org),
[Jira](https://jira.hyperledger.org) and the
[Wiki](https://wiki.hyperledger.org/start) (for editing, only).

### Setting up your SSH key

For Gerrit, you will want to register your public SSH key. Login to
[Gerrit](https://gerrit.hyperledger.org)
with your LF account, and click on your name in the upper right-hand corner
and then click 'Settings'. In the left-hand margin, you should see a link for
'SSH Public Keys'. Copy-n-paste your [public SSH key](https://help.github.com/articles/generating-an-ssh-key/)
For Gerrit, before you can submit any change set for review, you will need to
register your public SSH key. Login to [Gerrit](https://gerrit.hyperledger.org)
with your [LFID](Gerrit/lf-account.md), and click on your name in the upper
right-hand corner of your browser window and then click 'Settings'. In the
left-hand margin, you should see a link for 'SSH Public Keys'. Copy-n-paste
your [public SSH key](https://help.github.com/articles/generating-an-ssh-key/)
into the window and press 'Add'.

## Getting help
Expand All @@ -30,55 +32,57 @@ debugging a problem or working out a fix to an issue, our
[community](https://www.hyperledger.org/community) is always eager to help. We
hang out on [Slack](https://hyperledgerproject.slack.com/), IRC (#hyperledger on
freenode.net) and the [mailing lists](http://lists.hyperledger.org/). Most of us
don't bite ;-) and will be glad to help.
don't bite :grin: and will be glad to help. The only silly question is the one
you don't ask. Questions are in fact a great way to help improve the project as
they highlight where our documentation could be clearer.

## Requirements and Use Cases

We have a [Requirements
WG](https://github.com/hyperledger/hyperledger/wiki/Requirements-WG) that is
WG](https://wiki.hyperledger.org/groups/requirements/requirements-wg) that is
documenting use cases and from those use cases deriving requirements. If you are
interested in contributing to this effort, please feel free to join the
discussion in
[slack](https://hyperledgerproject.slack.com/messages/requirements/).

## Reporting bugs

If you are a user and you find a bug, please submit an
[issue](https://github.com/hyperledger/fabric/issues). Please try to provide
If you are a user and you find a bug, please submit an issue using
[JIRA](https://jira.hyperledger.org). Please try to provide
sufficient information for someone else to reproduce the issue. One of the
project's maintainers should respond to your issue within 24 hours. If not,
please bump the issue and request that it be reviewed.
please bump the issue with a comment and request that it be reviewed. You can
also post to the `#fabric-maintainers` channel in
[slack](https://hyperledgerproject.slack.com/messages/requirements/).

## Fixing issues and working stories

Review the [issues list](https://github.com/hyperledger/fabric/issues) and find
something that interests you. You could also check the ["help
wanted"](https://github.com/hyperledger/fabric/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)
and ["good first
bug"](https://github.com/hyperledger/fabric/issues?q=is%3Aissue+is%3Aopen+label%3Agood-first-bug)
lists. It is wise to start with something relatively straight forward and
achievable. Usually there will be a comment in the issue that indicates whether
someone has already self-assigned the issue. If no one has already taken it,
then add a comment assigning the issue to yourself, eg.: `I'll work on this
issue.`. Please be considerate and rescind the offer in comments if you cannot
finish in a reasonable time, or add a comment saying that you are still actively
working the issue if you need a little more time.
something that interests you. You could also check the
["help-wanted"](https://jira.hyperledger.org/issues/?jql=project%20%3D%20Fabric%20AND%20labels%20%3D%20help-wanted)
list. It is wise to start with something relatively straight forward and
achievable, and that no one is already assigned. If no one is assigned,
then assign the issue to yourself. Please be considerate and rescind the
assignment if you cannot finish in a reasonable time, or add a comment
saying that you are still actively working the issue if you need a little
more time.

## Working with a local clone and Gerrit

We are using [Gerrit](https://gerrit.hyperledger.org/r/#/admin/projects/fabric)
to manage code contributions. If you are unfamiliar, please review [this
document](Gerrit/gerrit.md) before proceeding.
to manage code contributions. If you are unfamiliar, please review this
[document](Gerrit/gerrit.md) before proceeding.

After you have familiarized yourself with `Gerrit`, and maybe played around with
the `lf-sandbox` project, you should be ready to set up your local [development
environment](dev-setup/devenv.md). We use a Vagrant-based approach to
development that simplifies things greatly.
the `lf-sandbox`
[project](https://gerrit.hyperledger.org/r/#/admin/projects/lf-sandbox,branches),
you should be ready to set up your local development
[environment](dev-setup/devenv.md).

## Coding guidelines

Be sure to check out the language-specific [style
guides](Style-guides/go-style.md) before making any changes. This will ensure a
smoother review.
Be sure to check out the language-specific [style guides](Style-guides/go-style.md)
before making any changes. This will ensure a smoother review.

### Becoming a maintainer

Expand Down

0 comments on commit 557afd9

Please sign in to comment.