Skip to main content

How to promote an open-source project on Reddit without getting banned

Open source has the opposite problem to most niches on Reddit. Nobody is going to remove your post for talking about your own project — that is what these communities are for. They will remove it for what the project turns out to be.

The trigger is almost always the same. A maintainer posts a release, the thread goes well for twenty minutes, then someone opens the repo and finds the licence is source-available rather than open, or the self-hosted edition is missing the feature the post was about, or there is a pricing page for teams. The post gets removed and the comments get hostile in a way they never would for a plain SaaS ad, because the objection is not that you are selling — it is that you claimed a label you had not earned.

So the work in this niche is not about ratios or restraint. It is about being precise before you post: name the licence, say what is in the free tier and what is not, and never let the words "open source" do work the repository does not back up.

Where open-source projects can actually be promoted

Each of these is a real community with its own rule. The rule is the part that matters — a good post in the wrong thread is still a removed post.

  • r/opensourceConditional

    The default home for a release announcement. Project announcements are the native post type here, so you are not smuggling anything in — you are using the sub as intended.

    The rule here: Name the licence in the post and give the story behind the project: what you needed, what already existed, why you built anyway. A commercial or closed product presented as open source is what gets removed.

  • r/FOSSConditional

    An advocacy community rather than a showcase one. Reception is warmer than r/opensource for a genuinely free-licensed project, and colder for anything else.

    The rule here: State the licence explicitly — GPL-3.0, MIT, AGPL, whichever — near the top. Proprietary software gets removed as off-topic here, and "open core" reads as proprietary to this audience.

  • r/selfhostedConditional

    350k people whose hobby is running other people's software on their own hardware. If your project has a Docker image, this is the highest-intent audience for it on Reddit.

    The rule here: The self-hosting path has to be real and documented. Commercial software is accepted here as long as it is genuinely self-hostable; a hosted-only product with a "coming soon" self-host note is not.

  • r/LocalLLaMAConditional

    For open-weight model tooling, inference wrappers, and anything that runs locally. Builders here evaluate on benchmarks rather than positioning.

    The rule here: Bring numbers — tokens per second, VRAM, quantisation, the hardware you measured on. Closed-source pitches with no open component are removed, and a claim without a benchmark gets taken apart in the comments.

  • r/godotConditional

    Relevant if your project is tooling for an open-source engine — an addon, exporter, or plugin. The engine's own community is the entire market for that kind of release.

    The rule here: Make the post Godot-specific: the node structure, the API you had to work around, the version it targets. Generic marketing that could be about any engine is the thing that gets removed.

Rules change and moderators enforce their own reading of them. Check the sidebar before you post, every time, and see the full directory of 104 communities for the rest.

What this audience actually upvotes

The maintenance reality. Issue counts, how long the backlog is, what you have decided never to support, how many hours a week it actually takes. Every other maintainer reading has the same weight on them and almost nobody writes about it, so these posts get saved and quoted for years.

Architecture you can be argued with about. Why you chose SQLite over Postgres, why the plugin API looks like that, what you would rip out if you started again. This audience reads code, so a post with a defensible technical decision in it starts a real thread — and a thread is worth more to a project than a link.

Comparisons to the incumbent you are honest about losing. "Slower than the C implementation but a tenth of the config" outperforms any feature list, because the readers have already tried the incumbent and know where it hurts. Claiming to beat it everywhere is the fastest way to be disbelieved.

The two ratios that decide whether you get removed

Enforcement on Reddit is account-level, not post-level. A moderator opens your profile after one post trips their attention and skims what fraction of the account is about its product. That is why a reasonable post attached to a promotional profile still goes.

9:1 — comments to posts. Reddit's self-promotion guidance implies about nine contributions that have nothing to do with your product for every one that does. It comes from Reddit's 2014 moderator clarification and its current small-business guide restates it as “be a user first”.

3:1 — value posts to promotional posts. Among your submissions, at most one in four should promote anything. Clearing 9:1 while every post you make is a plug still reads as a marketing account.

The mention-deletion test. Delete your product name from the post and reread it. If nothing of value is left, it was an advertisement with context attached and it will be removed. If it still teaches something, the mention is a footnote on a real contribution.

New accounts have a further problem: most large subreddits silently filter posts from accounts under a karma or age threshold, so the post looks live to you and is invisible to everyone else. Check yours with the karma and warmup calculator before you post at all.

What gets open-source projects removed

  • Calling an open-core product "open source"

    This is the single removal that defines the niche. If the licence is BSL, Elastic, Commons Clause, or "source available", these communities treat the announcement as misrepresentation rather than promotion — and r/FOSS in particular removes proprietary promotion as off-topic regardless of how it is framed.

    Instead: Say what it is in the title: "source-available", "AGPL with a paid hosted option", "MIT core, paid enterprise SSO". Being upfront costs you nothing here. Being caught costs you the thread and the comment section.

  • Posting a Show-HN-style launch and expecting the same reception

    Hacker News rewards a polished one-line pitch and a live demo. Reddit's open-source communities read that format as marketing copy, because everything about it — the tagline, the hero screenshot, the absent licence — matches the pitches they remove.

    Instead: Rewrite it as a build note before posting. Same project, different shape: what the problem was, what you tried, what the code does, the licence, and a link to the repo rather than to a landing page.

  • Announcing v1.0 and then never coming back

    These subs have seen thousands of projects announced and abandoned, and readers screen for it — first commit date, last commit date, open issues. A single launch post from an account with no history reads as a project that will be dead in four months, so people do not invest attention in it.

    Instead: Post at milestones that show continuity: the 0.4 release with the thing people asked for in the 0.3 thread, the rewrite, the first outside contributor. Answering issues in public is what makes the next post land.

  • Leading with GitHub stars

    Stars are the metric everyone in this audience knows can be bought, traded, and farmed. Opening with a star count signals that you are optimising for the number rather than for users, and it invites the comment section to go looking for why.

    Instead: Lead with usage: deployments, downloads, the Docker pull count, the bug someone found in production. If you want stars, earn them from people who came for the project — a repo link inside a post worth reading collects far more than an ask for them ever does.

A post that would survive

Written for r/selfhosted. Adapt the specifics; keep the shape.

Two years of maintaining a self-hosted tool: the numbers, and the four things I would do differently

I have been maintaining a small self-hosted service since early 2024. It is not big — around 3,100 Docker pulls a month, 47 open issues, one other regular contributor — but it has been running long enough that some of what I assumed at the start turned out to be wrong. Where the time actually goes, from about 6 months of rough tracking: - Support and issue triage: ~5 hrs/week - Documentation: ~2 hrs/week - Actual feature work: ~3 hrs/week - Dependency and CVE churn: ~1.5 hrs/week So roughly two thirds of the time is not writing code. I did not expect that ratio and it is the main reason projects like this get abandoned. Four things I would do differently: 1. Ship the docker-compose file first, before any feature. Around 70% of my early issues were people failing to get it running at all. A working compose file with sane defaults removed more support load than any feature I have written. 2. Pick the boring database. I started on Postgres because it felt correct. Most people self-hosting one service on one box do not want a second container. Moving to SQLite as the default cut the "won't start" issues by more than half and I have yet to hear from anyone who hit its limits. 3. Write the "this is not for you" section of the README on day one. Mine now says plainly that there is no multi-user support and no SSO. Adding it cut the feature requests I was always going to refuse from about 8 a month to 1. 4. Version the config file. I broke everyone's setup at 0.3 with a rename and had no migration path. That single afternoon cost me more goodwill than any bug. The thing nobody tells you: the first outside contributor changes the project more than any release. Mine turned up because a bug report went unanswered for nine days and they fixed it themselves. Slow issue response is embarrassing, but leaving the issue open and visible is what let someone else pick it up. Licence is AGPL-3.0, which I also second-guessed and would still choose. Happy to go into why in the comments if anyone is deciding.

Why it survives: Delete every reference to the project and the post is still a maintenance retrospective worth reading — that is the mention-deletion test cleared with room to spare. It leads with unrounded numbers rather than stars, it names the licence in plain terms instead of implying one, and each of the four lessons is specific enough to be argued with, which is what starts a thread in this audience. The repo link belongs in a reply to whoever asks, not in the body.

Frequently asked questions

How do I get GitHub stars from Reddit?
Not by asking for them. Posts that lead with a star count or request stars are read as farming by exactly the people whose stars would matter. What works is a post with real substance — a build note, an architecture decision, a maintenance retrospective — with the repo linked as the source rather than the point. Stars from people who read the code and stayed are worth more than a spike that decays in a week.
Can I post my open-source project on r/opensource?
Yes. Genuine project announcements are the expected post type there, which makes it one of the easier communities on Reddit to promote in. The condition is that the project is actually open source under a recognised licence, and that the post carries the story — what you needed, what existed already, why you built anyway. A commercial product framed as open source is what gets removed.
Is open core allowed on r/FOSS and r/opensource?
Be careful. r/FOSS is an advocacy community and treats proprietary promotion as off-topic, so an open-core project with paid features gets a much colder reception there than in r/opensource or r/selfhosted. The rule that keeps you safe in all three is disclosure in the post itself: say which licence the core carries and exactly what sits behind the paywall. The removals in this niche are for misrepresentation, not for having a business model.
Where should I post a self-hostable tool?
r/selfhosted, and it is worth doing properly because the audience there will actually deploy it. The requirement is that the self-hosting path is real and documented — a Docker image, a compose file, and configuration that works without emailing you. Commercial software is accepted as long as it can genuinely be self-hosted; hosted-only products with a self-host option "coming soon" are removed.
Do I need karma to post an open-source release?
Less than in most niches, because these communities key on the project rather than the account, but the sitewide filters still apply — a brand-new account can have its post held or hidden without any moderator involvement. Answering questions on other people's releases for a couple of weeks clears the filter and gives you a feel for which of these subs your project actually belongs in.

Free tools for this

Last reviewed: July 2026