This blog post is to summarise my journey for Google Summer of Code (GSoC) with the Fedora community, The journey started the day I mailed my mentor about the project, and it was a hell of a ride for sure. Let’s get started.

About Me

Name – Zubin Choudhary

Emailzchoudhary.10@gmail.com

Websitewww.iamzub.in

I am a 3rd-year B.tech student at Bennett university (India). I was interested in making and breaking stuff since forever, Gaming got me into programming and I’ve been writing small scripts for automating stuff for the last couple of years, I stumbled upon GitHub just to get amazed by the concept of sharing your code with strangers on the internet for no direct profit whatsoever. But later realising the beauty of opensource made me fell in love with it, I switched to Linux, switched to opensource alternatives of all the software I used then. Years later I decided to give back to the community. GSoC was the perfect opportunity for that.

Getting started

The day GSoC projects list was published I started sorting out all the organizations that I’d enjoy working with. Being a Linux user/enthusiast I filtered down to a bunch of Linux distros and desktop managers. Sorting out all the projects, Fedora-Gooey-Karma seemed to be a project that suited the skills I have.

Once I was sure that Fedora Gooey Karma is a project that I would love to work on during the summer, I mailed @sumantro about the project. We talked about the project on mails.

Project

My project was Fedora Gooey Karma. The aim of this project was to provide a simple fast user interface for testers to submit karma on the Bodhi.

Using the web interface for Bodhi isn’t very efficient, we all end up opening a bunch of tabs, verify out package multiple times, crosschecking and submit takes a ton of extra effort, which eventually holds a lot of people from testing packages.

This application has an intuitive UI that allows users to look for packages to test, look up the details, bugs and let them post karma on bodhi platform.

The user interface looks like this, Thanks to the Fedora Design team for the mockup.

This project was previously built on python2 and the old bodhi2 bindings, The project originally was to port the application from python2 to python3 and make it work again, but later looking at the codebase I decided that re-writing the code would be much easier.

Challenges

The decided aims for this project were:

  1. Application ported to Bodhi2 API and Python3
  2. Revamped UI built with QT
  3. Application ready to be packaged and ship

But now that I decided to rewrite everything from scratch there were different challenges that I had to face.

Some of them would be:

  1. The Bodhi bindings changed a lot, a bunch of features were added and removed that were required in the gooey karma project.
  2. Being new to Qt UI I took some time to get used to it.

Timeline

Rough timeline for the project goes like this:

Week 1 and Week 2

  • Initialising python3 port
  • Learning about the bodhi and FAS bindings

Week 3 and Week 4

  • Initialising the Qt user interface
  • Writing the bodhi bindings

Week 5 and Week 6

  • Writing login controller
  • Writing functions to fetch all data and display

Week 7 and Week 8

  • Writing functions to post karma
  • Fixing bugs

Week 9 and Week 10

Future

The project isn’t fully completed yet, I will keep working on this project for a while implementing features like fetching related packages, listing only installed packages, etc.

Also while presenting the project on showcase Stephen Gallagher requested that project gets ported to Cockpit as well.

Conclusion

I’ve had a wonderful time at Fedora since I began contributing this summer, I was later invited to the Flock to Fedora conference where I met a lot of contributors. This was the summer I will never forget.