How to start to contribute to Ubuntu
In my last blog post I wrote to contact me if you have any question on how to start to develop for Ubuntu.
A couple of days ago, a nice guy from London, Marcelo, wrote me an email asking for help to start writing some code for Ubuntu. We had some mails, and today he wrote:
By the way, that information is worth a blog. I had no idea where to begin and now I do. In your blog you encourage people to get involved in the free world, you could point the way.
At first I was a bit surprised: I thougth I didn’t say anything special, but seems could be difficult to start to contribute, so I leave here some suggestions Marcelo found interesting, so maybe someone else could be interested, or maybe the Ubuntu Community Team could taking inspiration to make easier to contribute ;-)
I’m going to talk about development because it’s where I’m more involved, but you can contribute in a lot of way, just take a look to the community website
Find a project you like
The most important thing is to find a project you like: you can’t spend your free time helping something you don’t use or you don’t like!
You’ve to take a look to which programs you use and which programs you would like to see improved.
Did you choose? You can change your mind whenever you want, but try to focus on a single project to start with.
The next step is understanding how to contribute. The best place where you can
look is the code repository of the project - there is always a
README.md or a
CONTRIBUTE.md file with some useful informations.
But where are code repositories?
Development of Ubuntu and related projects is based on a website called Launchpad. If you don’t know it, it’s similar to GitHub, but it has a better bug tracker, a tool for translations and, mainly, it’s opensource. Yes, it has also some downsides, and lacks some important feature, but it’s quite cool.
Here you can find all the code you need. But Launchpad is a bit difficult to use at first, and probably you need some help. If you want you can write me, but I often need some days to reply, I’m a bit busy quite now. And you probably want to talk to developers of the project you want to help.
Bu where you can find them?
Internet Relay Chat is one of the older internet protocols, it allows real time chat and is arranged in a series of rooms or channels. Each channel has a particular topic and when you are talking in that channel everyone else sees what you say. You can think of it as being like twitter except hashtags are more important than followers – and there are not so many cat pictures.
This is what the Ubuntu Community site says about IRC. You can find there
a lot of people that will help you to start to contribute. To see which channels
are available, consult the Ubuntu wiki. If you don’t know which channel
join, I suggest you to start from
#ubuntu-app-devel. It’s focused on Ubuntu
Phone, but it’s a very active channel, so you can find someone (maybe I, my
username is rpadovani) that will address you on the right way.
If you don’t have an IRC client, there are lot of them on the web. My favorite is KiwiIRC: insert a nickname, and start to chat!
Now you have read the README of the project you want to contribute to and you found the right IRC channel. What’s next?
You need to find a very easy bug to work on, and start to work on. It will be frustrating, you need to understand the code and the workflow. It took more than 6 days to have my first patch accepted. And was a fix of a typo!
But here there is my great secret: found someone who support you. So, try to talk with other developers, write on mailing lists, do questions. The start is the most difficult thing, but if others see you’re curious and willing will help you. And you’ll have a lot of satisfaction.
I’ve to say thanks to a lot of people, some of them I never met, to support me in these last three years, first in ubuntu-it and then in Ubuntu. In no particular order: popey, trevino, nik90, dpm, warp10, mhall119, boiko, gwaihir, osomon, dholbach, dolasilla, l3on and so on. And nowadays, thanks to all who write me a mail for support. They make me happy and determined to continue.
And, if you’re lucky as I’m, you’ll find a mentor. I find Michael Zanetti.
I’ll repeat myself with something I write last November, but I am convinced that I do not ever thank enough:
So, today is the Ubuntu Community Appreciation day - I want to say a big thanks to Michael Zanetti, he isn’t only the Canonical employer who I work with in reminders app, but he is also my mentor and a dear friend. He taught me so many things, not only about Qml or Ubuntu, but on a lot of different fields, and he is always available for a chat. I had the luck to meet him in person during Washington Sprint, and I’m very happy to work with him on daily basis. So thanks Michael, keep up your work - you aren’t only an awesome developer, as we all have seen yesterday - but you’re also a very cool guy!
I hope to hear soon from you! Start today to contribute to Ubuntu, and change the world bit by bit