My first patch to GNOME


I’ve used open source software for many years now but I haven’t really contributed back to any of the open source communities. I have filled some bug reports but other than that I’ve been simply a happy (and sometimes less happy) user. However yesterday I took the first step by doing tiny tiny contribution to GNOME or to be specific to gnome-session. The funny thing is that it was all because of selfish reasons.

I was writing my script called osinfo and found out that gnome-session gave exit value 1 when called with –version argument. This was easily tested doing the following.

[[email protected] ~]$ gnome-session --version
gnome-session 3.6.2
[[email protected] ~]$ echo $?

Exit value 1 with non-error cases is problematic because usually exit values other than 0 are interpreted as an error. This was also the case with Python’s subprocess module and specifically its check_output function.

Since I knew that this was trivial to fix I thought that I might just as well fix it. The problem was that I had never before contributed to GNOME so I had no clue how and where to send patches. Luckily after some help from google and I was directed to their bugzilla. Unfortunately GNOME documentation isn’t the easiest for the beginner because they are quite dated and I really didn’t want setup IRC client to join their IRC channels and ask for help. So I spent most of the time browsing their bugzilla and reading git logs to determine conventions used for commit messages and bug reports.

EDIT: I finally did find the documentation Contributing patches.

Finally I created a bug report and attached a patch for the bug. Few minutes later one of the developers reviewed my patch and a while later I received email that my patch was committed to the master branch. Everything went smoothly and surprisingly fast so I might just do this again next time I find something that bothers me in GNOME.