Skip to content

Latest commit

 

History

History
98 lines (56 loc) · 5.33 KB

File metadata and controls

98 lines (56 loc) · 5.33 KB

Code of Conduct

TL;DR — be the kind of person you'd want to share a 3 AM debugging session with.

This project exists because real people, mostly QA engineers in real environments (kiosks, POS terminals, regulated industries, legacy apps that won't die), need automation that works on the screen they're actually looking at. We have one maintainer, one timezone, a day job. Every minute spent dealing with bad vibes is a minute not spent merging your fix.

So we keep this short.


What we ask

🤝 Be kind

If you catch yourself typing a sharp comment, close the tab for five minutes. The bug will still be there. Your reputation, edited.

🔧 Stay technical

Disagreements are about code, not people. "This approach has a race condition on line 42" is fine. "This approach is dumb" isn't — even if the race condition is real.

The bar for tone goes up when the topic gets harder. Especially on threading, native libraries, and Maven assembly.

🦎 Credit others

If someone's bug report, comment, or commit helped, say so. Acknowledgements in commits, PR bodies, release notes. It costs nothing and it's the closest thing this project has to currency. (See: every closed issue with a "thanks @username for the surgical-grade repro" line.)

🌍 Remember the context

Most contributors here aren't full-time OSS maintainers. They're QA engineers who automated something at 11 PM for a Monday demo and hit a stack trace. They don't have the time to parse your sarcasm, your French (sorry), or your 12-paragraph rebuttal. Brevity is a courtesy.

🚫 What we don't do

  • Personal attacks. Ever.
  • Dismissing someone because they're new, junior, AI-assisted, or don't speak English natively. (See: native review issues for 21 locales.)
  • Reopening closed arguments without new information.
  • Litigating moderation decisions in public — DM the maintainer if you think a call was wrong.
  • Anything illegal, harassing, or actively harmful (the obvious stuff).

🦎 What we encourage

  • Punching up technical reports. ASCII art. Diamond-tier reproducers. RIP commit messages for retired bugs. (We have a soft spot for these — own it.)
  • Asking the dumb question. The dumb question is usually the one that exposes the hidden assumption that broke everything.
  • Pushing back when a maintainer reply misses the point. We're wrong sometimes. Saying so in the thread is welcome and will be taken seriously (cf. #163).
  • Switching to French / German / Spanish / Mandarin in side conversations if it's easier — just keep the technical thread in English so everyone can follow.

Scope

This applies wherever the project lives: issues, PRs, discussions, commit messages, release notes, the wiki, GitHub Discussions, and any future Discord / Matrix / wherever-we-end-up.

It also applies to how we represent the project externally — LinkedIn posts about OculiX, talks, blog articles. Be the same person off-thread that you are on it.


When things go sideways

🚨 Reporting

Three escalation paths, pick the lowest one that fits:

  1. Push back in the thread. Most miscommunications dissolve at this level. "I read this as X — was that the intent?" almost always works.
  2. DM the maintainer. @julienmerconsulting on GitHub. For anything you'd rather not discuss in public — bias, harassment, a private grievance, a security thing that touches a person. Acknowledgement within 48h, response within 7 days.
  3. GitHub's report-content channel. If it's flagrant (slurs, threats, doxxing), use the "Report content" option directly on the offending comment. It goes to repo admins (us) AND escalates GitHub-side if needed.

We won't ask you to not go directly to GitHub if that's where you're comfortable starting. No retaliation for that or anything else.

⚖️ Consequences

The maintainer can:

  • Edit or delete a comment that crosses the line.
  • Lock a thread that's gone off the rails.
  • Block a user temporarily or permanently for repeat offenses.

We'll explain the decision publicly when it's about thread-level content; private decisions stay private. Bans for harassment will be named in the closing comment so the pattern is visible to anyone walking into the thread later.

We try not to lock or ban. We've had to do it zero times so far. Long may that continue.

👥 Two maintainers, public arbitration

If a contributor disagrees with a moderation decision, the other maintainer (currently @RaiMan) is the appeal channel. Their call overrides mine on conduct matters. No backroom.


Final note

This document exists because GitHub's "Community Standards" page nagged us for one. It also exists because clear expectations save everyone time when something inevitably goes weird.

We didn't copy a Contributor Covenant boilerplate because that style doesn't match how this project actually communicates. The values are the same — explicit kindness, technical focus, credit where it's due. The phrasing is just us.

If you can read this and recognize the kind of community you want to be part of, welcome. If not, that's a totally valid signal too — there are many projects, and forcing fit serves nobody.

🦎


Adopted: v3.0.4 cycle. Last updated: see git log.