GSSoC 101: Beginner's Guide to GirlScript Summer of Code

Shubham SinghShubham Singh
5 min read

Open Source? πŸ–₯️

This term might be brand new for some people. Let's dive into and learn everything about Open-source.

Open source is a term that originally referred to open source software (OSS). Open-source software is code that is designed to be publicly accessibleβ€”anyone can see, modify, and distribute the code as they see fit.

Open-source software is developed in a decentralized and collaborative way, relying on peer review and community production. Open-source software is often cheaper, more flexible, and has more longevity than its proprietary peers because it is developed by communities rather than a single author or company.

Now that we know what Open-Source really is... Let's learn about how we can dive into the world of Open-Source.

What is GSSoC? πŸ€·β€β™‚οΈ

image.png

GirlScript Summer of Code or GSSoC is a three-month-long Open-Source Program conducted every summer by the Girlscript Foundation. With constant efforts, participants contribute to numerous projects under the extreme guidance of skilled mentors over these months.

GSSoC is the place where you will not only get to learn about Open-source but also get to interact with other Open-source enthusiasts, build a good network and share your work with like-minded people.

Eligibility πŸ‘Ύ

Hearing about GirlScript Foundation for the first time might pop some questions in your head. Is GSSoC restricted only to female participants? The answer is NO. This program is open to Open-source enthusiasts of all genders, age groups, and countries. GirlScript Foundation aims to change lives by imparting tech education and relevant skills while fostering diversity.

Application Procedure πŸ“œ

To start with your Open-Source journey head on to GirScript's Official Website.

https://gssoc.girlscript.tech/

Go ahead and register as a Contributor and you are one step away from your destination. Make sure to fill out the application form very carefully. Make sure to show your enthusiasm through your answers. Now it's time to wait for the good news to arrive...

GirlScript will start to roll out the selection mails in the next few weeks so make sure you check your inbox daily.

Git and GitHub for Newbies πŸ€–

image.png

GitHub](https://github.blog/wp-content/uploads/2020/12/wallpaper_footer_4KUHD_16_9.png) Congratulations on getting selected as a GSSoC Contributor. Before starting to create issues and PRs and getting your hands dirty, you have to learn a little bit about Git and GitHub.

Git and GitHub

Git is a Version Control System. In simple terms, Git is a content tracker. Git can be used to store content β€” it is mostly used to store code due to the other features it provides.

The code which is stored in Git keeps changing as more code is added. Also, many developers can add code in parallel. So Version Control System helps in handling this by maintaining a history of what changes have happened.

Download Git for your OS and configure it.

GitHub is a code hosting platform for version control and collaboration. GitHub is a for-profit company that offers a cloud-based Git repository hosting service. Essentially, it makes it a lot easier for individuals and teams to use Git for version control and collaboration.

GitHub’s interface is user-friendly enough so even novice coders can take advantage of Git. Without GitHub, using Git generally requires a bit more technically savvy and use of the command line.

Choosing Projects βœ”οΈ

image.png

This is the place where you can find all the projects listed under GSSoC. This will surely look overwhelming in the beginning. Let's break it down for you. The Project panel consists of project cards that have some details on them.

Each project card consists of the Project Title and the name of the Project Author. Moving down, we can see the languages and tools required to contribute to that project. It's extremely important to choose a project based on the languages and tools you feel confident using.

Git Commands for Newbies πŸ’»

image.png

  • Start by raising an issue on the project's GitHub page.

  • Once the issue is assigned to you by the project mentor you can start working on making a Pull Request or PR (to sound cool).

Let's look at some essential Git Commands to help you get started.

  1. Fork the repository.

  2. Clone the forked repository.

git clone https://github.com/<your-github-username>/<Project-Name>
  1. Navigate to the project directory.
cd Project-Name
  1. Create a new branch.
git checkout -b <branch-name>
  1. Make your desired changes.

  2. Stage your changes and commit.

git add -A
git commit -m "<your-commit-message>"
  1. Push your local commits to the remote repo.
git push -u origin <branch-name>
  1. Now you are all set. Head on to the project's Github Page and create a PR and if all the above steps are done in order, you should see your changes being displayed there.

Now you just have to wait until the project mentor reviews your changes and merges them into the main branch.

Drumrolls please...πŸŽ‰ Congratulations on successfully getting your first PR merged. Do not hesitate to raise more issues as you learn more. Go ahead and Explore and look for more projects which seem interesting and contribute to them to climb up the leaderboard.

Goodies and Prizes 🎁

After the end of the contributing period, To celebrate and appreciate the hard work put in, contributors will receive goodies based on the rank they secure on the GSSoC Leaderboard.

Here are some rewards you can expect:

image.png

image.png

image.png

image.png

My Experience with GSSoC'22 πŸ‘¨β€πŸš€

From knowing nothing about Git and GitHub to securing the 5th position on the GSSoC'22 Leaderboard. I have come a long way.

In a span of three months, I worked on more than 88 issues and made 76 contributions to various open-source projects. This is my GitHub contribution graph before and after GSSoC'22

image.png

Besides contributing to various open-source projects, I came to be a part of an enthusiastic community and got to learn so much from the various project mentors. I learned about Git and GitHub, how to create issues and PRs, and also learned how to write project documentation.

Conclusion πŸš€

GSSoC is a beginner-friendly program to help you get started with open source. GSSoC provides guidance to new open-source enthusiasts to help them get familiar with the technologies. Other than that it is a wonderful opportunity to improve your GitHub profile, build a good network, work with like-minded people, and be a part of a friendly and supportive community.

Before signing off, I would like to extend my special thanks of gratitude to the entire GirlScript Foundation for providing me with this opportunity to explore, learn and dive into the world of Open-Source.

23
Subscribe to my newsletter

Read articles from Shubham Singh directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Shubham Singh
Shubham Singh

Programmer | Postman Student Expert | Mentee @ WoB'23 | Mentor @ SWOC'23 | Campus Mantri at GeeksforGeeks | Contributor @ GSSoC'22 #5 | Winner of Web3 World Championship