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.mdsays 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.