Code of Conduct

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. Racism has no place in our community. We strive to create a space that encourages participation regardless of ethnicity, culture, national origin, color, immigration status, socio-economic status, educational level, level of experience, neurodiversity, sexual orientation, gender identity and expression, age, body size, physical appearance, political belief, religion, and physical ability.

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 follow. 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, harmful conduct outside these spaces that negatively impacts members of the OpenZFS community (e.g., making discriminatory or threatening statements against individuals or groups of people) might affect a person’s ability to participate in the OpenZFS community.
 * 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, #zfsonlinux-social)
 * The OpenZFS Slack workspace (openzfs.slack.com)
 * OSX Forum (openzfsonosx.org/forum)
 * OpenZFS Leadership meeting, office hours, and other video calls

Guidelines
The Code of Conduct is not intended to enumerate in advance every possible situation in which there can be misconduct. If anyone feels that there has been any form of misconduct, they should feel encouraged to reach out to us, even in situations that are not explicitly stated in the Code of Conduct.
 * Be friendly and patient.
 * Be welcoming. Racism has no place in our community. We strive to create a space that encourages participation regardless of ethnicity, culture, national origin, color, immigration status, socio-economic status, educational level, level of experience, neurodiversity, sexual orientation, gender identity and expression, age, body size, physical appearance, political belief, religion, 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.
 * Jokes that could be received as insults by some people.
 * 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.
 * More common, less severe exclusionary word choices include:
 * Using emotionally charged language (including swearing and harsh, non-specific feedback). Instead, seek to use concrete descriptions with less emotional weight (e.g. "This can cause the kernel to panic on boot" instead of "this is super [expletive] broken").
 * Asserting someone else’s motivation. Instead, seek to understand others’ motivations and how that may lead them to different decisions than your own.


 * 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 of 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 isn't helpful. Instead, focus on helping to resolve issues and learn 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 emotionally charged 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