I have started using more and more open source software recently and for many different reasons. I am cheap. Whenever I try something that is free and do the job, I just keep using it. As most open source software are also free, I tend to use them. There are also some gems in the open source world that are just better than any commercial offering. I also feel like open source software tend to be more secure since there are more eyes that can see the potential problems and propose a solution.
While using these software, I often encountered bugs, some problems or things I though were just wrong. My first reaction was to go on their website and check for a possible known issue and its solution. When I could not find the solution my second option was to drop by their IRC channel if they had one or to send a quick message on their mailing list.
Recently, I had a problem with Mercurial, a nice distributed version control system. I did what I usualy do but there were no solution for it. It was a problem regarding the use on Mercurial on Windows with paths that contain extended characters. Since I had some free time, I told myself: “I should be able to correct that bug on my own and help the project by submitting a patch.”. That is what I did.
First, I had to download the source, get it to build and get starting to test it. That task took me about 5 hours to complete because Mercurial does have some part that are written in C and the main sections in Python. Building a python module or extension in Windows does requires a bit of know-how. Anyway, I managed to find the problem and get started with a simple patch to correct it.
I went to Mercurial’s website to found out how I could contribute to their project. The first thing that struck me is their how-to contribute page. It is huge. I do understand the rational behind it, but I guess it can easily turn off any casual contributer. I wanted to go all the way so I went by their rules.
In the end, I submitted my patch and the reasoning behind it. It was not accepted but it is fine. The bug was corrected and hopefully, not other related bugs will come out of the correction.
Contributing to an open project can be fustrating sometimes. I still remember the story of Con Kolivas with the Linux kernel. He was trying to modify the scheduler to make it more fair, but his contribution was rejected. After reading his story, I doubt I will ever contribute to the linux kernel. I guess you must have a good feeling about it.
I think contributing is first and mostly about the passion. If you have a strong passion for a project and you will like it to grow and get better, go for it. Get yourself to contribute. There are many different ways you can serve a project. Testing, documenting, translating, designing, programming are only a fraction of what you can do. Get yourself known and you might gain some strong experience.
Post a Comment