Add CODE_OF_CONDUCT.md and reference it from the README (no-politics policy) #584

Closed
opened 2026-09-15 16:53:14 +00:00 by crueber · 1 comment
Owner

Ask

Two deliverables, one ticket:

  1. Add CODE_OF_CONDUCT.md to the repo root, verbatim. The full text is below in a fenced block — copy it exactly. Do not paraphrase, summarize, or trim any section: every heading, list item, and the closing rationale line must land byte-faithful. The text was pre-checked for characters Forgejo rejects (no non-BMP/4-byte emoji; only BMP em-dashes and §), so a straight UTF-8 copy is safe.

  2. Reference it from README.md. A line near the top of the README, after the project intro/description (implementer places it sensibly per the existing README structure), reading approximately:

    No politics allowed — see our Code of Conduct.

    Exact wording may be polished slightly, but it must lead with the "No politics allowed" phrasing and link to CODE_OF_CONDUCT.md.

CODE_OF_CONDUCT.md (full text, verbatim)

# CODE_OF_CONDUCT.md

**Short version: this project's spaces are for the project. Political advocacy isn't welcome here — from anyone, in any direction.**

That is not a claim that politics don't matter, or that contributors have no views. It is a claim about venue. The issue tracker, pull requests, review comments, commit messages, and any chat this project runs are for the work. Arguments about elections, parties, candidates, and causes belong somewhere else.

## 1. Scope

This document applies in every space this project runs:

- issues, pull requests, and review comments
- commit messages, branch names, and code comments
- the project's chat, mailing list, and any forum or discussion space it operates
- the names, handles, avatars, and signatures used while participating in those spaces

## 2. The baseline still applies

This document adds one rule. It does not replace the ordinary expectations:

- No harassment, stalking, or sustained personal attacks.
- No slurs, no attacks on people for who they are, no doxxing, no threats.
- No spam, no advertising, no agenda-posting disguised as a bug report.

Those are grounds for moderation on their own, and always were.

## 3. The one rule: no political advocacy in project spaces

"Political advocacy" here means advocacy, not subject matter. In project spaces, do not:

- campaign for or against candidates, parties, elections, or referendums;
- promote a cause, petition, fundraiser, boycott, or campaign — **including causes the maintainer agrees with**;
- frame an unrelated technical thread in political terms, or use a bug report as a hook for a political argument;
- organize other contributors around a political goal;
- carry a slogan or campaign message in the handle, avatar, or signature used here.

Mentioning a political subject is not the same as advocating. Discussing whether a law, a court ruling, or a regulator affects what this project can do is in scope and welcome — see §4.

## 4. What this rule does *not* cover

This section matters as much as §3. This document is not a tool for shutting down technical disagreement.

- **Engineering decisions with political consequences are in scope, on technical merit.** Licensing, cryptography and export rules, jurisdiction and data residency, compliance requirements, security policy, and how a regulation affects the project are engineering and legal questions. Argue them hard, disagree at length, and expect to be outvoted on the merits. Deciding them is not "politics" for the purposes of this document, and a change made to satisfy a regulator is not a political act.
- **Identity is not politics.** Nobody is off-topic for who they are. This rule restricts advocacy in project spaces; it is not a basis for treating a person or a group as unwelcome because of who they are or what they believe.
- **Blunt technical criticism is expected.** Calling a design wrong, a patch sloppy, or a test inadequate is not a conduct problem. Read the review, not the mood.

## 5. Applied the same way to everyone

The rule is symmetrical, and it is meant to bite in every direction. If it is invoked only against causes someone dislikes, that is a violation of this document rather than an application of it. Selective enforcement is exactly what makes policies like this worthless, and it will be treated as a violation.

Disagreeing about whether something is off-topic is normal and allowed — say so.

## 6. Enforcement

Deliberately boring.

1. **The first response is a judgement call, not a punishment.** A maintainer says "off-topic for this project" and stops there. Usually the thread carries on with the technical merits, or the off-topic part is dropped.
2. **If it continues:** the maintainer closes, locks, hides, or trims the off-topic content, with a one-line reason in public where the space allows it.
3. **If it repeats:** a temporary restriction on participation, stated with a duration.
4. **If it is egregious, or continues past that:** a permanent ban.
5. **Spam, harassment, threats, and abuse of the report mechanism** skip to step 3 or 4.

**Who decides:** a maintainer of this project. **Appeals:** a second maintainer, where one is available, and that answer is final. **Record:** moderation decisions are logged (in an issue or a commit) unless logging them would expose a person to harassment.

**Reports:** send them to the maintainers — a private channel if one exists, otherwise the repository owner directly. Reports are handled discreetly.

## 7. What this document is not

- It is not a claim that the project is politically neutral in its **engineering**. The project takes technical positions constantly, because building software requires them.
- It is not retroactive. Nobody is sanctioned for something they said before this rule existed.
- It is not a weapon. Using this document to win an argument that is being lost on the merits is itself a misuse of it, and will be called out as one.

## 8. Changes

This document changes the way everything else in the project does: with a rationale and a date in the change, never silently. Where it conflicts with a project's own contributing or governance documentation, that documentation governs how the project works and this document is corrected.

---

Added at the maintainer's direction. Rationale: project spaces exist to build the software; political advocacy — regardless of direction — makes review harder and drives contributors away. Enforcement is written as procedure precisely so it cannot be applied selectively.```

## Acceptance criteria

- [ ] `CODE_OF_CONDUCT.md` exists at the repo root, byte-faithful to the supplied text above
- [ ] `README.md` reference present, leading with the "No politics allowed" phrasing and linking to the file
- [ ] The link resolves in rendered markdown
- [ ] No other README content disturbed
- [ ] Docs consistency: the repo has no docs index in README; `AGENTS.md` points humans at `README.md` first, so no cross-reference is required — if the implementer judges a minimal cross-reference in `AGENTS.md` fits, that's their call, but it is not required
## Ask Two deliverables, one ticket: 1. **Add `CODE_OF_CONDUCT.md` to the repo root, verbatim.** The full text is below in a fenced block — copy it exactly. Do not paraphrase, summarize, or trim any section: every heading, list item, and the closing rationale line must land byte-faithful. The text was pre-checked for characters Forgejo rejects (no non-BMP/4-byte emoji; only BMP em-dashes and `§`), so a straight UTF-8 copy is safe. 2. **Reference it from `README.md`.** A line near the top of the README, after the project intro/description (implementer places it sensibly per the existing README structure), reading approximately: > No politics allowed — see our [Code of Conduct](CODE_OF_CONDUCT.md). Exact wording may be polished slightly, but it must lead with the "No politics allowed" phrasing and link to `CODE_OF_CONDUCT.md`. ## CODE_OF_CONDUCT.md (full text, verbatim) ```markdown # CODE_OF_CONDUCT.md **Short version: this project's spaces are for the project. Political advocacy isn't welcome here — from anyone, in any direction.** That is not a claim that politics don't matter, or that contributors have no views. It is a claim about venue. The issue tracker, pull requests, review comments, commit messages, and any chat this project runs are for the work. Arguments about elections, parties, candidates, and causes belong somewhere else. ## 1. Scope This document applies in every space this project runs: - issues, pull requests, and review comments - commit messages, branch names, and code comments - the project's chat, mailing list, and any forum or discussion space it operates - the names, handles, avatars, and signatures used while participating in those spaces ## 2. The baseline still applies This document adds one rule. It does not replace the ordinary expectations: - No harassment, stalking, or sustained personal attacks. - No slurs, no attacks on people for who they are, no doxxing, no threats. - No spam, no advertising, no agenda-posting disguised as a bug report. Those are grounds for moderation on their own, and always were. ## 3. The one rule: no political advocacy in project spaces "Political advocacy" here means advocacy, not subject matter. In project spaces, do not: - campaign for or against candidates, parties, elections, or referendums; - promote a cause, petition, fundraiser, boycott, or campaign — **including causes the maintainer agrees with**; - frame an unrelated technical thread in political terms, or use a bug report as a hook for a political argument; - organize other contributors around a political goal; - carry a slogan or campaign message in the handle, avatar, or signature used here. Mentioning a political subject is not the same as advocating. Discussing whether a law, a court ruling, or a regulator affects what this project can do is in scope and welcome — see §4. ## 4. What this rule does *not* cover This section matters as much as §3. This document is not a tool for shutting down technical disagreement. - **Engineering decisions with political consequences are in scope, on technical merit.** Licensing, cryptography and export rules, jurisdiction and data residency, compliance requirements, security policy, and how a regulation affects the project are engineering and legal questions. Argue them hard, disagree at length, and expect to be outvoted on the merits. Deciding them is not "politics" for the purposes of this document, and a change made to satisfy a regulator is not a political act. - **Identity is not politics.** Nobody is off-topic for who they are. This rule restricts advocacy in project spaces; it is not a basis for treating a person or a group as unwelcome because of who they are or what they believe. - **Blunt technical criticism is expected.** Calling a design wrong, a patch sloppy, or a test inadequate is not a conduct problem. Read the review, not the mood. ## 5. Applied the same way to everyone The rule is symmetrical, and it is meant to bite in every direction. If it is invoked only against causes someone dislikes, that is a violation of this document rather than an application of it. Selective enforcement is exactly what makes policies like this worthless, and it will be treated as a violation. Disagreeing about whether something is off-topic is normal and allowed — say so. ## 6. Enforcement Deliberately boring. 1. **The first response is a judgement call, not a punishment.** A maintainer says "off-topic for this project" and stops there. Usually the thread carries on with the technical merits, or the off-topic part is dropped. 2. **If it continues:** the maintainer closes, locks, hides, or trims the off-topic content, with a one-line reason in public where the space allows it. 3. **If it repeats:** a temporary restriction on participation, stated with a duration. 4. **If it is egregious, or continues past that:** a permanent ban. 5. **Spam, harassment, threats, and abuse of the report mechanism** skip to step 3 or 4. **Who decides:** a maintainer of this project. **Appeals:** a second maintainer, where one is available, and that answer is final. **Record:** moderation decisions are logged (in an issue or a commit) unless logging them would expose a person to harassment. **Reports:** send them to the maintainers — a private channel if one exists, otherwise the repository owner directly. Reports are handled discreetly. ## 7. What this document is not - It is not a claim that the project is politically neutral in its **engineering**. The project takes technical positions constantly, because building software requires them. - It is not retroactive. Nobody is sanctioned for something they said before this rule existed. - It is not a weapon. Using this document to win an argument that is being lost on the merits is itself a misuse of it, and will be called out as one. ## 8. Changes This document changes the way everything else in the project does: with a rationale and a date in the change, never silently. Where it conflicts with a project's own contributing or governance documentation, that documentation governs how the project works and this document is corrected. --- Added at the maintainer's direction. Rationale: project spaces exist to build the software; political advocacy — regardless of direction — makes review harder and drives contributors away. Enforcement is written as procedure precisely so it cannot be applied selectively.``` ## Acceptance criteria - [ ] `CODE_OF_CONDUCT.md` exists at the repo root, byte-faithful to the supplied text above - [ ] `README.md` reference present, leading with the "No politics allowed" phrasing and linking to the file - [ ] The link resolves in rendered markdown - [ ] No other README content disturbed - [ ] Docs consistency: the repo has no docs index in README; `AGENTS.md` points humans at `README.md` first, so no cross-reference is required — if the implementer judges a minimal cross-reference in `AGENTS.md` fits, that's their call, but it is not required
crueber added this to the v1 milestone 2026-09-15 16:53:14 +00:00
Author
Owner

Done: CODE_OF_CONDUCT.md added verbatim (byte-diff against the supplied text is empty) and README carries the No-politics-allowed blockquote link after the intro. No code touched.

Done: CODE_OF_CONDUCT.md added verbatim (byte-diff against the supplied text is empty) and README carries the No-politics-allowed blockquote link after the intro. No code touched.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
crueber/walhub#584
No description provided.