Well, why the ants ? Think teamwork, think team effort, interdependent efforts, voluntary involvement, the easy stuff, the hard stuff, the small and the large stuff, they all do it together, collectively and end up making what all of us call an ant-hill. A self sustaining ecosystem capable of supporting various ants, queen ant,the female workers, and male ants and the baby ants of-course. Who will in-turn help build a bigger ant-hill bootstrapped upon its previous design and so on into the future . . . .
Well enough said about ants ! You get where I am going !
This post is about how I came to contribute to an open-source project, got started on a journey I had been looking forward to since ever.
Departure From Windows : My Interest in open-source technologies was spiked when I attended an open-source talk given by Farhaan Bukhsh (from Dgplug) at a tech-club meet in college. He introduced us to a lot of cool stuff (..specially IRC) I went straight home and dual-booted my laptop with fedora-linux along side windows (…of course ! ). Obviously to start with I had become a user of the open-source tech that linux had to offer. Initial years was mostly about using the system for plain old gcc/g++ for learning data-structures and algorithms. Also I had started doing my day-to-day tasks as well on there ! After sometime me and windows had to part ways, and it no longer exists on my Laptop !
Kindling my Inner Geek : As time went by I was introduced to bash, My interest was growing in the command line with time, and like I always wanted I started exploring open-source projects. Since I have painting as a hobby, the first thing which attracted me was GIMP (GNU Image Maniputation Program). Spent a lot of time toying around with it, and fell in love with the software (PS: logo of my blog was done in GIMP). Made a few python projects (with the help of peeps on IRC #python), and was going towards system administration (thinking it’ll enable me to understand large code-bases better).
Enter Interviews : When asked in an interview, “What would you want to do in future?”, I answered I want to become an open-source developer some day ! Since at the time I had no experience in open-source sofware as a developer, The Interview went bad and I got Rejected !
Enter GNOME : Since I had some experience in getting my hands dirty in linux with help from geeks on IRC, I didn’t have any troubles using IRC. I had an Idea for a file tagging system for nautilus (GNOME Files), I pitched it in the #nautilus chat room and there I met António Fernandes ( . . .who also became my my mentor !) who warmly welcomed me to the group and discussed with me about the Idea. Turns out the idea was quiet old but there was something else I could work on. By evening António had created an issue on which I was going to work with him. There begun my first experience as a contributor in GNOME.
Hacking On Nautilus
To start with there are some bare essentials anyone trying to get into open-source should introduce themselves with (basics are good to go with, you learn as you work more with it !), like git, and having a general interest in how things work !
Setting Up the Environment :-
(You cam also refer GNOME Newcomers Guide )
- Install flatpak
- Install GNOME-Builder
- Fork the nautilus project from GNOME-gitlab
- Clone your Fork
- Open the Project in Builder and hit Build
Exploring GNOME : I spent the following days reading up about developing for GNOME, and trying out and experimenting with Gnome Libraries on my system so that I could understand what I was going to do later on. Several months passed and it was time for GSoC applications. I had done some partial work on the issue by now. Luckily I spotted a similar Project Idea in GNOME’s GSoC ideas list for the year, after a discussion with António Fernandes and Felipe Borges I submitted my GSoC application. While I waited for the results, I asked António if there was something else I could do. He assigned a simple UI bug to me. I fixed it in some time. Soon the Merge Request was merged into the master branch.
and Voila! I had made my first successfull contribution.
GSoC results got announced and I had been lucky enough to get selected. It is the first time for both of us António as a mentor and me as a Student in GSoC. We will be working on Porting Nautilus Properties dialog to Use GtkBuilder, this summer.
Right now the Community Bonding Period is under-way, where students and mentors from around the world get to know each other. The previous few days have been really fun where I have made many friends from different projects, spoken to like minded students from different nationalities, projects and forums. It is meeting other geeks with interesting stories to tell, and getting to know about their amazing ideas, discussions about system administration and different tastes of system setups, and not to forget, Summoning music bots on discord, listening to the same music here and overseas, has all been beyond Amazing.
All in all, this has been my journey so far, and my take away from it is that rejections don’t define us ! It’s our interest, curiosity, and belief that matters, and in the end everything will be worth it ! Looking forward to more amazing times in the GNOME community and GSoC ! Congratulations to all the fellow GSoC ‘ers 2020.