Your project doesn't market itself, but remember, many folks writing open source really don't care if anyone else uses it or not.
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.
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.
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.
I used to think that marketing didn't matter then I realized it does matter. Now I'm realizing that it doesn't matter again and that it's just another way that the profit motive seeps into the project and starts making it un-fun.
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.
+1. It's all about how you perceive it. "Marketing" can involve things like documentation, steps for developers to contribute, stuff like that. The more we can focus on that, the less we have to focus on the sleazy glitz and glam of it. And, exactly like you said, most projects don't do the easy stuff, so if you even do a small amount it goes a long way.
The Changelog[1] does a pretty good job at telling the world about awesome open source projects. Especially their new gig at the github blog (github reflog[2][3]) is always worth checking out.
No, but it tends to be marketed by the same people who made it. Much like Bob the discount furniture guy[0].
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.
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.