Bondy is built in the open by people with different backgrounds, first languages and ways of arguing. This code sets the baseline for how we work together, so that everyone can disagree about types, protocols and syntax without anyone being made to feel unwelcome. It also says what to do, and what we will do, when that baseline is not met.
It applies to everyone: maintainers, contributors, newcomers, users and moderators alike.
Our pledge
We pledge to make our community welcoming, safe and equitable for all.
We are committed to an environment that respects the dignity, rights and contributions of every person, regardless of characteristics including race, ethnicity, caste, colour, age, physical characteristics, neurodiversity, disability, sex or gender, gender identity or expression, sexual orientation, language, philosophy or religion, national or social origin, socio-economic position, level of education, level of experience, or other status. The same privileges of participation are extended to everyone who takes part in good faith and in line with this code.
How we work together
A language is a long argument about trade-offs, and so is a protocol. We want that argument to be sharp about ideas and generous about people.
- Be welcoming and patient. Everyone was new once. No question is too basic, and "read the docs" is not an answer on its own.
- Be charitable. Read what others write in good faith, and assume the most reasonable meaning. Many of us are writing in a second or third language, and tone is easily lost.
- Remember every design is a trade-off. There is seldom one right answer. Say what a choice costs, not that it is wrong.
- Be constructive. Criticise the work, not the person, and pair criticism with a suggestion or a question. Stay on topic; if you want to discuss something else, start a new topic.
- Be responsible. What you say has effects whether or not you intended them. If someone tells you that something you said or did hurt them, don't argue about your intent: listen, stop, and apologise.
- Credit others. Say where code, ideas and text come from.
- Help repair harm. When something goes wrong between people, help put it right, including when you caused it.
What is not acceptable
These are violations of this code, as are threats of them and encouraging them:
- Harassment: continuing personal attention after a clear request to stop, or crossing boundaries someone has stated. Harassment in private messages counts too.
- Character attacks: insulting, demeaning or belittling comments aimed at a person or group. Swearing is not banned, but never at someone.
- Stereotyping or discrimination: characterising anyone's personality or behaviour on the basis of who they are, including slurs and "jokes" at a group's expense.
- Sexualisation: sexual language, imagery, advances or attention, including sexualised usernames and avatars.
- Violating confidentiality: sharing or acting on someone's personal or private information without their permission ("doxxing").
- Endangerment: causing, encouraging or threatening violence or other harm against anyone.
- Misleading identity: impersonating someone, or using another account to evade moderation.
- Spam and disruption: unsolicited promotion, commercial content outside the norms of a channel, trolling, flaming and deliberate derailing.
- Irresponsible communication: posting or linking to content involving any of the above without clear context and warning.
- Any other behaviour that threatens the well-being of the community.
Where this applies
This code applies in every Bondy space, including:
- the Bondy Zulip (bondy.zulipchat.com), in public channels and in private messages between members;
- all repositories, issues, pull requests and discussions under the bondy-io GitHub organisation;
- bondy.io, developer.bondy.io and their comment and feedback channels;
- Bondy's social media accounts, community calls and meetups;
- any event where someone represents the Bondy project, whether online or in person.
It also applies to behaviour outside these spaces when that behaviour affects the safety or well-being of people in them.
Other projects and events are welcome to adopt this code, but they must name their own contacts for reports.
If something goes wrong
Disagreement is normal and often productive. If it turns personal, and you feel safe doing so, it is often quickest to raise it directly with the person, kindly and in private. Many misunderstandings end there.
If that doesn't resolve it, or you don't feel safe raising it, or the behaviour is threatening or harassing, report it. You don't have to be the person affected to report something you saw.
How to report
Email bondy-team@leapsight.com. If it's easier, you can also send a private message to any moderator on the Bondy Zulip.
It helps to include:
- what happened, and where: links, screenshots or message references;
- when it happened;
- who was involved, including anyone who saw it;
- anything else you think we should know, such as whether it is ongoing.
If your report is about someone who would normally receive it, say so in your message and write to a different moderator. That person will take no part in handling it.
What we do with a report
- We take every report seriously and treat it in confidence. We will not share who reported something without their permission.
- We acknowledge the report and look into it: we read the messages and logs involved and, where useful, talk to the people concerned.
- Before taking action against someone, we tell them what was reported and give them a chance to respond, without revealing who reported it. When someone's safety is at risk, for example with ongoing harassment or threats, we may act first and talk afterwards.
- We may not be able to share every outcome with the person who reported, but we will tell them the report has been dealt with.
- Moderators are held to a higher standard than everyone else. A moderator who breaks this code should expect less leeway, not more.
Consequences and repair
When we find that this code has been broken, we choose a response that fits what happened, weighing its impact on the people involved and on the community. We may skip steps for serious violations.
- Warning. For a single incident or a first pattern of minor ones: a private, written warning explaining what was wrong. Repair might be an apology, acknowledging the harm, or asking what is expected.
- Cooling-off period. For a repeat after a warning, or a more serious first incident: a private warning with a time-limited break from particular channels, or from interacting with particular people. Repair might be an apology, and taking the time to reflect before coming back.
- Temporary suspension. For a pattern that warnings have not changed, or a single serious violation: removal from all Bondy spaces for a set period, with conditions for returning. Repair means respecting the suspension and meeting those conditions.
- Permanent ban. For a pattern that nothing else has resolved, or a violation so serious that the community cannot be kept safe with that person in it: removal from all Bondy spaces, tools and channels. We use this rarely, and only with strong reasons.
These steps are a guide, not a limit on moderators' judgement. Messages that break this code may be edited, hidden or removed, and contributions that do so may be rejected.
If you disagree with a moderation decision, raise it privately with the moderator involved or with another moderator. Please don't argue it out in public channels.
Attribution and licence
This code is adapted from the Contributor Covenant, version 3.0, available at contributor-covenant.org/version/3/0, and is licensed, like it, under CC BY-SA 4.0. The consequences ladder was inspired by Mozilla's code of conduct enforcement work.
It also draws on the codes of conduct of Go (its values for technical discussion and its handling of reports), Rust (its moderation rules, including holding moderators to a higher standard) and Elixir (naming its own contact for projects that adopt it).
The canonical version of this code is at bondy.io/code-of-conduct. Copies in Bondy repositories must match it.