Contributing to Debian Distro Tracker

I was introduced to Linux when I joined the FOSS club of my university back in 2014. I started with Ubuntu but after a while, it seemed to be less exciting. So I started exploring other options and ended up trying Fedora, Kubuntu, Neon KDE and Linux Mint. All of them were really good, but I wanted something that was stable and reliable. That’s when I decided to try Debian 8. It’s been 2 years and I haven’t turned back. Debian 9 Stretch + KDE 5 is the best combination for me.

Being a Debian user I wanted to be part of the community and contribute to help make Debian more awesome. That’s when I started looking for projects and came across this project to improve Distro tracker, which was written in my favorite web framework – Django.

Obviously, I was all excited and went in search of ways to contribute to Distro Tracker. I went through the contribution guide, cloned the repo, installed Python packages and Django 1.11. With the help of the Debian QA community and Lucas Kanashiro,  I was able to fix the errors encountered during the setup process.  Then it was time to find a simple bug to work on, I went through the list of bugs at bugs.debian.org and found a bug tagged for a newcomer.

The code was well-documented which made finding the bug quite easy. To fix the bug I just had to remove leading and trailing spaces from the input to the search field. Soon, I fixed the bug and made a merge request. But It was not that simple as the project follows Test Driven Development(TDD), so I had to write a unit test to validate my bug fix. It was a challenge as I had practically no experience writing test cases, I asked the community for help and Raphaël Hertzog from the Debian community suggested I should read the book: Test Driven Development with Python by Harry J.W. Percival.

And that’s what I did, followed the examples in the book and the test cases already written in Distro tracker. In few hours I came up with a test case, updated the merge request.

That was my first contribution to Debian!

 

Advertisements