I wrote an article for opensource.com for its "Careers in Open Source" series. It contains some lessons I've learned while trying (and occasionally failing) to cultivate our own open source project, concrete5.
Maybe you wrote this software to fill a personal need, or maybe you've always hoped that it would reach more people. One thing's certain: it's always been yours, and yours alone—but the moment you pushed that code for the first time, your baby left the nest. What comes next is up to you. You can choose to never touch this code again. Even this can be of great help to other developers. But if you want to reach a wider audience you're going to need to cultivate a community around your open source project. This requires a great deal of skills that don't always come naturally. It's not enough to be a great developer, if you can't communicate well. Conversely, a charismatic personality won't do you much good with those who respect code above all else. And if you somehow manage to luck into the right balance of the two, you might just burn out quickly if you don't learn to take some responsibilities off of your plate and put them in the hands of your capable community.