How do you get a new free software project off the ground? It’s all about community.
I answer reader questions about free software issues here, and an interesting question came up recently from a reader thinking of releasing code as free software. How do you get a project off the ground? How do you build interest and nurture a community?
First, you have to decide if your project is well suited to a free software model. To be successful, you need a base of users who may also become contributors. The ideal user base is one with an interest and ability to improve the software. In other words, you need some developers among your user base, and the code needs to be interesting to them.
The way you handle the community is critical. The project should be structured such that contributors can feel like a part of a community, not just free labor. The best way is to create an official non-commercial entity to oversee the project, even if you are also building a business around the code with customizations, support, and/or extras. Think about how to handle code submissions and copyright ownership at the beginning to avoid potential problems later. Clear rules about roles, contributions, and copyright will set a professional tone and let people know up front what to expect.
Remember that communities can have a mind and life of their own, so expect to meet some challenges with compromise. No one wants to be involved in a dictatorship (or at least, probably not your dictatorship). Good contributors will have ideas for the project roadmap, and good diplomacy on your part will keep everyone happy and moving forward in the interest of better software.
Finally, building a successful open source community is all about relationships. Contact users and potential users about your software, tell them you are thinking of releasing the code as free software, and ask what they think. Then work on establishing relationships with users who may become contributors. Many open source contributors start by submitting bug reports, patches then gradually more. Start establishing relationships early.