Open Source Doesn't Just Market Itself
zachholman.com
zachholman.com
The statement, "But if you believe your project has value — which you probably do, since you spent time on it — you should try to get it in the hands of as many people as possible," is not really true. There are times it makes sense to market it widely, such as: 1) you are a consultant and want to use it for marketing yourself, or to get gigs based on it, 2) the project complements your product so driving wider adoption of it has positive implications for your main focus; 3) you are attempting to establish a name for yourself via open source, and being an author of a widely used library is a Good Thing. There are others, but those are three common ones.
There is a VERY large class of open source where this just doesn't matter though -- things which you write for yourself to use, which solve your problem, and which there is no overhead to open sourcing, so you do it altruistically. Frequently, in this case, adding lots of user support, community building, marketing effort, etc will in fact add enough overhead that the project becomes a net negative in relation to your goals.
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.
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.
I also had stickers made that I mail to contributors and promoters. If I had the cash, I'd make tshirts. All of this makes the project feel vibrant and alive which inspires people to participate and contribute.
Marketing a free software project is the same as SEO: have good code and documentation and you're 90% of the way there. Most projects don't have very good documentation, or they actively discourage users and developers in other ways.
Make it easy for people to use and develop the project and you're ahead of the game and don't have to worry about marketing or any other bizniz development crap.
The case of Bob is particularly interesting to me. Back in the early nineties Bob commissioned a slick marketing campaign with trendy music and hip radio personalities. I surmise it didn't drive sales too well because it lasted for only a few months before he dropped it and appeared in his own commercials, in trademark polo shirt and jeans with his loud annoying voice. The authenticity, real or perceived, helped turn Bob's from a Connecticut business with a single location in Newington into a force to be reckoned with throughout New England.