My JavaOne encounter has caused me to think a lot lately about developing community around open source projects. Here’s a good rule of thumb if you want to develop a community around you’re open source project: don’t call your potential future users “stupid”. Yes, I am making a mountain out of the proverbial molehill.
The first and most important thing is to realize exactly how great the open source software you’re creating is. If you don’t believe in it, nobody else is going to either. But this does require balance. Confidence in the value of your software and your engineering Kung-fu is good. Arrogance will turn others way. Having said that, history has demonstrated (to me) that some amount of arrogance can be valuable.
Second, you need to assume that the community that your open source project serves knows nothing about you and cares even less. And they’re not going to know anything about you until you tell them. In rare cases, the stars may align and the community will come to you, but these cases are rare. Overnight successes almost never happen overnight. In the early days of Eclipse, the Eclipse team heavily with the community they wanted to develop. They sent their rock stars out into the community to do demonstrations, host code camps, deliver talks, write papers, hold hands, and more. Eclipse was an overnight success because the Eclipse project put a lot of hard work into making it so.
You need to get out into the community you’re trying to attract and engage them in a manner that is appropriate for the community.
So… how do you define the community you’re trying to attract? How do you engage that community? How can you demonstrate the value of your open source software to that community?