Contributing to Open Source Projects

On the latest LugRadio (Season 4, Episode 2 – listen to it if you haven’t) they discussed how to get people to contribute to Open Source projects in greater extent. Early on in the discussion somebody mentioned why people start reading mailing list, creating accounts on the wiki, the forums or whatever system that project uses for contributing and gets stuck there. I felt; this discussion is for truly for me!

I don’t know how many times I have pushed the edit link on a wiki page to try to improve the documentation for that Open Source project, been starting to write and then 30 minutes later been closing the web browser without saving. I’m now asking myself; why is that?

Could it be because the text I produce is not good enough? Is it because I’m afraid that people will tell me that I’m wrong? Because I think that documentation is useless and nobody would read it? Or might it be because I can’t select from the long list of things that should be fixed and my tiny contribution would feel pointless?

What I can narrow it down to is that the reasons for me failing are because it’s too hard to start contributing. When I want to contribute, I want to start writing the documentation right away – not start out by having to understand the quality process, the tools for contributing or any other ”project-configuration-mechanisms”. And then, there’s another problem. More than once I have gotten the feeling that I’m, in one way or another, a bit responsible or expected to keep on documenting or updating and that’s not what I’m interested in (right now at least). I just want to write, push submit, get the feeling that I did something good and go on with my other TODOs.

One possible solution would be the following.

I could go to the project web site, push a shiny, friendly button that says Contribute, select the category that I’m interested in contributing to (documentation in this case), select that I have 30 minutes (or five minutes) and push another button that says Randomize my contribution, a brief description of what I could spend 30 minutes on appears. I can now select that one or keep on pressing the Randomize my contribution button until I find something that I think would be fun. When I’m done writing I simply push a submit button and get a nice thank you message and I’m done. Easy as that!

This could remove or reduce the issues presented above. The problem with being afraid to commit (due to bad writing or that it might contains errors) is solved by having a review category. Many systems have review mechanisms today, so this might not be a totally valid point but if I’m afraid of this I could select not to publish my name. The issue with useless documentation might be solved by enhancing quality of documentation by committing in greater extent. My last issue with the selection and pointless to commit -problem is definitely solved since I don’t even have to see the complete list of things that should be fixed.

The ideas presented here is not a complete solution but it could be an extra option. If you have any ideas, comments or if I’m totally wrong just tell me!

Publicerat av Ola

WordPress, UX och e-handels frilans. Driver varumärket Sten. Jobbar som lärare inom webb, media och IT på NTI Gymnasiet.

6 svar på ”Contributing to Open Source Projects”

  1. Who cares if your doc. contribution isn’t perfect?

    Is that not the main point of OSS, the massive peer review? If something isn’t 100% accurate, or spelling/grammar mistakes exist, someone else that comes by can fix it.

    A buggy contribution is better than none at all.

    If you do make a mistake, nobody will be angry/annoyed– only greatfull that you tried.

    Your contribution will 99/100 times be usefull for somebody — very rarely can it be seen as pointless.

    Next time your on that wiki reading that how-to, and you notice a step missing. Don’t restrain youself from filling it in!

    Contribute contribute contribute!

  2. 1. Start OS Project.
    2. Put up shiny Contribute-button.
    3. ???
    4. $$$

    But seriously, this idea is great for the projects that requires lots of small not so complex tasks (Which of course should convey most project anyway 😉 But I do have a feeling that it probably is more productive and meanigfull to commit to one or a few projects that you become a part of. That way you will feel more commited and make sure you put those 5-120min that make a difference. Can we also improve the chanses of that happening?

  3. I find it very hard to find something that I can contribute with for 30 mins or so. What I mean is that most often you want to do something with a project, which is not documented. If you figure out how to to it, that is worth writing down. But it is rarely so that there is something I can write about unless I know something about it by for example trying it (like an install process).

    It is very seldom that you can just write ”documentation”. I mean spellchecking and grammar, okay. But real useful documentation requires in-depth knowlegde about the project. Somewhat related to Mr Holmdahl’s post, some select projects rather that just cruising around the world of open source and pressing ”contribute”.

  4. Jesper: I don’t really know why, but it feels more that the fun of submitting is somewhat lost and that’s what I’m trying to address here. I’m uncertain that this is the cure, but it’s the best idea I have today. I’ll keep you updated when I have figured out the ultimate contribution process ^_^

    Peter Holmdahl: I don’t think that this idea will in any way replace other mechanisms for contributing, but rather play together with them. It’s probably, as you say, better suited for documentation of for example the Network Manager in Gnome or to review the installation steps when installing a certain extension for Firefox or other things like that.

    I don’t think that regular contributors will use it either. But it might be a good starting point since you choose to give away 30 minutes and then you feel that you can do something in just 30 minutes and starting points are good. They might even get more people involved in a more long term since you don’t have to learn the commit processes from your first contribution.

    Many forums have a button that says List unanswered threads and that’s what I have been using to give 15 minutes every now and then and there I’m better of with the replies.

  5. Adam: You might have a good point that it might be hard (or impossible) to get something done in 30 minutes but I still have some points to make. When you say that one must figure out how to do one thing I think you forget that you are basically doing things all the time just by using the software. You have installed loads of software, you have probably been fiddling around with keymaps in Ubuntu, you have been making you own skin to WordPress… All this information and knowledge could maybe be useful?

    An example; When I got started with writing templates to WordPress it took me several hours to get enough knowledge to be able to write the templates, but then when I explained it for a friend it took me 10 minutes and therefore I think that it must be possible to write documentation for that in 30 (there might be documentation enough for this, maybe I just didn’t find it so no hard feelings to WordPress). This is maybe not connected to the Random contribution idea, but more to the simplicity in contributing without any obligations.

    I don’t mean that the current processes are bad, but rather that it would be nice if we could try to use these potential resources as well. I can se one potential problem with how to find valuable documentation in the massive databases in the long run, but that’s probably a technical problem that’s possible to solve. Google does that all the time.

Kommentarer inaktiverade.