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.
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.
- Goals of this project
- Types of contributions we're looking for
- Ground rules & expectations
- How to contribute
- Setting up your environment
- Contribution review process
- Community
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.
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!
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. 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.
If you'd like to contribute, start by searching through the issues and pull requests 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.
This site is powered by Jekyll. Running it on your local machine requires a working Ruby installation with Bundler.
Once you have that set up, run:
script/bootstrap
script/server
…and open http://localhost:4000 in your web browser.
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!
Handbook discussions take place on this repository's Issues and Pull Requests 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.