Skip to content

Publish a code of conduct and the issue templates that ask for evidence #107

Description

@iderex

A public repository is expected to carry a small set of files, and GitHub reports
which of them are there. One of seven is:

gh api repos/Flowfin/core/community/profile --jq '.files | to_entries[] | "\(.key)\t\(if .value == null then "missing" else "present" end)"'
code_of_conduct	missing
code_of_conduct_file	missing
contributing	missing
issue_template	missing
license	missing
pull_request_template	missing
readme	present

Four of those rows already have somebody on them. The licence is entry 1 of #1
and its file is #12, the contributing document is #23, the pull-request template
is #25. The two nobody holds are the code of conduct and the issue templates, and
this issue takes both because they are the same act: telling a stranger what this
repository expects before they spend an evening on it.

What this produces

A code of conduct at the root, with a reporting address that reaches a person and
a sentence saying what happens after a report arrives. An address is the part
that matters. A code of conduct with no route to a human is a document that
becomes useless at exactly the moment somebody needs it. Which address, and
whether it is the same one #24 publishes for a vulnerability, is entry 5 of #1
and is not decided here.

Issue templates that ask for the three things an issue on this board says: what
is wrong, what the evidence is, and what done means. Where the evidence is a
number, the template asks for the command that produced it, which is the request
#25 makes of a pull request and for the same reason.

A line in each template saying that nothing reads it. A filled-in form is not a
check, and a template that looks like enforcement is worse than one that admits
it is a prompt.

What this deliberately leaves out, with the reason

No CODEOWNERS. It routes review to an owner, and this repository has a single
maintainer, so the file would name one account and add nothing the ruleset on
main already requires. It also goes wrong silently on the day a second person
arrives, because nothing refuses a stale owner.

That there is one maintainer is written here as a claim, because the command
that lists them needs push access to this repository and is therefore not one a
reader of this board can run.

No governance document. How decisions are made here is #1 for the ones only the
maintainer can make and the records in #2 for the rest. A third file restating
both is a copy that drifts against them, and the drift is invisible until
somebody acts on the stale copy.

Done when

The command above reports code_of_conduct and issue_template as present, the
code of conduct names a reporting address, and every template asks for the
problem, the evidence, the command behind any number, and what done means.

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions