Twitter github

Lowering Contribution Barriers in Open Source

Inside the Eclipse community, we’re looking at ways to make it easier for people to contribute. Part of that work involves working on improving the web presence of Eclipse when potential contributors come visit (the other major part is at the code level, but we will leave that for another post). To help me with some ideas on how to improve the contributor experience on the Eclipse.org site, I wanted to look at how other open source communities are handling it at the moment. My thought was that visiting other community sites would also help me play the role as contributor since I’m so entrenched with things at Eclipse and have a difficult time putting myself into the role of a contributor.

Mozilla

When visiting the Mozilla site, I was greeted with a gigantic Get Involved button.

mozilla

Mozilla realizes that there are many types of contributors out there and accommodates appropriately for that.

mozilla2

As a bonus, Mozilla even had contribution options based on how much time you have available!

mozilla3

Awesome!

Symbian

The Symbian site had no clear way for me to realize how I can contribute to the effort. The site was pretty but I’m not sure the excessive use of flash is going to win bonus points with developers (does Flash even run on Symbian-based phones?).

symbian

After some digging, I found the Symbian developer site.

symbian2

It was pretty easy to find links to code, bug tracking and forums. I didn’t see any obvious links for people who may want to contribute translations or their artistic skills to the project. Then again, the Symbian foundation is pretty new so maybe they aren’t at the point where they need translation contributions.

Fedora

Inside the Fedora site, I immediately was drawn to the Join Fedora link.

Join Fedora

After clicking that link, I was presented with a wonderful variety of ways I can contribute to the Fedora project.

fedora2

I’m a huge fan of any open source community that realizes that contributors come in all shapes and sizes; there aren’t only coders out there.

Ubuntu

The Ubuntu site had nothing obvious on how to get involved immediately (you have to scroll down quite a bit to see a link to get involved).

ubuntu

I dug around a bit and found a link to Get Involved with the Ubuntu community. I was delighted to be presented with the way I would like to get involved.

ubuntu

Ubuntu seemed to classify its contributors into developers, non-technical users, technical users and people willing to donate money.

Seems reasonable.

Conclusion

What did I learn at the end of this exercise? It’s important to realize that there are many different forms of contributor roles in open source. Here’s my simplified version of the major roles contributors may play:

  • Writers
    • These people can help with things like documentation and articles
  • Developers
    • These people can code; provide patches; potentially become committers
  • Translators / Internationalization

    • These people can help with internationalization efforts
  • Graphical Artists / Designers
    • These people can help with artwork; don’t let coders design things
  • Evangelists
    • These people can help organize events and spread the word; marketing is key

There are contributors that may fit many of these roles, but most will specialize in one type of role. The key thing to understand is that you need to cater to each of these roles including how much time people have (like Mozilla did). For example, developers will want to know how to access code and contribute patches to the project. Translators will need to know where to go to translate strings for the project or file bugs for long German words that wreak havoc on your user interface. And so on…

What do people think? What can open source communities do better at making it easier for people to contribute? As a next step, I’ll take a look at playing the role of contributor in one of these communities and write a “Hello, World” type application.

If you have any ideas on how to improve the contributor experience at Eclipse, please comment on this bug.