Building a community with GitHub
At OSCON 2013 in Portland, Oregon on Thursday 7/25, I sat in on an awesome talk by Uri Cohen (@uri1803) who is the VP of Product Management at GigaSpaces. The talk he gave was titled "How We Built Our Community in GitHub" and went over a lot of the aspects of building an online community, and how they levereaged GitHub in the process for Cloudify an application for bringing apps to the cloud.
Uri covered how GitHub isnâ€™t just for Git anymore. They have newer projects such as GitHub pages, and when combined with some great new open source software tools you can forego the common CMS platform, and increase the flexibility and speed of your site by thinking about building websites more in the old school mindset of things, which leaves more control back in your hands.
You can take a look at the slides from Uri talks, and I'll also break-down my notes below:
Why open source your community?
Aside from some of the obvious reasons why you might want to open source your community, it has started to become a precondition.
Most projects these days at scale are tough to manage, opening up to a community and continually bettering your product with their support is a great way to takes leaps and bounds of progress. Leveraging open source technology can help ensure that you're saving money and thinking about solutions from an open-minded perspective as well.
What you shouldn't do
- Just put you stuff on GitHub and think you're done
- Have a "community guy" that handles everything
- Check in on your mailing list just once a week
What's worked for Cloudify
- Get everyone involved - It's not a developer thing, it's a company mindset
- Build your eco-system - Web hosting and server management
- Make it easy to consume
- Cut the bureaucracy, make it easy for people to contibute
- Be transparent
- Measure, measure, and measure some more!
- Incentivize users
- No servers
- Git pages
- Google custom search
- User forums and feedback
- Issue tracking
- Building a community is HARD
- It's an interactive process
- Have realistic expectations