Code of Conduct

August 3, 2026 · View on GitHub

GEML is a specification project, so most of the work here is argument: about syntax, about edge cases, about whether a rule earns its complexity. Sharp technical disagreement is the point of the place. Hostility toward people is not.

The standard

Expected:

  • Argue with the design, the spec text, or the code, and bring a case with you — an example, a failing document, a conformance test.
  • Assume the other person read the argument in good faith and reached a different conclusion.
  • Accept that a decision can go against you and still be legitimate. GOVERNANCE.md says how decisions are made and how to reopen one.

Not acceptable:

  • Personal attacks, demeaning comments, or sustained hostility toward a contributor.
  • Harassment of any kind, public or private, including unwelcome attention after being asked to stop.
  • Discriminatory conduct or language, including about nationality or language fluency. This project is bilingual by design; someone writing in their second language is not making weaker arguments.
  • Publishing someone's private information without their permission.
  • Deliberately derailing work: re-litigating a settled decision without new evidence, or flooding threads to exhaust reviewers.

Scope

This applies in every project space — issues, pull requests, discussions, commit messages, code and test comments — and to project-related conduct elsewhere when it affects people here.

Reporting

Report privately through the repository's Security → Report a vulnerability form, which is a private channel that reaches the lead maintainer directly; put "conduct report" at the top so it is not triaged as a vulnerability. A public issue is the wrong venue for a report about a person.

What happens next:

  • Acknowledgement within 72 hours.
  • The maintainer looks at what was said and done, asks for context where it is missing, and responds in one of four ways: a private note asking for a change in behaviour; a public correction in the thread; a temporary block from project spaces; or a permanent ban.
  • Reporters are told the outcome. Details that would identify a reporter are not published.

A limitation, stated rather than hidden: while the project has a single maintainer (GOVERNANCE.md treats that as transitional), there is no independent body to escalate to. A report about the lead maintainer can be raised publicly in an issue, or taken to GitHub Support. Broadening stewardship to three or more maintainers from more than one party — the target in GOVERNANCE.md — is what fixes this properly.