Skip to content

Commit

Permalink
Add contributing doc
Browse files Browse the repository at this point in the history
  • Loading branch information
fhunleth committed Jun 2, 2019
1 parent da099ca commit 0468e70
Showing 1 changed file with 123 additions and 0 deletions.
123 changes: 123 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Contributing to Nerves

We're very excited that you want to contribute to the Nerves project! There are
a lot of ways you can help out, some of which you may not have even considered
as being a contribution to the project.

Most importantly, we want the Nerves community to be welcoming and helpful to
everyone. We expect that all members of our community follow our [Code of
Conduct](CODE_OF_CONDUCT.md), regardless of whether the contribution is a
discussion in a Pull Request on GitHub, a conversation in the #nerves channel on
the [Elixir Slack], or any of the other items outlined below.

[Elixir Slack]: https://elixir-slackin.herokuapp.com/

## How you can help

We created this document to help you quickly turn your desire to contribute into
action. The sections below are roughly ordered by the amount of time investment
required, but we truly value contributions of all sizes. Many small
contributions by a large number of people will grow a stronger community and be
more inclusive for everyone.

## Try using Nerves and give us feedback

Whether you're just getting started or you've been using Nerves at work for a
long time, we would love to know where it's not meeting your needs.

* Is something missing, confusing, or wrong on [our website] or our [Getting
Started Guide]?
* Were you trying to create a custom [Nerves system] and it didn't work like you
expected?
* Did you have fun using Nerves and you just want to tell someone about it?

There are so many ways to communicate, each with advantages and disadvantages.
We prefer communication in the following order, but we understand that you may
have limited time to contribute and we would rather have one of the
less-preferred items than nothing at all.

One important exception is that **if you think you've found a security
vulnerability, do not open a GitHub Issue!** Please disclose these by emailing
[security@nerves-project.org] instead, so that we can work on releasing a fix
before the vulnerability is disclosed publicly.

1. Pull Request on GitHub

If you're able to send us an improvement directly to the [documentation
source] or [website source] code, that is extremely helpful! Don't worry
about assigning labels, unless you also want to contribute to the [Triage
process] outlined below.

Also, be sure to check out the guidelines below about contributing code and
documentation changes.

2. Issues on GitHub

If you think you might have found a bug or documentation problem that you're
not sure how to solve, open an Issue on the relevant GitHub repository. The
Nerves project has a lot of [repositories], so if you're not sure which one
is most relevant, it's OK to just open it in the main [nerves repository].

If you have a question about how to use Nerves, we prefer that you use the
[Nerves section] on the [Elixir Forum] or the #nerves channel on the [Elixir
Slack].

3. Questions on [Elixir Forum] (ideally in the [Nerves section])

If questions and answers are captured in a forum like this, it makes them
much easier for people to find later via search engine, as opposed to
searching through a real-time conversation stream like Slack.

4. Blog about your project

We love to see how people are using Nerves for fun and and for work. If you
blog about a Nerves-based project, please consider posting a link somewhere
that the community will notice it, like [Elixir Forum], [ElixirStatus], or
the #nerves channel on the [Elixir Slack].

5. Chat with us on Slack

We have a #nerves channel on the [Elixir Slack]. We'd be happy to have you
drop in and let us know if you have questions or want to talk about a
project you're working on, or thinking about working on.

[our website]: http://www.nerves-project.org
[Getting Started Guide]: https://hexdocs.pm/nerves/getting-started.html
[Nerves system]: https://hexdocs.pm/nerves/systems.html
[documentation source]: https://github.com/nerves-project/nerves/tree/master/docs
[website source]: https://github.com/nerves-project/nerves-project.github.com
[Triage process]: #issue-and-pull-request-triage
[repositories]: https://github.com/nerves-project
[nerves repository]: https://github.com/nerves-project/nerves
[Elixir Forum]: https://elixirforum.com
[Nerves section]: https://elixirforum.com/c/nerves-forum
[ElixirStatus]: http://elixirstatus.com/
[security@nerves-project.org]: mailto:security@nerves-project.org

## Answer questions on the Elixir Forum and Slack channel

It takes a lot of time and energy to understand the context of a problem and
determine an appropriate solution. If you see a question posted on the [Elixir
Forum], you can help by:

* Making sure it shows up in the [Nerves section]
* Asking clarifying questions to ensure that others will understand the context
* Offering your own advice or solutions if you can
* Pinging the core team in the #nerves-dev channel on Slack if it's stale

If you see a question posted in the #nerves channel on Slack, you can help by:

* Asking clarifying questions to ensure that others will understand the context
* Politely reminding the person that the answer will be more easily found later
by others if it's posted to the [Elixir Forum] instead
* Helping to get it posted to the Forum or converted to a GitHub Issue to
capture or summarize the discussion in Slack about it

## Become a Backer or Sponsor through OpenCollective

The Nerves project has set up an [OpenCollective site] that allows individuals
and companies to make one-time or recurring financial contributions to cover the
cost of maintaining the project.

[OpenCollective site]: https://opencollective.com/nerves-project

0 comments on commit 0468e70

Please sign in to comment.