Online collaboration of volunteers is the backbone of every open source project. Maintaining a productive, welcoming and fruitful environment and culture is therefore paramount to ensure the community communicates and growths in a healthy way. For most of you everything written here falls under the category of being “obvious” and “human dignity” as well as “common sense”. But sometimes it happens that there is someone in the community for whom it is not and then it’s good to have something to point this person to. Also consider that for people being new in their profession (e.g. students) who might not have worked in an online collaboration based community before everything is new, overwhelming and potentially frightening. For those the Code of Conduct shall provide some level of security and guidance. It outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. Obviously the same rules that apply for online communication apply for physical/personal meetings.
Remember that a community where people feel uncomfortable is not a productive one. In very technical projects people often have strong opinions. That's OK but don't let it get in the way listening/hearing other people and their opinions and feedback/thoughts. Please recognize that criticism of your statements is not a personal attack on you. If you feel that someone has attacked you, or offended your personal dignity, please don't “hit back” with another personal attack. That tends to start a vicious circle of escalating verbal aggression. A private response, politely stating your feelings as feelings, and asking for peace, may calm things down. Write it, set it aside for hours or a day, revise it to remove the anger, and only then send it.
If someone asks for help it is because they need it. Do politely suggest specific documentation or more appropriate venues where appropriate, but avoid aggressive or vague responses such as "RTFM". There are no stupid questions - if someone did not understand an explanation try to explain it from a different angle or ask which particular points are understood/not understood. Some peoples thinking is very visually oriented so maybe a drawing, block diagram can make all the difference. Don't make fun of anyone, don't question their intelligence, don't call them names or point out their lack of understanding, etc. - not publicly and not privately.
Maintainers, group leaders or long time contributors obviously have earned credibility/authority in the project. Their word might seem to weight more in discussions or a decision finding process but they should never abuse this power, rather be aware that (new) members or candidates interested in joining might look up to them and take anything they say for granted. New members might also be intimidated by such authority. This means it's extra important that people in this position act as role models of being welcoming, including, fair and approachable.
Remember that decisions are often a difficult choice between competing priorities. If you disagree, please do so politely. If something seems outrageous, check that you did not misinterpret it. Ask for clarification, but do not assume the worst.
Please be especially kind to other contributors when saying they made a mistake. Programming means making lots of mistakes, and we all do so — this is why regression tests are useful. Conscientious programmers make mistakes, and then fix them. It is helpful to show contributors that being imperfect is normal, so we don't hold it against them, and that we appreciate their imperfect contributions though we hope they follow through by fixing any problems in them.
Avoid repeating what has been said already. Making a conversation larger makes it difficult to follow, and people often feel personally attacked if they receive multiple messages telling them the same thing.
The primary project communication language is English. Local groups or collaborating developers from the same country shall of course use their preferred language among themselves but should keep in mind to involve the rest of the community whenever possible and then communicate in English. Everyone should be aware that a lot of community members are not native speakers so unnecessary complex, ambiguous, localized or slang language should be avoided to prevent misunderstandings. If you know your English is not the best - don't worry about it - no need to apologize - nobody will judge you for your grammar, vocabulary, etc. - we are here to exchange ideas, stories, thoughts and developments - not nit-pick anyone's imperfections.
People in this community come from all parts of the world, different cultures, have gone through different kinds of educations and have a different background/profession. Often the same word for one person can mean something completely different for another person. This can sometimes make communication a challenge and misunderstandings are kind of expected/natural. By being aware of that fact and embracing our diversity you can help this not becoming a real issue.
The following behaviors are considered harassment and are unacceptable within our community:
Unacceptable behavior from any community member, including sponsors/customers and those with decision-making authority, will not be tolerated. Anyone asked to stop unacceptable behavior is expected to comply immediately. If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning.
If you are subject to or witness unacceptable behavior, or have any other concerns, please notify an association board member as soon as possible.
This document is licensed under the Creative Commons Attribution - Share Alike 3.0 License.