Code of Conduct

= DRAFT DOCUMENT, SUBJECT TO COMMUNITY REVIEW =

Overview
The OpenZFS community values respectful, welcoming behavior towards everyone. This enables our members to thrive and contribute, and encourages new participants to join our community.

Although most experiences within the community are positive, we all have moments when we are unaware of our tone or are too busy to choose our words carefully. The goal of this code of conduct is to set the tone for the community, and provide a process to resolve conflicts when they occur.

When conflicts do occur, the first step will be to understand the underlying issue from the perspective of all those involved in the incident. The most likely resolution will be a private, gentle reminder of the community values. While the community does have the recourse to remove those who do not comply with the code of conduct, there are likely to be many more avenues pursued before we get to that point.

Some individuals face more systemic challenges to their participation than others, and we strive to create a space that encourages participation regardless of gender identity and expression, sexual orientation, disabilities, neurodiversity, physical appearance, body size, ethnicity, nationality, race, age, religion, and similar personal characteristics.

Like the technical community as a whole, the OpenZFS team and community is made up of a mixture of professionals and volunteers from all over the world, working on every aspect of the mission - including mentorship, teaching, and connecting people.

Diversity is one of our huge strengths, but it can also lead to communication issues and unhappiness. To that end, we have a few ground rules that we ask people to adhere to. This code applies equally to founders, mentors and those seeking help and guidance.

Applicable Spaces
The OpenZFS Code of Conduct applies to spaces associated with the OpenZFS, ZFSonLinux, ZFSonOSX, and ZFSonWindows projects, including: In addition, conduct outside these spaces may affect a person's ability to participate within them.
 * The OpenZFS Developer Summit conference
 * GitHub (github.com/openzfs, github.com/zfsonlinux, github.com/openzfsonosx, github.com/openzfsonwindows) (including PR’s, Issues, and Wikis)
 * Mailing lists (developer@open-zfs.org, zfs-discuss@lists.zfsonlinux.org)
 * The Open-ZFS.org wiki
 * IRC (#openzfs, #zfsonlinux, #openzfs-osx, #openzfs-windows)
 * The OpenZFS Slack workspace (openzfs.slack.com)
 * OSX Forum (openzfsonosx.org/forum)
 * OpenZFS Leadership meeting, office hours, and other video calls

Guidelines
This isn’t an exhaustive list of ways to behave and things that you can’t do. Rather, take it in the spirit in which it’s intended - a guide to make it easier to enrich the technical communities in which we participate.
 * Be friendly and patient.
 * Be welcoming. We strive to be a community that welcomes and supports people of all backgrounds and identities. This includes members of any race, ethnicity, culture, national origin, color, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability.
 * Be considerate. Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language.
 * Be respectful. Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. It’s important to remember that a community where people feel uncomfortable or threatened is not a productive one. Members of the OpenZFS community should be respectful when dealing with other members as well as with people outside the OpenZFS community.
 * Be careful in the words that you choose. We are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants, even when you’ve been hurt by someone. Harassment and other exclusionary behavior aren't acceptable. This includes, but is not limited to:
 * Violent threats or language directed against another person.
 * Discriminatory language in any form.
 * When joking, make sure what you say is not an insult to some people.
 * Posting sexual or violent material.
 * Posting (or threatening to post) other people's personally identifying information ("doxing").
 * Personal insults, especially those using racist or sexist terms.
 * Unwelcome sexual attention.
 * Advocating for, or encouraging, any of the above behavior.
 * Repeated harassment of others. In general, if someone asks you to stop, then stop.
 * When we disagree, try to understand why. Disagreements, both social and technical, happen all the time and OpenZFS is no exception. It is important that we resolve disagreements and differing views constructively. Remember that we’re different. The strength of OpenZFS comes from its varied community, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to err and blaming each other doesn’t get us anywhere. Instead, focus on helping to resolve issues and learning from mistakes.
 * Be Constructive. When you encounter an aspect of the project (code, procedures, documentation) that is not as good as it could be, help others to understand the problem and how it can be resolved. When severe technical problems cause frustration, avoid negative emotional language, and instead describe the impact of the problem. Don’t attack the person or company that wrote the code. Focus on finding a solution to the problem.

Conclusion
We believe that healthy debate and disagreement are essential to our project and community. However, it is never okay to be disrespectful. We value diverse opinions, but we value respectful behavior more.

We commit to enforcing and improving the Code of Conduct.

If you believe someone is violating the code of conduct, we ask that you report it by emailing conduct@open-zfs.org. For more details about what to include in your report, please see our Reporting Guide.

Additional Information about the Code of Conduct

 * Reporting Guide
 * Working Group and Code of Conduct Mechanics

Attribution
Borrowed heavily from the great work done by Django, Contributor Covenant, Go, Stack Overflow, and the [http://web.archive.org/web/20141109123859/http://speakup.io/coc.html Speak Up! project]. Text all covered by CC-BY-SA