Build that community!

Developing a community around your project is hard work. But it’s worth it. I think that every open source project dreams of having a community… at least they should dream of it.

A community does stuff for you. As you develop a community of users, you’ll get feedback. Feedback is valuable to every project as it lets you know if you’re doing the right sorts of things. When you’re successful in developing a community, you’ll find that they do even more for you, including great contributions of ideas, code, tests, testing, and far more. A well-developed community is a great source for new blood into your project: new committers come from your community. If you’re fantastically successful, a community will do great things like answer questions about your project and technology for you on IRC, newsgroups, mailing lists, and other forums. They’ll write books, fill out documentation, do presentations, tell others, and more. In short, if you’re successful in developing a thriving community, your work gets easier.

You’ll know that you’ve been fantastically successful with community development when you stop being the center of the universe for your project. Unfortunately, many of us have hard time letting go of control.

Developing that community is hard work in the beginning. You actually have to get out there, find your community, and engage them. You have to deal with disappointment: some of your efforts to find your community will fail. You need to push through the disappointments and look for new opportunities.

One of the best things you can do is make easy for your community to find you. Make sure that your project’s web site is up-to-date. Make sure that you have a concise description of why it is that your project exists (make sure that the description is on your project-info page and that the project-info displays correctly). Provide links to your newsgroup. Actively monitor your newsgroup and answer the questions. Lurk on eclipse.newcomer and IRC (#eclipse on freenode.net). Be there for your community. When people try to engage you, engage them back. Turn those early adopters into ambassadors and evangelists for your project. Be aware of the landscape. Make connections with other projects. Avoid becoming one of those “not invented here” projects. Use other project’s stuff when you can. Leverage their communities by lurking in their newsgroups.

Help people get involved. Make sure your project plan is up-to-date. Make it as easy as possible for interested parties to get your code; provide Team Project Sets or Buckminster specs to make getting the code out of CVS/SVN simple. Provide a link to find existing bugs and a convenience link for creating new ones. Make sure your download page is easy to find.

Get out there. Developing a community requires effort, but the payback makes it worthwhile.

This entry was posted in Eclipse 101, Technology PMC. Bookmark the permalink.

4 Responses to Build that community!

  1. Ed Merks says:

    Excellent advice “Iron Fist.” Having a good community takes work. Not having one is easy: just ignore them. But in the end, that approach results in even more work for you personally when you’re stuck doing everything on your own. Not only that, it’s also far less rewarding and for more likely to make your project a failure in the eyes of those who judge such things, i.e., the community.

  2. Ed Merks says:

    Or is Chris the only “Iron Fist”?😛

  3. Wayne Beaton says:

    Chris is “Iron Fist”. I’m “Mad Dog”. We still need to think up proper nicknames for Bjorn, Gunnar, and John.

  4. Nick Boldt says:

    Bjorn dubbed himself “Knuckles” during the Ganymede rampdown season.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s