Skip to main content

GSoC 2021 · Part I - Turning over a new leaf with GNOME

Hello, GNOME! 👋

This will be the first post of many that document my journey of being a Google Summer of Code 2021 student at the GNOME Foundation. I'm really excited about this opportunity and plan on learning a lot during this period. To introduce myself to the community I'll be answering the 5Ws and 1H.

Who am I? 🧑

I’m a sophomore undergrad student pursuing a Computer Science degree but more importantly, I'm a person who loves getting stuck on a problem and then falling down the rabbit hole and diving deeper and deeper until I find a solution (so yeah, a project's issues page is where you'll find me lurking 😂)

How did I get involved with GNOME? ❤️

I’ve been a GNOME Desktop user in the past, I have always loved how clean, consistent and well thought out it is along with all its applications. Contributing to such a project has always been something on my mind and GSoC finally presented me with an opportunity to do so.

So far, I've made minor contributions to the settings daemon, the control centre, GLib and the GNOME shell. None of which would have been possible without help from the amazing maintainers!

What project will I be working on? 💻

I will be working on implementing active resource management in GNOME, it was one of the existing project ideas. I'll be working under the guidance of Benjamin Berg and Florian Müllner.

What we are trying to achieve is a fair distribution of resources among applications. This has been made possible by using cgroups and building upon the previous work done in systemd and uresourced.

Why am I working on this project? 🤔

It sounds cool! doesn't it?

A more serious answer would be that I wanted to work on something at the backend and contribute to GNOME using the basic skills I have. I have just started exploring the idea of resource management and it fascinates me! The guidance from my mentors helps me stay on track and keep learning new stuff.

When and where will all of this take place? 📅

I have started working on stuff a bit early, for now, all of the work is taking place in the temporary repositories I have created on GNOME's GitLab instance. Later on, I'll move this code to official repositories as a part of the settings daemon or uresourced. After the basic structure is in place we'll be experimenting with more ideas and potentially contributing to more projects!