The Maintainer Outreach Acceptability Standard: Send, Revise, or Hold
You will grade any drafted maintainer message against a fixed checklist and return a Send, Revise, or Hold verdict a teammate would reach independently.
Before you send a message to an open-source maintainer, you need to know whether it will be read or reported. This standard is for engineering managers, technical founders, developer-relations leads, and technical sourcers who draft outreach to maintainers and want a fixed bar for what is acceptable to send. It converts scattered, maintainer-stated norms into a gradeable checklist that returns one of three verdicts - Send, Revise, or Hold - that two teammates reach independently.
The published library already covers how to find maintainer contacts and how cold cadence works. This document covers the one thing those do not: whether a specific drafted message clears community norms before it leaves your outbox. The goal is a verdict two graders agree on, not a vibe.
Why a maintainer message needs its own acceptability bar
A maintainer message needs a fixed bar because the cost of getting it wrong is not a low reply rate - it is a block, a flag, or a repository interaction limit that removes your access entirely. Generic "be nice" advice does not tell you where the line is, and it does not let two people grade the same draft the same way.
The scarcity that drives every rule here is attention, not politeness. One full-time maintainer reports fielding more than 200 notifications every 12 hours, all expected to be answered. A private message does not save that person time; it jumps the public queue and moves triage cost onto one individual who, in 60% of cases per the Tidelift 2024 survey, is not paid for the work at all.
There is a second, newer reason the bar has moved. After the xz-utils incident, 66% of maintainers report trusting pull requests from non-maintainers less. An unsolicited private message paired with code now pattern-matches to a social-engineering approach, whether you intend that or not. Public, low-ask engagement first is no longer just polite; it is the pattern that reads as legitimate.
The channel priority order maintainers actually publish
Contact routes through repository files, not the maintainer's inbox, and public channels always beat private ones. GitHub's own guidance names four documents to read before you contact anyone: the README for project overview, the Code of Conduct for behavior standards, CONTRIBUTING for contributor guidelines, and the project's designated communication channels for where to ask for help.
No single ranked ordering is published anywhere, so treat the following as the de facto order assembled from the sources. The SUPPORT file is the designated help-routing document; it works like CONTRIBUTING, can live in the repo root, .github/, or docs/, and is shown above the new-issue form to point users to forums, FAQs, or corporate support.
Channel priority, outermost tried first
- Project-designated channelSUPPORT, CONTRIBUTING, or README-named forum for your ask type
- Issue tracker or DiscussionsBugs to issues, features and questions where the project routes them
- Private disclosure pathSecurity reports only, via the project's stated process
- Direct contact (DM/email)Last resort, only if the file explicitly lists it
The Open Source Guides are explicit that public wins: wherever possible, do not take conversations to private channels, including contacting maintainers directly, because keeping communication public means everybody benefits. Note a practical detail if you are reading CONTRIBUTING: when multiple files exist, GitHub shows the one chosen in order of the .github directory, then root, then docs. Read the one that renders.
The named behaviors that get a message flagged
Five behaviors are documented by maintainers as unacceptable, and each is a specific, checkable fail rather than a matter of taste. Learn them as fail conditions, because they are what convert a hopeful message into a reported one.
| Behavior | What it looks like | Why it fails |
|---|---|---|
| Private-channeling a public ask | Emailing or DMing a feature request or support need | Guides say direct people to a public channel instead |
| Bumping | "Any update?" on a stale thread | Notification spam; use a reaction to vote instead |
| Uninvolved @-ping | Tagging someone who never touched the issue | Ping only those who previously engaged that thread |
| ETA or priority demand | "When will this ship?" or "please prioritize" | Documented fail; do not ask for an ETA |
| Content-less comment | "+1" or "me too" with no new information | Documented as spam by named maintainers |
Each of these has a lie to watch for. A bump can disguise itself as a question - "Any update?" adds no new information, so it fails even though it ends in a question mark. An @-ping justifies itself as "just looping them in" while pinging a top committer who never engaged that exact thread. If the mention is not for someone who previously engaged that issue, remove it.
The enforcement side is real and fast. A maintainer can block you, which denies access to their activity and repositories and stops your notifications reaching them. Anyone visiting your profile can select Block or Report, choose Spam or Harassment, and route it to GitHub's Trust and Safety team. Owners, collaborators, prior contributors, and people with write access can report issues, pull requests, discussions, and comments. Maintainers can also pre-empt you entirely by limiting repository Interactions to existing users or collaborators only.
Why you cannot source maintainers by job title
You cannot find maintainers by searching for the title, because almost nobody holds it. Maintaining is unpaid side-work attached to repo activity, not a line on a resume, so it lives in commit history rather than in headlines.
The gap is stark in Refolk's index of professional profiles. Only a handful of people anywhere carry a Maintainer-type title while listing Open Source as a skill, even though the skill itself is common.
| Segment | People with a Maintainer-type title and Open Source skill |
|---|---|
| United States | 9 |
| Germany | 5 |
Set that against the population that actually lists the skill. In Refolk's index, 3,583 senior and 5,037 entry-level US professionals list Open Source as a skill, a combined 8,620 across the two bands. The nine US maintainer-titled profiles are roughly 0.10% of that group.
number: ~0.10%
label: Share of US Open Source-skilled professionals with a Maintainer title
note: In Refolk's index, 9 maintainer-titled profiles against 8,620 across the senior and entry bands.
Questions practitioners ask
How do I contact an open source maintainer without getting blocked?
Route your message through the channel the project designates, not the maintainer's inbox. Read the SUPPORT, CONTRIBUTING, and README files first, classify your ask, and send it to the matching public channel. Blocking and abuse reports are triggered by private-channeling, bumping, and unsolicited pings, so avoiding those four hard-fails is the single most effective way to stay off the Trust and Safety queue.
Is it OK to email a maintainer directly if there is no SUPPORT file?
No. The absence of a SUPPORT file is not permission for private contact. The Open Source Guides forbid taking conversations to private channels wherever a public one exists, so the correct default is the issue tracker or Discussions, not email or a DM. Security disclosures are the one exception, and those follow the project's stated private disclosure path, not a personal inbox.
How long should I wait before following up with a maintainer?
Wait for the project's stated window, and where none is stated, assume you have no follow-up entitlement at all. One full-time maintainer reports more than 200 notifications every 12 hours, so silence usually means triage backlog, not rejection. A second message before a reasonable interval reads as a bump, which is a documented fail and an automatic Hold under this standard.
Can I message a maintainer on GitHub about a job or commercial deal?
Only through a channel the project explicitly lists for it. Recruiting and commercial asks in the issue tracker are off-topic noise and get closed or locked. If the project lists a contact or sponsor path, use it; only 1.3% of active repos have sponsorship enabled, so if no path exists the correct verdict is Hold rather than improvising a private message.
Does personalizing my message to a maintainer actually help?
Yes, when the detail is public and relevant. Referencing a developer's specific open-source contribution lifted reply rates 25% over a generic message, and warm-context outreach reaches up to 50% versus 2 to 5% for generic cold email. The line to hold is that the detail must come from public project work; referencing commit-mined personal email or private-looking details reads as surveillance, not research.
Try it on the search you came here for
Stop building boolean strings. Just describe the person.
Type one sentence. I plan the search, read GitHub, public LinkedIn and Crunchbase records, and the open web as it is right now, and hand back a ranked list with the reason next to every name.
01Describe them
One plain sentence. Role, city, stack, stage, whatever matters to you.
02I read the web live
GitHub, public LinkedIn and Crunchbase records, the open web. Not a database that went stale last quarter.
03You read the shortlist
Ranked, with the reasoning under every name. Open a profile, ask a follow-up, narrow it down.
- Staff backend engineers in NYC who shipped Rust in production
- Series A fintechs in SF under 50 people, growing headcount this year
- Maintainers of fast-growing Rust web frameworks on GitHub
- No boolean, no filters, no seat to buy. One box.
- Read at search time, so a profile updated yesterday counts today.
- Every step visible as it runs, every name with its reason.
500 free credits on sign-up. No card, no demo call. See real searches.