diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..79fa7a050 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,160 @@ +# Converge Code of Conduct + + +**Table of Contents** + +- [Converge Code of Conduct](#converge-code-of-conduct) + - [Our Pledge](#our-pledge) + - [Our Standards](#our-standards) + - [Do These Things](#do-these-things) + - [Consideration](#consideration) + - [Respect](#respect) + - [Asking for help](#asking-for-help) + - [Responsibility](#responsibility) + - [Attribution](#attribution) + - [Explictly Unacceptable Behavior](#explictly-unacceptable-behavior) + - [Our Responsibilities](#our-responsibilities) + - [Scope](#scope) + - [Enforcement](#enforcement) + - [Attribution](#attribution) + - [License](#license) + + + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of +experience, nationality, personal appearance, race, religion, or sexual identity +and orientation. + +## Our Standards + +### Do These Things + +Examples of behavior that contributes to creating a positive environment +include: + +#### Consideration + +- Experience levels vary. Don't assume that someone can understand your + particular explanation. +- Keep in mind that English is a second language for many users. +- Be respectful of differing viewpoints and experiences + +#### Respect + +- It is possible to strongly disagree without using harsh language or resorting + to derogatory comments. If you disagree with someone, disagree with the + argument, not the character of the person. +- If your work receives criticism, receive it with grace and… +- Remember that everyone is entitled to an opinion. +- Using welcoming and inclusive language in all your interactions. + +#### Asking for help + +- If you don't know how to proceed with an aspect of development or + documentation, ask for help! Always read the documentation, but don't be + afraid to ask "silly" questions. +- When asking for help, take advantage of the resources that are available to + you, including the wiki, issue list, and Slack channel. + +#### Responsibility + +- If you did something wrong, apologize to the affected. Do your best to fix the + issue and, if you can't, ask for help! +- Show empathy towards other community members. +- Focus on what is best for the community. + +#### Attribution + +- Give proper credit to everyone involved in any contribution to the project, be + it documentation, tests, code, or anything in between. +- If someone fails to give adequate contribution, gently remind them while being + considerate. Assume that the omission was accidental, not malicious. + +### Explictly Unacceptable Behavior + +- The use of sexualized language or imagery and unwelcome sexual attention or + advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic + address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, or to ban temporarily or permanently any +contributor for other behaviors that they deem inappropriate, threatening, +offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team +at [info@aster.is](mailto:info@aster.is). All complaints will be reviewed and +investigated and will result in a response that is deemed necessary and +appropriate to the circumstances. The project team is obligated to maintain +confidentiality with regard to the reporter of an incident. Further details of +specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is primarily adapted from +the [Contributor Covenant][homepage], version 1.4, available +at [http://contributor-covenant.org/version/1/4][version]. + +The five "do these things" principles are adapted from +the [Asterisk Community Code of Conduct](asterisk-coc) + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ +[asterisk-coc]: https://wiki.asterisk.org/wiki/display/AST/Asterisk+Community+Code+of+Conduct + +### License + +The Contributor Covenant is licensed as follows: + +> The MIT License (MIT) +> +> Copyright (c) 2014 Coraline Ada Ehmke +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..68a561d47 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,77 @@ +# Contribution Guide + +Hi! Thanks for being interested in contributing to Converge. We're really happy +to have you (we have mini-parties in Slack whenever someone external opens a +PR!) + +Here's a quick guide for how you should expect the contribution process to go. +Above all, the core team and everyone involved with Converge is expected to +follow the [code of conduct](CODE_OF_CONDUCT.md). + + +**Table of Contents** + +- [Contribution Guide](#contribution-guide) + - [Filing Bugs and Getting Help](#filing-bugs-and-getting-help) + - [Feature Requests](#feature-requests) + - [Contributing Features and Fixes](#contributing-features-and-fixes) + - [Documentation](#documentation) + - [Code of Conduct](#code-of-conduct) + + + +## Filing Bugs and Getting Help + +Have you found an issue with Converge? Boo, but thanks! Issues are free, so open +one. It'd help us out if you'd search for your issue before opening a new one, +but if in doubt just go ahead and open one. We'll merge them as necessary. + +When you're opening an issue, it'll save everyone some time if you could attach +the output of `converge version` and the output of the command you're having +trouble with at the DEBUG level (set `--log-level=debug` and censor if +necessary). If you don't attach that info our first comment will probably be +asking for it, so doing that will speed up the process of getting you unblocked. + +Once you open an issue, it can help to also mention your issue in +the [Converge Slack channel](http://converge-slack.aster.is). This will let us +talk back and forth and figure things out even faster. + +## Feature Requests + +We really want to hear how you want to use Converge, and what you think it could +do for you. That said, we often have a pretty good idea of the features on our +roadmap. If Converge doesn't do something you want, open an issue and we'll +figure out how it can fit into the overall picture. + +### Contributing Features and Fixes + +If you just want to contribute a new feature yourself: wow, thanks! But please +still open an issue before you begin work so we can make sure that we're not +already working on something similar. + +Bug fixes are also especially welcome, probably even more than new features! If +you find something wrong and easily correctable in our code, a small diff is +often much easier to reason about than describing a problem and solution. + +That said, we have a number of bars for any contribution to clear: + +- It must pass the entire test suite and linting (including gofmt) +- If it introduces a new feature or changes an existing feature, that feature + must be documented (how else will people find out about your awesome work?) +- It can't change existing syntax except in extremely well-reasoned cases. If + you're changing the syntax of existing features, definitely open an issue + first so we can discuss. + +#### Documentation + +When contributing documentation, please just change the markdown files in +`docs_source`. If your PR includes the changed HTML under `docs` it's much +harder to review. Pretty please? + +## Code of Conduct + +Participation in the development process of Converge is subject to +the [code of conduct](CODE_OF_CONDUCT.md). Please familiarise yourself with that +document. If nothing else, it will let you know what to do if something goes +terribly wrong. But aside from that, the code has positive standards of how +community members should behave in their interactions with others.