At OSBC last week I saw a great presentation by Dries Buytaert on how to build community. Dries is the founder of Drupal. The slides for his presentation (20 MB) include "Dries' 7 secrets" which I'll write about here.
Dries started out by showing us how the Drupal community really is a community excited about Drupal. He had pictures of people carrying around cutouts of people that couldn't attend a conference, hand made Drupal socks, Drupal cookies, etc. He then went on to give his "rules" for creating community:
- Open source communities are always a bit broken … and that's good. You have to learn together and grow together in order to become a community. Everything won't be perfect and that's ok.
- Software architecture should be modular. By having a modular project you enable people to write their own module, use your product and avoid forking. So you can say no to them and they can still write what they need. He also advocated for keeping all the software, including the modules, centralized in one place.
- Put community in control. By having them own their own modules, you empower them. He also said "screw roadmaps", they kill innovation, just let people work on what they think is right. TRUST = currency. Make trust flow and you empower folks.
- Tools. Make sure you have community design patterns. By design patterns he meant tools and processes that allow new members to join easily, create a sense of id (avatars, pictures, etc), converse (forums, blogs, etc), support (forums, bug tracking), etc. Make sure you have the tools to create a successful project and community.
- Mission. Find a higher purpose that your project can serve. Chase the dream, incite passion, rally people both community and customers behind your purpose. (FYI, GNOME's mission is to provide a free desktop to all regardless of ability, financial circumstances, or nationality. Free access to the desktop, to technology for all.)
- Culture. Make sure it's 100% transparent and one of collaboration, sharing and helping. Do everything online, avoid private conversations, all decisions are public. Be authentic, be honest. (The topic of doing everything online came up several times. Josep Mitja from Openbravo said that their employees sit in the same room and have their meetings on IRC so everyone can participate.)
- Leadership. And leadership is not management. Telling people what to do does not create a movement. Instead get people together and get out of your community's way. He quoted Clay Shirky "Replace planning with coordination." As an example, he talked about how before cell phones people had to plan meetings, whereas now they can just coordinate where they are. (FYI, I got the impression he hadn't planned many meetups before cell phones. Having just traveled to a part of South Dakota where my phone doesn't work and trying to meet up with tons of family members, I now realize just how much we rely on coordination instead of planning.)
- Join your own community! As a peer! This was a bonus rule but one Dries said is often over looked. This also came up during the community panel I put together later in the conference. You can't give special status to your employees. They need to join the community like anyone else. Dave Neary had an example where the boss said he wanted to give employees everything they needed to get the job done, including commit access, and Dave had to explain they needed to earn it like everyone else.
Dries was a passionate speaker, knew his stuff and had great visuals to go along with his presenation. If you get a chance to see him speak, I recommend it.
Any other rules you'd add to Dries' 7 (or 8) rules for creating communities?