Skip to content

Add CONTRIBUTING.md #85

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 31, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 71 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,61 @@
# Contributing
# Contributing to this Handbook

Please note that this project is released with a [Contributor Code of Conduct](./CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
Thanks for checking out the Open Source Handbook! We're excited to hear and learn from you. Your experiences will benefit others who are reading and using this Handbook.

## Running the site locally
We've put together the following guidelines to: 1) communicate the goals of this project and 2) help you figure out where you can best be helpful.

## Table of Contents
1. [Goals of this project](#goals-of-this-project)
2. [Types of contributions we're looking for](#types-of-contributions-were-looking-for)
3. [Ground rules & expectations](#ground-rules--expectations)
4. [How to contribute](#how-to-contribute)
5. [Setting up your environment](#setting-up-your-environment)
6. [Contribution review process](#contribution-review-process)
7. [Community](#community)

## Goals of this project

We created this Handbook for individuals, communities, and companies that want to successfully run and maintain an open source project. The content was originally created and curated by GitHub, along with input from outside community reviewers, but it is not specific to GitHub products.

Here are some guiding principles for the Handbook:

* **Approachability:** Don't assume reader has prior knowledge
* **Brevity:** Keep it simple, link to outside content for deeper dives
* **Curation:** Amplify community best practices vs. any individual's point of view

This Handbook is a jumping off point for people who want to learn how to run an open source project. It should give readers enough information to get started, but it doesn't attempt to answer everything in detail.

This Handbook also aggregates community best practices, *not* what GitHub (or any other individual or entity) thinks is best. Therefore, we try to use examples and quotations from others to illustrate our points. Many sections also link to "Further Reading" at the end, to surface relevant writing and perspectives that live elsewhere on the web.

## Types of contributions we're looking for

There are many ways you can contribute to the Handbook:

* Fix editorial inconsistencies or inaccuracies
* Revise language to be more approachable and friendly
* Translate the Handbook into other languages
* Add links to other case studies or examples that help illustrate a point (either inline, or under "Further Reading")
* Write a new article (please open an issue to discuss before writing!)

Interested in making a contribution? Read on!

## Ground rules & expectations

Before we get started, here are a few things we expect from you (and that you should expect from others):

* Be kind and thoughtful in your conversations around this project. We all come from different backgrounds and projects, which means we likely have different perspectives on "how open source is done." Try to listen to others rather than convince them that your way is correct.
* This Handbook is released with a [Contributor Code of Conduct](./CODE_OF_CONDUCT.md). By participating in this project, you agree to abide by its terms.
* If you open a pull request, please ensure that your contribution passes all tests. If there are test failures, you will need to address them before we can merge your contribution.

## How to contribute

If you'd like to contribute, start by searching through the [issues](https://github.com/github/open-source-handbook/issues) and [pull requests](https://github.com/github/open-source-handbook/pulls) to see whether someone else has raised a similar idea or question.

If you don't see your idea listed, and you think it fits into the goals of this handbook, do one of the following:
* **If your contribution is minor,** such as a typo fix, you can make the change and open a pull request.
* **If your contribution is major,** such as a new article or case study, start by opening an issue first. That way, other people can weigh in on the discussion before you do any work.

## Setting up your environment

This site is powered by [Jekyll](jekyllrb.com). Running it on your local machine requires a working [Ruby](https://www.ruby-lang.org/en/) installation with [Bundler](http://bundler.io/).

Expand All @@ -11,4 +64,18 @@ Once you have that set up, run:
script/bootstrap
script/server

…and open http://localhost:4000 in our web browser.
…and open http://localhost:4000 in your web browser.

## Contribution review process

This repo is currently maintained by @nayafia and @bkeepers, who have commit access. They will likely review your contribution.

While we enjoy maintaining this project and are excited that you want to participate, we have full-time jobs and competing priorities. If you haven't heard from anyone in 10 days, feel free to bump the thread or @-mention a maintainer to review your contribution.

If you've been active on this project (such as writing helpful content, answering others' questions, or triaging issues) and would like a more formal leadership role, open up an issue and let's talk about it!

## Community

Handbook discussions take place on this repository's [Issues](https://github.com/github/open-source-handbook/issues) and [Pull Requests](https://github.com/github/open-source-handbook/pulls) sections. Anybody is welcome to join these conversations. There is also a mailing list for regular updates and discussion.

Wherever possible, do not take these conversations to private channels, including contacting the maintainers directly. Keeping communication public means everybody can benefit and learn from the conversation.