Open Source Has a Distribution Problem, Not a Building Problem
July 28, 2026

Open source distribution is the part nobody measures, so I measured a week of it. Over the seven days ending 28 July 2026 I pulled every post from r/opensource and r/FOSS, kept 106 of them, and counted what the launches actually earned. The median launch got two comments, and twelve of the thirty launch posts got none at all.
That number is not the interesting part. The interesting part is what happened when two people posted the same title to both subreddits inside a day, which is the closest thing to a controlled experiment you will find in the wild.
How I counted#
The scraper pulled 121 candidate posts from the two subreddits over the week. A relevance filter dropped 15 as off-niche, which left 106 in the pool.
I did not write this tooling for a blog post. It exists because I run a weekly scraping pass over a handful of subreddits looking for things worth writing about, and this week the pool itself was the finding.
Then the awkward part. Deciding what counts as a launch is a judgment call, and the number moves depending on how you make it.
A self-promotion flag marks 27 posts. Adding a title pattern for "I built", "I made", "I wrote", "I spent", "released" and "introducing" takes it to 30. Read all 106 titles by hand and you could argue your way to about 50, because a bare ProjectName, a tool that does X post is a launch too.
So I ran the median at every cut point. Twenty-seven flagged posts, median 2 comments. Twenty-eight, median 2.
Thirty, median 2. All 106 pooled posts, median 2. The headline does not depend on where I drew the line, which is the only reason I trust it.
If you want to re-run this, the rule is small enough to state completely. Take every post from both subreddits over seven days, drop the ones a relevance filter marks off-topic, then classify a post as a launch if it carries a self-promotion flag or its title opens with a first-person build verb. Report the median at more than one cut so a reader can see whether your definition is carrying the result.
Forty percent of the week's launches drew zero comments. Not low engagement. Zero, in a subreddit whose entire purpose is open source projects.
Two channels that share nothing agree the median launch is worth two#

One week of one person's scraping is an anecdote. I went looking for something to check it against and found a corpus of every Show HN post from 2012 to April 2026, 188,085 of them, pulled from the HN Algolia API.
The median Show HN post scores 2 points.
The median score in my census is also 2. Same unit, same integer, from two channels that share no mechanism, no audience routing and no moderation culture. One is a fourteen-year archive of the most famous launch venue in software and the other is seven days of two subreddits.
That convergence is load-bearing, so here is its weak point. The Show HN analysis is a personal blog.
It documents its method, the API, the tag filter, the libraries, but the analysis code is listed as available on request rather than published. Nobody has replicated it.
Worth knowing what that corpus is made of, too. Of the 188,085 Show HN posts, 51,338 link to a GitHub repository, so roughly a quarter of the most prestigious launch channel in software is developers pointing at their repos and hoping.
The other three quarters link somewhere else, to a product page or a hosted demo. The corpus does not say how many of those have a company behind them, but an open source project on that front page is not only competing against other open source projects.
The same project scored 154 in one subreddit and 1 in another#
Here is what I went looking for once the medians were in. Four titles appeared more than once in the census week. Two of them are the same project posted to both subreddits, which holds the project constant and varies only the channel.
"I spent 4 years building an offline-first writing app after a web app ate my manuscript" went to r/opensource and scored 154 with 29 comments. Thirteen hours later the identical title went to r/FOSS and scored 1, with zero comments.
Same project. Same words. Same week. One hundred and fifty four times the score.
The second pair is quieter and more useful. Bean Network Tester scored 28 in r/opensource and 15 in r/FOSS twenty-five hours apart, which is a 1.9x gap and nothing to write home about. The comment counts were 7 and 0.
Score barely moved and conversation collapsed. If what you want from a launch is people talking to you, upvotes are measuring the wrong thing.
The third repeated title completes the picture by failing. A download manager called Gale was posted to r/FOSS twice, four hours apart, same subreddit both times. Neither copy had drawn a single comment when I scraped them, at five hours and one hour old.
Reposting into a channel that ignored you buys nothing. Posting into a different channel bought 154x.
Now hold that against the medians, because the two findings look like they disagree. If the median is 2 in a small subreddit and 2 across fourteen years of Show HN, then picking the bigger venue plainly does not rescue the typical launch.
Both are true and they are about different parts of the distribution. Channel choice does almost nothing for the floor, which is 2 everywhere and stays 2. What it moves is the ceiling, and whether a project that could have travelled ever gets the chance.
The writing app was going to be a 154 somewhere. In r/FOSS it was a 1. Nothing about the project decided which of those happened.
Developers in these subreddits already suspect this, and say so more bluntly than I would. One highly upvoted comment in a thread about GitHub's decline describes a graveyard of good projects that never gained traction for no reason other than never being found.
It blames a belief that community work is optional because strong code will carry itself. That belief is the actual target here. Not laziness, not bad code, but the assumption that quality routes itself to an audience.
Every scoreboard you would use to diagnose this is broken#

Say your project has 40 stars and no users. You have two very different problems and no way to tell them apart, because the instruments a solo developer reaches for do not measure what they appear to measure.
Researchers at TU Braunschweig checked whether GitHub stars track actual downloads across PHP, Ruby and JavaScript. The distance correlation runs from 0.47 for PHP down to 0.33 for Ruby and 0.14 for JavaScript.
Three details matter and almost every writeup of that paper drops them.
- It is distance correlation, not Pearson. Different statistic, different range, and the two are not interchangeable in a sentence.
- It was computed on a 10,000-point sample drawn from a 925,978-point dataset. The big number is the dataset, not the sample.
- It only includes libraries with more than a thousand downloads, which is a population your unnoticed project is not in yet.
So the honest reading is narrower than the usual take. Stars fail to track downloads even among projects that already found an audience. What they do among projects nobody found is unmeasured.
Then there is the supply side of the same number. A tool called StarScout swept GitHub event data from July 2019 to December 2024 and flagged six million suspected fake stars across 26,254 repositories before filtering.
After the strict pass it still had 3.81 million fake stars across 18,617 repositories and 301,000 participating accounts. Both numbers belong in the same sentence. The unit is stars rather than repositories, which is the detail that gets garbled everywhere this study is cited.
One more, from the Show HN corpus. An upvote is worth roughly 1.4 GitHub stars in the first 48 hours, so a median Show HN converts to about three stars. Three, from the launch venue every developer treats as the finish line.
What this census cannot tell you#

One week. Two subreddits. Everything above is measured, and here is what it does not support.
Two same-title pairs is n=2. Both point the same direction, which is worth something, but one is a 154x gap and the other is 1.9x.
I can say channel choice moved a launch by two orders of magnitude in the sharpest observed case. I cannot say that is typical, and anyone reading this as "the right sub gets you 154x" has read it wrong.
I threw out a third pair before it reached the draft. The same link about AI funding for maintainers appeared in four subreddits within the hour, scoring 92, 5, 1 and 0, which looks like a spectacular channel effect. Two of those four report an identical comment count, which is a crosspost artifact rather than a measurement.
The Gale repost had one copy that was only an hour old when I scraped it. An hour of silence proves nothing. The load-bearing half of that observation is the first copy, which had five hours and still drew nothing.
And then the objection that threatens the thesis rather than the arithmetic.
Plenty of released code was never seeking adoption. Scratch an itch states the position about as cleanly as it can be stated, that developers write a tool for themselves and release it in case others find it useful, and are within their rights to call it done and stop.
Under that reading a launch with two comments is not a distribution failure. It is a non-event, correctly.
The harder version comes from Andrew Nesbitt, who runs ecosyste.ms and previously Libraries.io, which makes him roughly the person with the most complete public view of package ecosystems anywhere. His argument is that maintainer attention is at least as scarce as reach, and nobody is trying to conserve it.
He is right, and it narrows my claim rather than breaking it. The census cannot tell you which population a given silent project belongs to. It cannot separate a project nobody found from a project whose author never wanted to be found.
The verdict#

The first half of the title is not arguable. GitHub added over 121 million new repositories in 2025 and took on 36 million new developers in twelve months. PyPI alone gained more than 130,000 new projects.
Building stopped being the bottleneck some time ago and the counts are not close. What replaced it is two things rather than one.
For an author who wants users, the binding constraint is distribution. For an author who already has users, it is maintainer attention, and Nesbitt has the better data on that one.
So the useful version of this is a condition rather than a verdict. If you did not choose your channel deliberately, you have not run the test yet, and the silence that followed is not evidence about your project. Two comments is what the venue pays everybody.
The census is full of people learning this the expensive way. Three separate file organizers and two network diagnostic tools shipped in the same seven days, none of them aware of the others, and most of them have a self-hosted equivalent that already works.
One author asked out loud how many wheels he was reinventing. That is the right question, posted in the wrong place to get an answer.
The same census caught people making the trade without naming it. In the thread about leaving GitHub for Codeberg, the argument that kept surfacing was not licensing or ethics, it was that the smaller forge costs you reach, and reach decides whether a project lives. They are describing my 154 and 1 from the inside.
One channel is not saturated yet. Models now recommend packages directly, and almost nobody publishes for that surface. It is early and unreliable, since frontier models still invent package names that were never published, but it is the only discovery path here that is not already picked over.
Which leaves the boring advice the data actually supports.
- Pick the larger, more active venue over the ideologically aligned one. r/opensource beat r/FOSS in both pairs I could measure.
- Do not repost into a room that ignored you. Gale tried it four hours later and got the same nothing.
- Stop reading upvotes as a verdict on the work. Two comments was always going to be the number.