Attack arguments, not people.
This project asks for disagreement and means it. Saying "this operator is redundant and the spec is wrong to include it" is the contribution, not a breach of conduct. Being blunt, unimpressed, or persistent about a technical position is fine. Saying "only an idiot would have designed it this way" is a different act, and it is the one this document is about.
We pledge to make participation in this project a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, colour, religion, or sexual identity and orientation.
- Argue about the specification, the schema, the code and the evidence.
- Assume the other person has a reason, and ask for it before assuming they do not.
- Accept a decision you disagree with once it has been answered on the substance — and note that GOVERNANCE.md requires your dissent to be recorded in the decision record rather than discarded, so you do not have to keep re-litigating it to keep it on the record.
- Give credit, including to people whose objection changed your mind.
- Personal attacks, insults, or derogatory comments — including ones dressed as technical criticism.
- Harassment, public or private; sexualised language or imagery; unwelcome sexual attention.
- Publishing others' private information without explicit permission.
- Sustained disruption: reopening a settled decision with no new argument, brigading a thread, or demanding a maintainer's time as though it were owed.
- Any conduct which could reasonably be considered inappropriate in a professional setting.
This applies in the repositories of the OpenPredicate organisation, in issues, pull requests, discussions and commit messages, and anywhere someone is representing the project in public.
Report to contact@openpredicate.tech. Reports are read by the maintainers listed in GOVERNANCE.md — at present that is one person, Christos Gkoros, so a report about the maintainer has nowhere independent to go inside the project. That is stated rather than hidden; where the complaint is about the maintainer and that is unacceptable to you, GitHub's own abuse reporting is the escalation path.
You will get an acknowledgement within seven days. Reports are kept confidential to the extent possible, and the reporter's identity is never disclosed to the person reported without consent.
Enforcement is proportionate and escalates: a private correction explaining what was wrong; a warning with conditions; a temporary ban from interaction; a permanent ban. Anything beyond a private correction is recorded, though not necessarily published. Comments, commits, issues and other contributions that breach this document may be edited or removed, with a reason given.
Adapted from the Contributor Covenant, version 2.1, which is available at contributor-covenant.org/version/2/1/code_of_conduct and licensed CC BY 4.0. The opening section, the single-maintainer disclosure in Reporting, and the dissent clause under Expected behaviour are specific to this project.