While I was going to college I had a job at a shelter for horses. The staff at the shelter was small, four people not all full-time. We had quite a few volunteers who helped in a variety of ways. There were a few that were very consistent and came every week to do a specific task. Others would come more sporadically, sometimes only once. I always remember during the winter at this job shoveling manure alone most of the time, especially when it was really cold or there was a lot of snow. Those few very consistent volunteers still always came to help no matter what, but most of the others disappeared until spring. We were also always giving tours for new potential volunteers, but they seldom turned into regular consistent volunteers. I didn’t realize it until later, but one of my roles working with the volunteers was very similar to what an open source community manager does.
An open source community manager’s role is to facilitate, enable and improve processes to ease contributions to a project. Below I’m going to focus on volunteers, but open source communities often include people that work for non-profits, companies or freelance. The same techniques are applicable to these individuals as well. Recruiting, training and assisting volunteers can be a large portion of this role. It is important to under styles of volunteering to effectively perform this work.
The structure of volunteers in open source and on the farm have quite a few similarities.
- Consistent volunteers: these would be maintainers or others who are generally always there. Some have the one task they can be depended on to do.
- Occasional volunteers: these individuals tend to step in when there is a particular problem to be solved and can sometimes be recruited when there is an extra need. In software this might be a big release at the farm it tended to be our annual open house.
- One time volunteers: At the farm these types of volunteers generally had just not decided to volunteer after one attempt. In open source that can be the case certainly, but there are also volunteers that stop by to log a bug or submit a patch for a specific issue that affects them.
- Never volunteers: There are also those who are aware of the project and never become volunteers.
In a perfect scenario that one time volunteer would turn into an occasional volunteer and then someday become a consistent volunteer. While that certainly does happen, it’s rarely the majority of cases. Here are a few possible reasons:
- Issues and pull requests take a long time to be responded to
- Paths for contributing are not clear (lack of documentation)
- Not feeling like contributions are valued (often non-coding contributions are treated this way)
- The communities style of communicating is not welcoming or is even hostile
- Lack of a code of conduct
- Not enough time to contribute
While some of these barriers there is little a community manager can do, but there are others where improvements can be made to create and retain more volunteers. Helping facilitate a process to implement a code of conduct for example or improving documentation for contributors. Making sure people feel their contributions are valued sometimes can be as simple as thanking people.
The roles and tasks of a community manager can vary depending on the nature and style of the project. Enabling contributions is a key part of the role, but how that is done can vary.
If you know one, thank a community manager today.