I really disagree. I think the "marketing" of an open source project is more critical for long-tail projects- the projects that few use, that don't appeal to a huge audience. Large projects are going to get "marketing" pushes just as a result of their largeness; it's important for smaller projects to do some push to get themselves out there.
A little goes a long way, too. You don't need to rebuild Django's docs; just a few tweets here and there, maybe a web page for a slightly larger project.
One of my smallest projects has maybe 5-10 watchers on GitHub, but it's surprisingly a popular project in terms of users because it targets a very specific niche. Writing a simple blog post got me to target that niche far more than just putting it on GitHub would.
Imagine a small but useful library doing something really boring but doing it well. The authors, over the years, have all been established top-tier developers who just want to solve their common, and frankly boring, problem and get on with building their products/projects/whatever.
Now, any of them could probably drive marketing for this boring but works well open source library, and lead to, I don't know, 1000x the adoption without much difficulty (afaik, the one I am thinking of is only used in about a dozen places, so 1000x isn't hard).
But... why? The folks who work on it are experts (in the ten+ years of active learning in the space sense) already, it solves the problem it is designed to solve well, and allows them to focus on the things they actually care about. Spread to the dozen or so companies who use it has been completely organic (I guess we would say viral today), and that is fine as the users have learned it by using it for the most part. It has good reference docs, almost no tutorial style docs, and this is fine in those circumstances.
Adding users would mean supporting them, monitoring yet another mailing list that would now receive more than a message every couple months or so, and frankly, just require effort that everyone involved prefers to put elsewhere.
In a purely "good for the universe through entropy reduction" sense, sure, getting wider use would be Good, but in terms of finding an optimum for the existing developers/users, it would be a net negative.
Yeah, that makes sense; good point. I'm speaking less about them, though, and more about the "unwashed masses", so to speak. "Top developers" tend to code their projects by default to be viral or usable or whatever you'd like to call it. They're good at what they do, and their normal practices are good practices. But I've seen tons and tons of projects on GitHub, personal sites, and other places that are more of "push and forget". Or they're of the mentality that "this is only worthwhile for me", when that mentality couldn't be further from the truth.
A little goes a long way, too. You don't need to rebuild Django's docs; just a few tweets here and there, maybe a web page for a slightly larger project.
One of my smallest projects has maybe 5-10 watchers on GitHub, but it's surprisingly a popular project in terms of users because it targets a very specific niche. Writing a simple blog post got me to target that niche far more than just putting it on GitHub would.