Photo by @bragekorsnes

Code of Conduct

This code of conduct outlines our expectations for participants within the CodeDoesGood community and when speaking to outside sources when representing CodeDoesGood, as well as steps to reporting unacceptable behaviour. We are committed to providing a welcoming and inspiring community for all and expect our code of conduct to be honoured. Anyone who violates this code of conduct may be either removed from their project or ultimately removed from CodeDoesGood.

Remember that ultimately CodeDoesGood is a non profit with open source policies, not an open source community. We have goals and initiatives that we are striving to meet. Mainly we want to build software for very little cost for non profits who otherwise could not afford it. We can do this by having developers volunteer their time in exchange for mentorship. Sometimes there may be some really great ideas coming from our community members which we will not be able to implement because they will be outside our focussed scope. If you come to us with an idea and we ultimately decide that it is outside the scope of CodeDoesGood, let's keep the conversation open -- maybe there is a way WE can help YOU make your idea a reality!

CodeDoesGood strives to:

Be helpful, friendly and patient:

Many of our members are either junior developers or just starting their development journey and will need your help in the platform channels (#dev-andriod, #dev-ios, #dev-web). We are incredibly grateful for everyone's contribution to these channels. Please choose your responses in a manner that encourages participation and minimizes intimidation. Question and answer communities on the web are notorious for the toxicity that often comes with getting help. We pride ourselves with the fact that this is a differentiating factor for us. Please help us to keep it that way.

Be welcoming:

We strive to be a community that welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, colour, 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 behaviour 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.

Be careful in the words that we choose:

We are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behaviour aren't acceptable.

Try to understand why we disagree:

Disagreements, both social and technical, happen all the time. It is important that we resolve disagreements and differing views constructively. Remember that we're different. The strength of our community comes from its diversity, 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.

CodeDoesGood Discourages:


Cross-posting is considered as spam and discouraged. Please help to keep the channels clean and consistent with their intended purpose.

Condescending tone:

Please try and be kind when asking questions or providing answers. Every member of this community had to learn what they now know at some point. Try to remember that when you are responding. Definitions

Harassment includes, but is not limited to:

  • Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, body size, race, age, regional discrimination, political or religious affiliation.
  • Unwelcome comments regarding a person's lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment.
  • Deliberate misgendering. This includes deadnaming or persistently using a pronoun that does not correctly reflect a person's gender identity. You must address people by the name they give you when not addressing them by their username or handle
  • Physical contact and simulated physical contact (eg, textual descriptions like "hug" or "backrub") without consent or after a request to stop
  • Threats of violence, both physical and psychological
  • Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm
  • Deliberate intimidation
  • Stalking or following
  • Harassing photography or recording, including logging online activity for harassment purposes
  • Sustained disruption of discussion
  • Unwelcome sexual attention, including gratuitous or off-topic sexual images or behaviour
  • Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others
  • Continued one-on-one communication after requests to cease
  • Deliberate "outing" of any aspect of a person's identity without their consent except as necessary to protect others from intentional abuse
  • Publication of non-harassing private communication .

Our open source community prioritizes marginalized people's safety over privileged people's comfort. We will not act on complaints regarding:

  • 'Reverse' -isms, including 'reverse racism,' 'reverse sexism,' and 'cisphobia'
  • Reasonable communication of boundaries, such as "leave me alone," "go away," or "I'm not discussing this with you"
  • Refusal to explain or debate social justice concepts
  • Communicating in a 'tone' you don't find congenial
  • Criticizing racist, sexist, cissexist, or otherwise oppressive behaviour or assumptions

Diversity Statement

We encourage everyone to participate and are committed to building a community for all. Although we will fail at times, we seek to treat everyone both as fairly and equally as possible. Whenever a participant has made a mistake, we expect them to take responsibility for it. If someone has been harmed or offended, it is our responsibility to listen carefully and respectfully, and do our best to right the wrong.

Although this list cannot be exhaustive, we explicitly honour diversity in age, gender, gender identity or expression, culture, ethnicity, language, national origin, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, and technical ability. We will not tolerate discrimination based on any of the protected characteristics above, including participants with disabilities.

Reporting Issues

If you experience or witness unacceptable behaviour - or have any other concerns - please report it by contacting one of the co-founders (@abbey, @massimo, @renato, @shahin) on Slack. You may reach out to one co-founder individually or you may send a group message. All reports will be handled with discretion. In your report please include:

  • Names (real, nicknames, or pseudonyms) of any individuals involved.
  • If there are additional witnesses, please include them as well.
  • 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 include a link.
  • Any additional information that may be helpful.

After filing a report the co-founders will either act immediately or if it is a less time sensitive issue will discuss together and follow up with any additional questions as well as make a decision as to how to respond. If the person who is harassing you is part of the co-founders team, they will not be part of the initial discussion. We will respect confidentiality requests for the purpose of protecting victims of abuse.

Additional CodeDoesGood Guidelines

The success of CodeDoesGood relies almost entirely on our members adhering to our policies and procedures as found in our wiki. The most important of all of these, which could lead to removal from your project or from CodeDoesGood entirely if not followed is keeping your team up to date. The following is taken from the Kanban Procedures page:

This is the most important rule of them all. In Progress Tickets must be updated WEEKLY. Even if the update is "no progress made this week". This is very very very important. The reason this is important is because if you do not update the ticket we do not know if you have worked on it, if you have forgotten it, if you are busy, or if you have gone MIA. We do not have time to track people down asking them to update their tickets.

Additionally any volunteer who has not acknowledged announcements in the volunteer software for more than 4 weeks could find themselves removed from their project. Volunteers who continue to not acknowledge announcements in the volunteer software after being reminded may find themselves removed from CodeDoesGood. If this happens to you, you are welcome to join us again when you have time to follow our procedures.

Attribution & Acknowledgements

We all stand on the shoulders of giants across many open source communities. We'd like to thank the communities and projects that established code of conducts and diversity statements as our inspiration. This code of conduct is mostly taken from iOS Developers HQ who based theirs on the Open Code of Conduct v1.0 from the TODOGroup.