Volunteering in open source
Written by Jeremy Wilken
So you want to volunteer in an open source community? You want to commit a patch, add new functionalities, improve the site, or some other awesome idea you have that will revolutionize the world? Hold on there cowboy, let's establish a few ground rules and set some expectations from the start.
You want to provide something worthwhile and want it to be used instead of discarded. There are a few things that make this process easier, and you'll get a much better response if you follow some of the guidelines I'm going to cover.
What volunteering is not
To put it plainly, volunteering is not supposed to be about you. While you may get that warm fuzzy feeling from contributing back to the community (that is a legitimate reason for volunteering), it is not about you. By this I mean it is about focusing on the common goals of the project. So if you want to volunteer to add something really cool that benefits you, that means you are not likely to get much of a response.
Volunteering is also not about making yourself look good, but that can also happen (best to be humble about it). If your contributions seem to focus on your self image, it will show and discredit your work.
Lastly, volunteering is not about making your ideas come to life. It might sound strange, but again the issue is that its your idea rather than ideas the community embraces. Following the guidelines below will help you focus and enable you to be a better volunteer.
Guidelines for volunteers
Understand what you are volunteering to do. Often people get excited about contributing, but they fail to understand the scope of their ideas. Usually this mistake is made by people who are newer to the community, and they find themselves excited by the project but have yet to grasp the entire picture.
Look at all angles. No matter what you are doing, documentation, coding, support, you need to know all angles. Have you considered how your work will impact others, what other people might need, and what will help the project move forward? A well planned idea will get a lot better response.
Do your research. Your initiative or task might not be the first time the work has been done or attempted. Avoid doing duplicate work by finding out if anything has been done so far. Ask in the forums or mailing list if you can't find something by searching, it will save you time in the end.
Know the process. If you want to contribute or volunteer, there should be a process by which you can easily give back. If its code, find out the code contribution process. It might be as simple as signing up for the forum, but if a process exists you should be aware of it. If there isn't a process, well maybe that should be what you volunteer to help with first!
Have patience. Another common issue is that people expect immediate results or immediate full access to the codebase. The mindset is "I am willing to do the coding, so why not let me in?". The issues are code quality, project scope, and functionality control. If you want to jump in and do something NOW, chances are it needs to be thought out a bit more.
Discuss with others first. Proposing a new functionality that you really need without discussing with others how the concept would affect their experience. Talk with a range of people on the forum, IRC, or mailing list, and you'll get quality feedback.
Don't let negativity stop you. Invariably, you'll find roadblocks of attitude. If you're doing everything else in this list, then its most likely unfounded negativity. This is unfortunate, but don't let it deter you from your goals.
Stay positive and friendly. Most importantly, you're attitude and the way you present yourself impacts the work you try to do greatly. I wrote extensively about being a positive force in a community, and I encourage you to agree to the same code.
Accepting volunteers
It takes time, energy, skills, a positive attitude, and collaboration for successful volunteering. I haven't mentioned the role of the community leadership in accepting volunteers, but this is also very important. Know your community, and the leadership of that community. The mark of an open source community is the way they respond to those who are actually interested in helping with the project.
I don't think any project that goes open source wants to ignore their volunteers. It doesn't make sense, or they'd close the source and make a business. However, a common complaint across multiple open source projects is people feel blocked from the process, ignored, or disregarded. It is the project leadership's responsibility to respond to this challenge. Open source projects thrive based on the members of the community who participate and interact with the project. No project handles volunteers exactly the same, and no volunteer model has proven to be perfect. That means you have to either accept the role volunteers are given in your community or bring the community together to shape a new model.
Barriers to volunteering
There are several things that will stop the positive flow of volunteering in a project. It is a simple formula though, respond and acknowledge those who volunteer and encouraging them will build a positive relationship.
Language and culture. All too often we speak or misplace our cultural values. Most communities are global, and its important to understand and respect that.
Disorganization. When a process is messy, unspecified, or unclear, people get lost in the shuffle. If things are not well organized, then it requires a lot more energy to successfully volunteer, something that will deter many.
Attitudes and mindsets. I would count this as the primary issue in many cases. Volunteering about the community engaging the community. If I don't have a positive view of others in the community, then I'm going to be a problematic volunteer or leader.
There are many more, but its better to try and be aware of these barriers and work to break them down.
How much volunteering?
I'd like to close by just talking about how much volunteering one should do. The answer is pretty simple, as much as you want. There is no formula, but I've heard suggestions of 1% to 10% of your time. I'd rather think of it as volunteer when you find something to do that interests you and fits your skills.
In the end, projects are the sum of their communities. Size of the community does not matter. All that matters is the quality of the work, and the dedication of the community to the project.
About Gnome on the run
We are a full web development studio located in the Houston, Texas area. We blog about websites, video, design, business, web analytics, conversion tracking, and various open source projects we work with.
You can track us on the following networks and ways.
Blog Categories
Interested in us?
If you have a project you'd like to ask us about, feel free to request a free consultation from us.
