Recently, I was asked by my fellow GNOME friends to write how did I transitioned from nothing to a GNOME contributor. The intention is to motivate people to engage. I don’t think my story is that exciting, but, well, why not? If someone gets motivated and start contributing, goal achieved. But beware: there ain’t any TL;DR here. it’s just a long story.
So, where should I start?
From Childhood to Early Contributions
My relationship with computers began at early age, since I was literate by my parents using an old computer we gained from a relative. I remember searching “how to create exe files” around 2004, and that search result yelled me a Yahoo! Answers question with “you need to learn a programming language. Start with C”.
And so I did.
My first app was a command line calculator. Moving to Linux was a natural step. And that introduced me to GNOME, and Gtk+. By that time, Gtk+ was still 2.6. I did some small apps for personal use, like an app to track new habits. Unfortunately, those apps are long gone.
And that’s how it all started.
Fast forward some years and, one day, while using a GNOME app (can’t remember which one!), I saw an unstranslated string! I researched a bit and found out that I could translate and contribute to the Brazilian Portuguese translation team. This was 2012, GNOME 3 was just released, everybody were still very angry, things were very confusing.
My first upstream contributions back to the end of 2012, fixing and adding some missing translations.
At that time, there was one project that draw my attention: a new, unreleased app called GNOME Calendar. It was under heavy development in a branch called ui-review, no packages were available… and yet, I simply loved it. The developer, Erick Perez, is highly skilled. This app was a hidden gem.
Unfortunately, development of Calendar stalled and I spent more than 1 year checking the logs almost every day, waiting for changes.
They never came.
… and GNOME Calendar
“This project was too good to die”, I thought. “I have to do somthing.” First, I tried to finish the design specs of Calendar. You can still find it in my DeviantArt page (click here to check it out).
Then I ran Gedit, opened some files and started hacking Calendar. My very first work was on the Week view prototype we had in there. The video of this new feature is still available:
Notice that the second article of this blog talks about that 🙂
Erick saw that, sent me an email, I attached some patches to Bugzilla, and this is how I officially started contributing to GNOME. At the same year, GNOME Calendar had its first release ever – and this makes the third article of this blog.
GNOME Foundation and Google Summer of Code
After increasing my contribution rate at GNOME Calendar, Erick suggested me to get a Foundation membership. In Januray 2015, I applied and was accepted (yay!!). At the same year, I decided to apply for a Google Summer of Code project at Nautilus. The mentor was Carlos Soriano.
The GSoC project was very successfull, and not only Nautilus received the improvements, but also Gtk+ itself. This is when the “Other Locations” view was introduced, and a big code refactor landed (and allowed Nautilus to improve much more!)
Fun fact: while organizing the tasks of the GSoC, I couldn’t find any personal task manager for GNOME that satisfied me. I took one week and create GNOME To Do to organize my tasks.
With that done, the only step left was presenting that work at GUADEC.
GUADEC and Endless
The presentation at GUADEC was good enough, and meeting the people behind GNOME was one of the most remarkable experiences in my life. At that GUADEC, I met Cosimo, who works at Endless. I remember he downloading the new Gtk+ version and saying “look at this cute ‘Other Locations’ button!” (!!!) 🙂
A few weeks after that, I was contacted by Endless, where I am up to this day. Here at Endless, I’m lucky enough to be able to work upstream almost by default. I’m also happy to be able to make GNOME (through Endless OS) reach more people around the world.
New Control Center, more features in Calendar and To Do, and some other surprises I’ll write about in the future 🙂