It seems to be quite a common belief among potential Ubuntu contributors, that it is very difficult to contribute source code to Ubuntu. I have met with such opinion many times, in bug reports, comments at OMG!Ubuntu!, at AskUbuntu. There is quite a lot of people who might help and write some real code, but are not willing to do so, because they are overwhelmed by the size of the project.
It indeed may be sort of frightening for new developers to get started. And it may seem even harder, if there is an established team working around the code one might contribute to. Is it so?
Some time ago I got involved in the Ubuntu Accomplishments System. Describing how I got here may be treated as encouraging material for those who might be helpful for Ubuntu Community, but for some reasons feel it’s out of their might.
It all began the day I accidentally found the wiki page concerning Accomplishments System. I decided to give it a go, and followed instructions on how to install it. Worked cool. But these days the project was still in it’s infancy. I have noticed a bug, very simple one – notifyOSB bubbles were displayed in a wrong order. I’ve dropped in to #ubuntu-accomplishments to consult whether it was indeed a bug and if I should file a report about it. Having reported it I thought:
“This must be a matter of reordering two lines of code. Why won’t I have a look and tell the developers where to look for bug’s cause?”
It did not took me much time to find that. That was indeed such a small problem. Encouraged by Jono, I committed this change to the branch, and sent a merge proposal. To my delight, it was accepted quickly after, and this way I made my first contribution to UAS!
Happy about my success, I decided to help with another bitesize bug. Again, being encouraged by UAS developers – particularly Jono Bacon, fixing this was a real pleasure. Again, my contribution was accepted.
At that part I was slightly familiar with the code. I began looking for greater bugs, and soon after my contributions to UAS became very significant, and now that 0.1 was released, I consider myself as one of the main developers.
It is also worth writing, that I have never before seen anything written in Python. I’ve learned it by reading UAS source, consulting documentation when needed. In short time I got heavily involved, starting from scratch – the only thing I had before was a great desire to contribute code to one of Ubuntu projects.
If anyone is ever (again) going to tell me that he will not get involved in Ubuntu, although he wants to, because it is difficult to start - I’ll be proud to encourage him by presenting my own example.