What is GSoC? Full Information
Tags: webdev, beginners, gsoc, github
Published: 2024-01-27 16:37:31


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m7688ehhl12ey6avulw7.png)

## Quick Overview
Isn't Google Summer of Code an intriguing concept? Ah, yes! So, basically, this is a global annual program in which Google gives summer stipends to students who finish a free and open-source software coding project. Students who are at least 18 years old may participate in the program. The following topics focus primarily on removing all doubts from your mind. So, take your time and read through the following topics.

---

## What is open source, and why?
The very word "open source" connotes something that is accessible to everyone. The term "open source software" generally refers to software that is licensed to include the source code and uses an open development process.

Open Source software development is, in my opinion, the most effective approach. Through version control, it gives us transparency and a real-time record of changes made by others to it. It consolidates a variety of brilliant ideas into a single location. Contribution and teamwork are cherished by open source community members.

---

## How do this programme GSoC works?
Below is the step by step process involved in the participation & selection:

- Open Source organisations applies to the programme. 
- Release of shortlisted Open Source organisations announced by Google Open Source team.️️ 
- Application portal for students to apply for organisation(s) begins. Students submit proposals, and apply for the programme.
- Students get informed about their selection. 
- Community bonding and Coding period starts. Students start working for the code to be submitted and get evaluated on regular basis with the help of assigned mentor. 
- Release of names of thee students who have passed all the evaluations is announced by Google Open Source team. 

> Note : The timeline for the above activities is announced prior to the programme.

---

## What actually these contributions are?

**Coding** : Fixing bugs and developing new features.
**Documentation** : All the effort put into coding goes into vain if one doesn’t know using your software. So, one needs to improve or update the docs. This could be writing anything about the software’s features or helping other developers understand the code.
**Outreach/Research** : Researching about the use cases, suggesting features, reporting bugs is vital for the improvement of a software.
**Quality Assurance** : Keeping the code clean prevents a lot of conflicts that might arise in the future. Refactoring the code base, developing an automated test suite, and following style principles help in maintaining the quality of the code.

---

## How to begin?
(Recommended for Beginners) : Remember, this is all about Open Source software development! So, you need to be very easy with Open Source technologies and should be able to work with the basic stuff of Open Source, one of which is Version Control i.e. Git and other distributed version control systems such as GitHub , Gitlab, Bit-bucket etc…

After you’re all set-up with an ease for Open Source contributions, you can simply follow the below basic steps -:

- Start by selecting any awesome suited Open Source organisation for you. For me I used to go with “The network simulator project”. But, I just quit that and now thinking to go with “Creative Commons”. Organisations actually work with a particular framework or programming languages. The list of organisations Google often selects for it’s program can be found clicking here. Yes, you heard it right! Organisations themselves too have to go through the selection process.
- When you’re done with the above step, just ask in their particular community  channel for how to get started with the contributions. Any mentor or project maintainer will assist you soon and will guide you for what you want to know about. After that, just get your contributions on! Because, you need to be in your mentor’s eyes, you have to show them that you’re an active participant and let them know that you want to pursue GSoC in the upcoming years. The best thing in practice is to get familiar with the code base and then create patches and get them merged! 
- After this step, just apply for the programme and wait for your proposal to pass. Many a times, your proposal is not accepted in the first trial, so don’t get annoyed or despondent . You can apply for the programme as long as you’re a University student (UG/PG Student). ️

> Note : Do practice for making good proposals as it leaves a greater impact on the evaluator. 

---

## The prerequisites
You need to have a good command over any one programming language. It actually doesn’t means that you have to make big applications using the programming languages before getting started with the program. You just need to have a basic outline of the programming language you feel an ease with. You can even choose any programming language which you want to explore more. Before, when I was at “The ns-3 network simulator project” I was using C/C++ but now I feel more comfy with Python.

With this, you should also learn version control system to learn tracking changes in the software development cycle.

Also, using a Linux or any UNIX based OS would give you a better ease as it’s Open Source and gives most of the developer tools by default. And also, most of the Open Source organisation uses a Linux based environment & believe me, you would be enjoying using Linux 

Things to be Noted!
Be Patient Don't get offended or despondent Ask cool questions in the community Don't Give Up at all! Keep Trying .

---

## Perks offered to you for this programme
 
GSoC provides decent stipends and goodies, which could be motivating. ;-) As per GSoC 2020, Successful Google Summer of Code applicants get a $3000 to $6600 stipend.


With this, you’ll also get the below swags :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gao9byelgrtqnsy7f269.png)

That all about GSOC if you have any question regarding GSOC you can comment.

---

## Connect with me
LinkedIn : https://www.linkedin.com/in/durgesh4993/
GitHub : https://github.com/Durgesh4993
LeetCode : https://leetcode.com/durgesh4993/
Profile : https://linktr.ee/durgesh4993