Contributions are greatly welcomed! I originally forked this and tweaked things to better serve my needs, and I have no doubt you have improvements too!
When contributing, remember to be excellent to one another! If in doubt, please refer to the Code of Conduct below, taken from @todogroup/opencodeofconduct.
Having a Code of Conduct is our way to encourage good behavior and discourage bad behavior in our open source community.
This Code of Conduct outlines our expectations for participants of this project as well as steps to reporting unacceptable behavior. Our goal is to make explicit what we expect from participants in the open-source community as well as its leaders.
- We explicitly forbid harassment and abusive speech within this community.
- We request that incidents of misconduct be reported to this project's maintainers.
- We urge participants to refrain from using the community discussion forums to play out a fight.
Harassment, verbal abuse, and fighting harms the open-source community. This Code of Conduct articulates a set of behaviors that support a healthier approach to conflict and interaction.
We encourage participation from a large group of people who bring different perspectives to the project.
Open-source projects thrive on diverse perspectives. If one smart developer could code the whole project, we'd just hire that developer to write all the code. In reality, complex projects require a diverse perspectives; which you only get when you invite dissimilar people to participate in the group. When you bring people from different backgrounds together on complex projects tensions arise, sometimes leading to verbal abuse and even threats of violence. Establishing a Code of Conduct is one way to signify this project values the perspectives of many. We are committed to ensuring participants have an effective method of escalating reports of misconduct so that we can maintain a productive community for all participants.
We expect participants to communicate professionally and thoughtfully. We call out common situations where this is especially important. For example: when people disagree, when people join a project midstream, when people are unclear in their communication style, and when you feel the need to leave the community.
We expect participants in this community to conduct themselves professionally. Since our primary mode of communication is text on an online forum (e.g. issue, pull request, comment, email, or chat text) devoid of vocal tone, gestures, or other context that is often vital to understanding, it is especially important that you convey these attitudes in text. This includes the following behaviors:
- Assume positive intent. When someone posts something we expect community members will assume positive intent on the part of the post. We may choose to disagree with the idea and reject the suggestion, but we expect that it was made in order to be supportive of the community goals.
- Be respectful to participants. We expect participants will disagree on aspects of this project. Disagreements must remain professional. Even if we reject someone's idea, we continue to welcome their participation. And if your idea is rejected, be more persuasive not bitter.
- Seek to understand. Open Source projects can be learning experiences. When someone poses something you find disagreeable or you don't understand it, inquire about it. Ask, explore, challenge, and then assert if you agree or disagree.
- Be welcoming to new members. New members bring fresh perspectives. Many will raised questions that have been addressed before, You can point them to existing discussions for them to get up to speed. Don't punish them for being new to the project -- everyone is new to every project once.
- Be kind to beginners. Beginners use open source projects to get experience. They might not be talented coders yet, and projects should not accept poor quality code. But we were all beginners once, and we need to to reject code with kindness.
- Consider your impact on others. Your work will be used by others, and you depend on the work of others. We expect community members to be considerate and establish a balance their self-interest with communal interest.
- Use words carefully. We may not understand intent when you say something ironic. Poe's Law suggests that without an emoticon is it likely that someone will misinterpret sarcasm. We ask community members to communicate plainly.
- Exit with class. There may come a time where you stop believing in the project direction or get frustrated with the project leaders. You are always free to fork the code and create a competitive project. Open Source explicitly accommodates this. It does not have to be dramatic or bitter. Sometimes you just walk away, and it's OK.
We call out examples of behaviors which cause members to lose their good standing in the community. These include insulting people on the basis of their protected-class status, threatening words, or unwanted sexual attention. Rather than fighting back, please report every incident directly to the project maintainers.
Participants in this open source community remain in good standing when they do not conduct themselves in a manner that violates this Code of Conduct. Misconduct includes:
- Calling out project members by their identity or background in a deliberately negative or insulting manner. This includes but is not limited to slurs or insinuations related to protected or suspect classes such as race, color, citizenship, national origin, political belief, religion, sexual orientation, gender identity and expression, age, size, culture, ethnicity, genetic features, language, profession, membership of a national minority, mental or physical ability.
- Insulting remarks about a person's lifestyle practices.
- Threats of violence or intimidation or any project member.
- Unwanted sexual attention or behavior unsuitable for the topic of the open source project.
- Sustained disruption of discussion.
We cannot list all forms of harassment in an exhaustive manner, nor do we seek to declare some forms of harassment as benign or not worthy of action. Rather, if a project member feels harassed we ask they report the incident. The incident will be recorded and addressed. Furthermore, we insist that the victim of this harassment not address the issue in the forum in public, as this tends to intensify the problem for the parties in question and for the community as a whole.
Please follow the reporting process so that the maintainers can take action on your report. The maintainers will handle your issue with discretion. We respect your confidentiality for the purpose of protecting victims of abuse.
If you experience or witness misconduct, or have any other concerns about the conduct of members of this project, please report it by contacting us via email. All reports will be handled with discretion.
We ask that your report include:
- Your preferred contact information so we can reach out to you in case of questions. We cannot process anonymous reports.
- Names (real or username) of those involved in the incident.
- Your account of what occurred, and if you believe the incident is ongoing. If there is a publicly available record (e.g. a mailing list archive or a public IRC logger), please provide the link so that we can review it.
- Any additional information that may be helpful.
After filing a report, a representative will contact you personally, review the incident, follow up with any additional questions, and make a decision as to how to respond. If the person who is harassing you is part of the maintainers, they will recuse themselves from handling your incident. If the complaint originates from a member of the maintainers, it will be handled by a different member of the maintainers. We respect the confidentiality of all requests for the purpose of protecting victims of abuse.
This project will assign a respondent role responsible to accept and address misconduct issues. The respondent will apply measured response to remove harassers and harassment from this project. This code does not replace the ToS or AUP of the websites used to support this project. We acknowledge that many participants are also subject to terms of employment which may govern their online expressions.
Each project that implements this code of conduct agrees to assign the role of maintainers to at least one member of the project who has admin rights on the project and legal rights on the project copyright. The maintainers is empowered restrict access or privileges to the project if needed. Since this project is governed by an open source license, any participant may fork the code at any time under the terms of the project license.
The mission of the maintainers is to maintain the productive collaboration that takes place on this open source community. Its goal is to preserve the project if possible, and will restrict or remove participation from members who disrupt the project. The maintainers is tasked with using its judgement to meet its mission, and this is highly dependent upon their understanding of the situation and their wisdom. Should they succeed, this project will be more resilient, and successfully meet its goals.
This code does not replace the terms of service or acceptable use policies that may apply to the websites used to support this community. Nor does this code apply to communications or actions that take place outside of the context of this community. Many of the participants in this project are subject to codes of conduct that apply to them based on their terms of employment. This code is a simple social-contract that informs participants of our social expectations.
We thank those who created codes of conduct and diversity statements that served as our inspiration. Whereas we created our own text, we were very inspired by what we learned reviewing existing work. We publish our version with the invitation to use, modify, and adapt this text to your needs.
We created this code based on input from many existing codes as well as input from many people. We expect that others will use what we created to inspire their efforts too. We call our the following codes as having the most significant impact to our process.
We acknowledge the hard work put into creating these codes, and point you to them for consideration. We chose to create our own text to suit the needs we felt are applicable to our communities. You are welcome to take our text and use it, copy it, customize it as you see fit for your community. Kindly give us credit for inspiring what you create.
You are invited to suggest edits, or to edit your own version to suit your needs. We believe codes of conduct improve over time, and like good software, evolve to handle new situations and conditions. Whereas there are already many such codes for various projects, we add our voice to the mix and hope this helps improve the social dynamics that take place in our communities. We are confident you will let us know if you disagree, and we ask that you provide that feedback in accord with the expected behaviors listed above.
This text is shared under the CC-BY-4.0 license.