It’s a new year, and I’ve been thinking of how much of an impact contributing to open source (and GJS) has had on me. Getting started contributing to an open source project can be overwhelming. You fear not being welcomed and accepted by the community members. You wonder if the skills you have are sufficient.
When the contributions phase for the December 2020 – March 2021 Outreachy round started, I was so confuse. Which Organization should I choose, why should I choose it, and what strategy will I to use to get selected were some of the many questions I kept asking myself. I finally decided to choose a project I wasn’t blank, one which required some of the skills I was eager to learn and master. GJS is an exciting project and I felt like learning and experimenting with it will be fun.
GJS is GNOME’s JavaScript binding and my project involves working on its debugger, improving on the debugging experience. If it helps with clarity, GNOME is an easy to use graphical user interface and a set of computer desktop applications for Unix-based operating systems which include Gedit (text editor), builder (IDE), Polari (chat application), just to mention a few. If you install a Linux distribution like Ubuntu or Fedora, then what you see on your desktop is GNOME (see https://www.gnome.org/gnome-3/). For more information about GNOME, visit its Wikipedia page at https://en.wikipedia.org/wiki/GNOME.
When I started contributing to this project, understanding how to use is as a developer tool and finding the right files and blocks of code to modify was quite hard. All that has changed for the better. Now, I also understand why it is important to put users first when developing any application. They get to see and try out a lot of things which developers of the application don’t think of. If you plan on contributing to GJS or any other project, I strongly suggest you test it and try to understand it as a user before the code steals some of your unique end-user gifts 🙂
From all that has been said, here are key points to note as a new contributor to the GJS(or other open source projects):
- The project usually seems more challenging than it really is. Two to three weeks of consistent work on the project will help you gain clarity. You will start having the ability to ask more specific and tailored questions, which will help you get the kind of help you need.
- Like I mentioned earlier, it is good to use the application, so it helps give you ideas on modifications that can be made without letting the fear of how challenging it might be to achieve them limit you. Users are free thinkers and are often only concerned with something doing what they want it to do rather than how it was made to do that.
- Set out time to take a course or go over material that will help you improve on the skills needed to make you a better contributor. It could be learning how to use CMake for building, or anything you feel may give you that edge.