One of the most important steps in participating in programs like Google Summer of Code (GSOC) is finding the right open-source organization to contribute to. But with so many options available, it can be overwhelming to know where to start. In this blog post, we'll explore the process of finding the perfect organization to suit your interests and skill set.
The journey of finding the perfect organization to contribute to during Google Summer of Code (GSOC) was an exciting yet daunting task.
If you do not have some basic outline of what GSoC is, you can read my previous blog "Preparing For GSoC:> Gathering Information" to know how can you gather useful information about Google Summer of Code. Believe me, you will get amazing and priceless responses when you will ask people who themselves have been on the journey.
My first step was to ask directly from previous year GSoCers in the same generic message which I sent them to know more about GSoC if they knew of any organizations aligning with my tech stack. Although I didn't get much help, I knew that finding the right organization was going to be a task that I would have to take on myself.
Remember, for every project you see you should have answers to all these questions. what are my skills? What am I proficient with? Is the community supportive? Do I have any experience in this field? Do I know at least 50% of the skills mentioned by the organization? Rest can be learnt while contributing towards project.
So, I started my search on the website 'GSoC Organisations' by filtering for the years 2022 and 2021. Initially, I tried using a filter for web development but it missed many organizations, so I decided to drop the filter and go through all the organizations that were selected in 2022 and 2021. I ended up going through around 130-140 organizations😎.
Research
-> It was a quick scan through each organization's page, scrolling down to check the projects that were selected in 2022 and opening some to see if the technology used aligned with my skills. I made a list of all the organizations that fit my criteria and noted the number of students selected from each one and the types of projects they work on. This will give you a good idea of which organizations align with your interests and skills.
A demo for the same is below:
I got a list of around 33 organizations 📃 and then,
Don't go by this list make your own and then step further. Maybe you get some different which may excite you.
Search through Github
Once you have a list of organizations that align with your interests, start looking at the specific projects they have available. Look for projects that align with your tech stack, the languages and frameworks you're comfortable working with, and the type of work you're interested in doing. This will narrow down your options and help you find organizations that are a good fit for you.
-> Started to reach out to organizations' GitHub
-> Checked which repositories participated in GSoC in the previous year
-> Noted what the organization does, its goals, projects
-> Checked how many contributors the organization has
-> Went through open and closed issues and good first issues
-> Evaluated if the issues aligned with my skills and if I understood them.
List got shortened to 19 organisations ✨
Now moving further, I took a closer look at the activity on their GitHub.
-> Checked the timestamps of the last pull request and issues raised, closed, and merged.
-> Joined community channels such as Slack, Discord, Gitter, and IRC channels.
-> Some organizations also had their own apps like Rocket Chat and Zulip.
-> Observed the communities for several days, taking note of the number of active contributors.
-> Observed new contributors' introductions in the community.
I further sorted my list on the basis of the more favourable criteria like active GitHub repository, active contributors and the number of students selected for the previous GSoC session. Some of my priorities were (at the time of Nov, Dec, Jan, Feb mostly new contributors are the ones aiming for GSoC):
If new contributors were more but I could compete because the tech stack used was very familiar to me.
If new contributors were fewer but I would have to learn some extra techs.
If new contributors were also fewer and the tech stack was also favourable.
If new contributors were more and I would have to learn new skills.
If the tech stack had completely different technologies like Python and AI/ML but my field was web development.
Gut feeling (feeling of learning a lot in the way of contribution).
Other major factors I considered were the aim and goals of the projects and the activity of community mentors, maintainers and more.
These were my understanding and perspective, so please don't judge this is only a reference that how I did the process. And I really don't remember that what do '/' and '*' used before the names indicated at the time of me selecting the organisation but I used these for marking some criteria.
After narrowing down my list to 4-5 organizations 🙌🏼 that I particularly liked, I decided to start contributing to 2 ( RocketChat and EOS UI/UX Solutions ) of them. I observed the community and saw how people are introducing themselves and I introduced myself briefly and asked for initial guidance in their community channels . I was given instructions on setting up my repository and was directed to the documentation for help.
It's important to note that the entire process I described in this blog took me around 17-19 days. It may seem like a lot of time, but it's worth it when you finally find the perfect organization for you.
Upcoming Blog would be->
Preparing For GSoC :> Way To My First Pull Request
Hope you enjoyed reading it. If you are also in the process of a journey to open source, Do share your views and experience below 🤗. If you think something can be added to this reach out to me, I will be more than happy to know various points of view. 👋