#Code of Conduct
As members of this Community, we recognize that our behavior is our choice and this choice will result in our culture.
We are a mixture of professionals and volunteers from all over the world, working on every aspect of the mission - including mentorship, teaching, and connecting people. Because we come together from so many different places and positions, we would like a single document that sets communal expectations.
This isn’t an exhaustive list of things that you can or can't do. Rather, take it in the spirit in which it’s intended - a guide to make it easier to enrich all of us and the technical communities in which we participate.
Participants are responsible for knowing and abiding by the following:
- We err on assuming contributors and users mean well. This assumption enables us to discuss anything in the open in a mutually respectful way.
- Whether you're a regular contributor or a newcomer, all members care about making this community a safe place for you and we've got your back.
- We are committed to providing a friendly, safe, and welcoming environment for all, regardless of gender, sexual orientation, disability, ethnicity, religion, or similar personal characteristic.
- We will exclude you from interaction if you insult, demean, or harass anyone. That is not welcome behavior. We interpret the term "harassment" as including the definition in the Citizen Code of Conduct; if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don't tolerate behavior that excludes people in socially marginalized groups.
- Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact one of the channel ops, event organizers, or any member of the Community team at Basho.
- If you believe someone is violating the code of conduct, we ask that you report it by emailing email@example.com. Your privacy will be respected.
These notes help when discussing architecture:
- Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer.
- We respect data. If you have solid ideas you want to experiment with, make a fork and see how it works.
Additional Community Beliefs
This Code of Conduct presents a summary of the shared values and “common sense” thinking in our community. The basic social ingredients that hold our project together include:
- Be considerate
- Be respectful
- Be collaborative
- Be pragmatic
- Support others in the community
- Get support from others in the community
This Code of Conduct reflects the agreed standards of behavior for members of our community, in any forum, mailing list, wiki, website, IRC channel, public meeting, or private correspondence within the context of Riak and its services. The community acts according to the standards written down in this Code of Conduct and will defend these standards for the benefit of the community. Leaders of any group, such as moderators of mailing lists, IRC channels, forums, etc., will exercise the right to suspend access to any person who persistently breaks our shared Code of Conduct.
Your actions and work will affect and be used by other people, and you in turn will depend on the work and actions of others. Any decision you make will affect other community members, and we expect you to take those consequences into account when making decisions.
As a contributor, ensure that you give full credit for the work of others and bear in mind how your changes affect others. It is also expected that you try to follow the community development guidelines.
As a user, remember that contributors work hard on their part and take great pride in it. If you are frustrated, your problems are more likely to be resolved if you can give accurate and well-mannered information to all concerned.
In order for the community to stay healthy, its members must feel comfortable and accepted. Treating one another with respect is absolutely necessary for this. In a disagreement, remember to assume that people mean well.
We do not tolerate personal attacks, racism, sexism, or any other form of discrimination. Disagreement is inevitable, from time to time, but respect for the views of others will go a long way to winning respect for your own view. Respecting other people, their work, their contributions and assuming well-meaning motivation will make community members feel comfortable and safe and will result in motivation and productivity.
We expect members of our community to be respectful when dealing with other contributors, users, and communities. Remember that we are an international project and that you may be unaware of important aspects of other cultures.
Collaboration is about thinking of others. In order to avoid misunderstanding, try to be clear and concise when requesting help or giving it. Remember it is easy to misunderstand emails (especially when they are not written in your native language). Ask for clarifications if unsure how something is meant; remember the first rule — assume that people mean well.
As a contributor, you should aim to collaborate with other community members, as well as with other communities that are interested in or depend on the work you do. Your work should be transparent and be fed back into the community when available, not just between releases. If you wish to work on something new in existing projects, keep those projects informed of your ideas and progress.
It may not always be possible to reach consensus on the implementation of an idea, so don't feel obliged to achieve this before you begin. However, always ensure that you keep the outside world informed of your work, and publish it in a way that allows outsiders to test, discuss, and contribute to your efforts.
Contributors on every project come and go. When you leave or disengage from the project, in whole or in part, you should do so with pride about what you have achieved and by acting responsibly towards others who come after you to continue the project.
As a user, your feedback is important, as is its form. Poorly thought-out comments can cause pain and the demotivation of other community members, while a considerate discussion of problems can bring positive results. Your encouraging words work wonders.
We are a pragmatic community. We value tangible results over having the last word in a discussion. We defend our core values, but we don't let arguments about minor issues get in the way of achieving more important results. We are open to suggestions and welcome solutions regardless of their origin.
When in doubt, we support a solution that helps getting things done over one that has theoretical merits but isn't being worked on. Use the tools and methods that help get the job done. Let decisions be taken by those who do the work.
Support others in the community
Our community is made strong by mutual respect, collaboration, and pragmatic, responsible behavior. Sometimes there are situations where this has to be defended and other community members need help.
When problems arise, consider respectfully reminding those involved of our shared Code of Conduct as a first action. Just like bugs in code, we all occasionally make mistakes in our words and actions. When we make mistakes, we need to be told what we did, why it was a mistake, and how it can be done differently or better, as well as given a chance to learn and grow from our mistake. This Code of Conduct is a great resource for that. If someone tells you that you made a mistake, remember that we all make mistakes, learn from it, and do better next time. Try to resist the initial urge many of us feel to defend your words/actions as not a problem.
Leaders are defined by their actions and can help set a good example by working to resolve issues in the spirit of this Code of Conduct before the situation escalates.
If you witness others being treated poorly or abused, think first about how you can offer them support. If you feel that the situation is beyond your ability to help individually, go privately to the victim and ask if some form of official intervention is needed. Similarly you should support anyone who appears to be in danger of burning out, either through work-related stress or personal problems.
Get support from others in the community
Disagreements, political or technical, happen all the time. Our community is no exception to the rule. The goal is not to avoid disagreements or differing views, but to resolve them constructively. You should turn to the community to seek advice and to resolve disagreements and, where possible, consult the team most directly involved.
Think deeply before turning a disagreement into a public dispute. If a dispute cannot be avoided, request mediation, trying to resolve differences in a less highly-emotional medium. If you do feel that you or your work is being attacked, take your time to breathe through before writing heated replies. Consider a 24-hour moratorium if emotional language is being used — a cooling off period is sometimes all that is needed. If you really want to go a different way, then we encourage you to publish your ideas and your work, so that it can be tried and tested.