Why People Don't Contribute to OS Projects, and What We Can Do About It

Why I care, and you should too.

Many people know that when I can, I help Ed Finkler out with Spaz. I don't contribute to the code base, but I help with end-user support, and I help coordinate the efforts of other end-user support people. Many people also know that I work with PHPWomen and of our attempts to boost open source involvement with our members through the PHPWomen Partnership Program.

Interestingly, the issues involved with both of these groups overlap. As those in the open source community who either contribute to, use, or advocate open source projects, we understand the importance of keeping them vibrant and active. We understand how great it is to be a part of a growing project we believe in. We understand the benefits of being an active community member. We understand that it not only helps the good of those around us, but it helps us hone our own skills. So what can we all do to get more people to contribute? Even if you aren't a project lead on an open source project, you don't want to see it fail. The obligation to keep things going lies within us all.

I get curious about things sometimes, and when I wondered "where is everybody?" I wasn't sure of the answer. There are so many great opportunities in open source projects. Are people taking advantage of them? Do they even know about them? Do people even care?

What the "research" showed.

Naturally, my first thought was to ask Twitter. So in this completely non-scientific poll, I asked developers who weren't contributing to an OS project, why they weren't contributing. At the time of this post, there were responses from 264 people, and I allowed people to choose more than one reason. Of course this is by no means exhaustive, nor is it meant to be a substitute for any real research on the matter. But I think this does give a little insight.

Although there are many things that keep us from contributing (including one person who "thinks people like Ed Finkler are scary"), the top three replies, by far, were these:

1. Not enough time.
2. Not sure where or how to contribute
3. I'm not confident enough in my own skills.

Numbers 1 and 2 were no surprise to me. Funny thing about Number 3, though; I added that as an afterthought. It was one reason I personally always shied away from contributing, but I figured surely others were more confident in themselves. I found these results quite interesting, and I'm a bit relieved that I'm not the only self-conscious one out there.

So what?

How can we overcome these obstacles to encourage more participation in our projects?

Let's look first at Number 1: TIME.

It would be great to have more time. We all need more time. Nobody has enough time. Yeah, yeah. We get it. I don't foresee that changing anytime soon, so how can we work with this? Here are some ideas for project leaders/devs:
  • Break up big jobs into little jobs. If you need help with documentation, break it into smaller, more manageable chunks. Chances are, you'll have better luck getting someone to write a one-page doc as opposed to a 20-page doc.
  • Quantify time commitments. I tried being a member of our elementary school's PTA, but for some reason I didn't quite fit in with the other moms (long story; I'll tell you over a beer sometime.). While I still think those people are crazy, one thing I'll give them credit for is that they know how to recruit volunteers. They tell you up front how much time a task will take. Only then can volunteers make an informed decision about whether they can step up. Much like putting a monetary price on something, you are telling people how much it will "cost" them.
  • Keep time commitments minimal.. Something else the PTA does right, is that they've mastered the art of breaking things into 15 or 30 minute increments. They tell you up front "this task will take you 15 minutes" or "we need someone to take carnival tickets for 15 minutes." And really, who doesn't have 15 minutes in the day to work on something they care about? (Ok, there may be one guy out there; his comment on the poll was that "his wife would kick his ass for doing something that took away from family time without financial recompense." He might not really have 15 minutes to spare, poor guy). Even bigger tasks can be broken up per day; 15 minutes a day works out to almost 2 hours a week. Not too shabby.

What about Number 2? UNCLEAR EXPECTATIONS.

People aren't mind readers; they like to know what you need from them up front. Here's what we can do about this:

  • Define what exactly is needed. We've started doing this with the PHPWomen Partners - by explicitly defining areas where the most help is needed, you make it easier for potential contributors to see how they can help. Makes sense, right?
  • Make the "how to contribute" page on your project website clear as day.Help them help you. Don't make potential contributors search for or guess what you need help with.


If we don't keep the cycle of contributing going, and include new people on a regular basis, inevitably the cycle will die, and the project will stagnate. We all have to start somewhere, and we all make mistakes. So what can we do to convince people that you don't need to be a super ninja coder to contribute to a project?

  • Save some low-hanging fruit for beginners. It's easy to do the easy things. But think about it, if you only have more advanced things on your to-do list, then your chances of attracting a beginner are much more slim.
  • Communicate that you have a welcoming atmosphere. We do this through the PHPWomen partnership program also. The goal is to encourage participation, and to reassure new members to the community that they will be accepted. Remember, potential contributors to your site are not mindreaders. If you don't tell them, they don't know.
  • Appoint an ambassador. Having one person that can help newcomers to the community understand how things work, what it means to contribute to open source, where to go for questions, and that sort of thing can go a long way in actively recruiting new participants.
  • Make it clear you have other needs besides code. Many projects are also in desperate need of design, documentation and support help. Many also simply need users of the software to help other users or to help spread the word.

The bottom line is, if you're involved at all with an open source project, you have a vested interest in seeing it thrive. In order to do that, you need to "sell" it. You need to sell how great it is to use, and also how great it is to work on it. You need to actively encourage people to participate by keeping in mind the three main obstacles above.

What other ways can we recruit new faces to our open source projects? I'd love to hear your thoughts.

PHPWomen Partnership Program

Yesterday, I was very excited to announce that PHPWomen will be partnering with Open Source projects who foster open, friendly and respectful communities. We work with project leaders for these projects to identify specific areas where they can use the most help, then we, in turn, promote these opportunities to PHPWomen members. The result is that we get more women involved in contributing to open source, open source projects get the help they desperately need, and everybody goes home happy.

It's interesting to note that while we ask that a project provide a Statement of Diversity, or other similar language somewhere on the site, this is not always easy to do. I understand some hesitation in putting this idea in writing, and if a project leader instead can assure me that our members won't be harassed by a bunch of assholes, then I'm okay with that. By linking the PHPWomen name with your project, we're putting faith in the fact that you will treat everyone (male and female) with respect and as a valued member of the community.

I've been asked by more than one person why a Statement of Diversity is needed, when that should be the default. It should be obvious that everyone is respectful and treats all others equally. My answer to that is yes, it *should be obvious*. But it's not. Consider this. If you take the time to dedicate a page of your site, or even write up language that suggests your community embraces diversity, is open, friendly, and doesn't tolerate disrespect or discrimination based on anything, then that tells me that this is a priority for you. It sets the tone for your community. It clearly identifies your stance on the matter. If I come to your site, and I don't see anything anywhere that mentions how you treat newcomers, then for me to assume you're going to welcome me and my contributions with open arms ... well that's a big assumption to make. So while we don't require it, we do appreciate those that take the time to clarify the culture of their communities.

We already have 6 projects that have partnered with us, and are in discussions with numerous others. We are proud to partner with these awesome projects, and you can read more about them or see what specific opportunities they have:

If you are the project leader of an awesome Open Source project, and you'd like to be included on our list, by all means give me a shout at Elizabeth.at.Naramore.dot.net. And if you have considered contributing to open source, but you aren't sure where to start, then check out the wonderful opportunities that are out there!

PHPWomen - an Update for 2010

Recently there have been rumblings and rumors surrounding PHPWomen. Where are we? Are we still active? What have we been up to? Have we disbanded?

Yes, things have been quiet lately. No, we're absolutely not disbanding and we're as passionate and committed as ever to connecting women in the PHP world. As often happens in life, things come up. We get busy. Other things compete for our attention, and sometimes the important, but less urgent things get pushed aside for the moment. Rest assured, PHPWomen is still alive and kicking!

There are some updates I'd like to mention:

1- We'd like to welcome Remi Woler to our core advisory group. We welcome Remi's assistance and feel he is an invaluable resource for us. Did you know our core advisory group of 9 now includes 3 gentlemen? We strongly believe that having a diverse group gives us a much broader perspective and we are thrilled that we have such support from the male contingent. Welcome aboard, Remi!

2- There are still many areas where we need your help! We are revamping our structure a bit, and can use any and all volunteers who would like to be involved. From our mentorship program, to book reviews, to helping represent the group at conferences and helping with the website, there are many ways you can help. We are updating our Get Involved page, so keep an eye out for that, or you can contact me directly if you're ready to jump in.

3- We now have over 600 members at our forums, but we'd like to see that number grow. If you know someone who wants to be connected with other women in the PHP industry, by all means, send her over. She is definitely not alone.

4- We have been discussing some exciting ideas for raising money for charity, for later on in the year, so keep your eyes and ears open. More about this later.

5- We are in the process of creating a calendar of events that may be of interest to our members, or anyone in the PHP industry. We'll be keeping a list of conferences where we will be, places where our members are speaking and other conferences and CfPs.

6- While we have a great time connecting and assisting women in the PHP industry, we want to make sure that we communicate our level of professionalism. Our new mission statement reads

Our aim is to provide a network of support and mentorship to women, help women become more involved with PHP, increase our numbers at conferences as speakers and attendees, and provide a “female friendly” and professional atmosphere.

Our core advisory group will be meeting on a more regular basis in 2010 and we are all excited about keeping the momentum of PHPWomen going. If you are interested in helping out, or want to be more involved with our group, please don't hesitate to contact me (elizabeth .at. naramore .dot. net) or any of us in the PHPWomen community.

Gender in IT, OSS, & PHP, and How it Affects Us *All*