Ad Code

Responsive Advertisement

GSoC: The Oscar of Coding World


The Google Summer of Code, often abbreviated to GSoC, is an international annual program in which Google awards stipends to students who successfully complete a free and open-source software coding project during the summer. The program is open to university students aged 18 or over. It was first held from May to August 2005. The amount of the stipend depends on the Purchasing power of parity of the country where the student's university is located. Project ideas are listed by host organizations involved in open-source software development, though students can also propose their own project ideas.

Google Summer of Code is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 10 week programming project during their break from school.


How does the program work?

Students:

Students contact the mentor organizations they want to work with and write up a project proposal for the summer. If accepted, students spend a few weeks integrating with their organizations prior to the start of coding. Students then have 10 weeks to code, meeting the deadlines agreed upon with their mentors.

Organizations:

Open source projects apply to be mentor organizations. Once accepted, organizations discuss possible ideas with students and then decide on the proposals 

They wish to mentor for the summer. They provide mentors to help guide each student through the program.

Mentors:

Existing contributors with the organizations can choose to mentor a student project. Mentors and students work together to determine appropriate milestones and requirements for the summer. Mentor interaction is a vital part of the program.

Eligibility Criteria

  • You must be at least 18 years of age when you register.
  • You must currently be a full or part-time student (or have been accepted and committed to the fall term) at an accredited university as of the date accepted student proposals are announced.
  • You must be eligible to work in the country you will reside in during the program.
  • You have not already been accepted as a student in GSoC more than once.
  • You must reside in a country that is not currently embargoed by the United States. 
  • See Progarm Rules for more information.

How it works and when to apply?

Students who are interested in taking part in GSoC, select the organization they are interested to work with and they get in touch with them. 

A lot of open-source organizations apply to GSoC and once the shortlisting is done Google announces the name of these organizations. When the organizations are shortlisted, students submit their project proposals to the selected organization. These proposals and ideas are shortlisted by organizations and once it is done they start working together on a proposal and ideas. Students then code for these organizations and get guidance from mentors and work on the project during the summer break meeting the deadlines agreed upon with their mentors.

Statistics reveal that India is really doing very well and becoming more good in GSoC competition. 

Note: The application process officially starts around March and Google announces organization list most of the time in February first week. It’s good to start as early as possible.

What skillset or prerequisites require for GSoC?

You require almost no skills for GSoC, just a lot of enthusiasm and dedication to reach your goal. Every project requires very different skills, and often, these are things you learn when you start working on a project rather than learn beforehand. Look out for projects that interest you first. Some organizations are very supportive and might entertain candidates with missing skills and help them gain expertise along with GSoC, and some organizations have a strict no spoon-feeding policy. Take “appleseed” for example, and they require their candidates to have a basic knowledge of what they’ll be working on and can work independently during GSoC. Still, their community is very supportive and ready to clear doubts.

Apart from all this, I will recommend you to have some basic knowledge about a version control system; git is the most popular one. Having experience with git will decrease the friction and learning about the programming language, and the technology stack of your dream project will do wonders for you.

At last, don’t forget to check the eligibility criteria of GSoC before you start working on a project. To get more info about the eligibility criteria, check GSoC rules.


 How to Start and Am I Good Enough to Participate?

  We know that you will definitely ask this question to you if you are a beginner in programming or if you think that GSoC is only for top programmers because this is a worldwide competition and participating in it is not easy. First of all, keep in mind that it’s not rocket science if you really enjoy the complete process and programming, also you don’t need to be a Computer Science or IT major. Students from all subject areas are successful GSoC students and we have already discussed the stats where Non-IITians are also included. So now we would like to ask a few questions for you…

1. Do you have the knowledge of at least one programming language like CC++JavaPythonRuby also do you have experience in it at the university level?

2.     Are you familiar with the version control (How to use Git and Github…)?

1.     Do you know how to contribute to open source projects?

2.     Are you comfortable with Linux or Ubuntu?… Sorry to be honest but if you will use windows you will get stuck in the middle. Lots of development tools and technologies don’t run well on Windows and almost all of the organizations in GSoC code for Linux systems or servers.

The above things really matter a lot before you jump into GSoC. Your GSoC journey will become a little bit easier if your answer for all the above questions is “Yes”. If it’s no….then don’t worry you can give some time to yourself learning all the above things.

If you are a beginner then firstly you need to be good in at least one programming language. Once you learned it select a specific domain like android development, web development or whatever you love to pick a specific one and make projects in it. Explore the field and get familiar with version control (Git and Github). Learn how to contribute to open-source projects and explore some projects on Github. Start contributing and get more experience in your domain. Learn to love Linux and get comfortable with it, explore its command and understand the file structure. You can also choose Ubuntu is beginner-friendly, so you also choose it.

One more thing you need to keep in mind that your soft skill is also important in GSoC. You will be interacting with mentors frequently through email, Skype, Slack, Discord, IRC, etc. You will be also preparing documentation, report and blog posts. You may have to attend conferences or workshop and you will also need help from mentors during your contribution to your project so here your soft skill or communication matters a lot in GSoC. You will be able to understand and respond well to the feedback as well.

How can you start into open-source? Why is it essential for GSoC?

   It’s never been easy to learn to program. But despite several ways to learn how to code, trust me, the best way to improve your skills and abilities is by contributing to open-source projects. For those who do not have any idea about open-source, at the simplest level, open-source is merely a writing code that other people can freely use, modify, and enhance.

   For someone with no open-source experience, one of the best ways to get started is GSoC, irrespective of if you are a GSoC aspirant. First and foremost, you should select a programing language of your choice. Once you choose a programming language, explore for a project that matches along with your interests and passion. GitHub is the most popular platform for open source collaboration; 

therefore, you will probably use it while exploring the world of Open Source. First, you need to create an account on GitHub and read the guide that helps you get started.


   There are many organizations where people work together on their favorite piece of technology in their free time, and some of them as a daily job! I think the GSoC archives are one of the best-curated lists of excellent open-source organizations. The most straightforward path would be to see all the organizations and choose one purely based on what kind of end product excites you. Forget about the tech stack for the moment. Once you’ve selected an organization, try diving a little deeper into it. Most organizations have some instructions on getting started. Follow those instructions. For detailed knowledge about how something works, you can always find resources from a simple web search. Read up on the necessary concepts. You’re good to go. Try fixing a simple bug or implement a simple feature. These first few steps are the most challenging and require nothing more than a firm resolve and persistence.

  Developers strictly stick to the general and coding practices of their organizations. Therefore, while contributing to an Open Source project, one learns about what a “clean code” is, and how to write quickly readable and maintainable code . The main reasons why a developer opts for contributing to an Open Source project are to get recognition, to improve their programming skills, and to become a part of this vast community.

Done with most of the above things???…Now let’s see the GSoC journey and how to apply ?

Start Your Journey With GSoC

1. Select Organizations:

    The first step starts from selecting an organization to participate. This is an important and confusing decision for students because there is no guarantee that Google will select their organization for GSoC or not. We will talk about this for sure but to select an organization you need to visit on GSoC Organizations page and you can shortlist the organization as per your domain and your skillset. You can filter out the categories as per your choice of project or domain.


  Once you shortlist the organization checks out their open-sourced projects on Github, other resources and what they actually do. Check if the project is something that suits you or not then prepares a list of organizations and projects you want to contribute and collaborate with. Below are some tips while choosing an organization…

  • It’s good to start as early as possible. So try to finish this step preferably by November-December.
  • We have already mentioned that there is no guarantee that your organization will be shortlisted by Google so you can choose 2-3 organizations but make sure that you don’t increase the number else you won’t be able to focus on multiple projects simultaneously.
  • Shortlist the organizations which have been selected continuously in GSoC for the past few years. Those organizations have higher chances to get shortlisted again. You can check out the list of shortlisted organization from archive page.

   Once you select the organization you can connect (For Example: Amahi) with them, chat with the mentors directly and understand the project, talk to the past participants, see the projects that came in past GSoC evaluation and you can check out the codebase of these organizations. Join the organization channel through Slack/Gitter/IRC. Introduce yourself there and tell them about yourself, your skillset and let them know that you want to contribute to their repo. They always welcome newbies or contributors and they are always ready to help. Stay active in their channel and ask the relevant questions. Ask about the feature they would like to see in their project. Understand their expectations and discuss the ideas.

2. Start Contributing:

Once you select the organization and project start contributing to it. This is the most important phase of GSoC. When you newly enter into as a contributor you can start with fixing easy bugs or and writing documentation. Start with small contributions and then move to the major one. So once you spend some time on the project you can move to add new features in the project because you will have some idea about what language, platform or software are used in the organization, how things work around there and will be able to connect the dots. You can also raise some issues if you find something and fix those issues. Take everything step by step but contribute as much as possible. Below are some tips when you start contributing to the projects…

  • Contact with the mentors through IRC and subscribe to the developer mailing list. Stay active on channels and get update all the time about the project.
  • Read the guidelines of organization carefully for contribution like how to raise an issue or how to submit patches.
  • Fixing the bug or adding the feature will give you more weight than raising an issue and writing documentation.
  • Learn some skill and technology which is required for contribution, clear your basic doubts.
  • As a newcomer don’t be afraid to make a pull request and don’t be afraid to ask for help. You will get support and help from people out there. Also when you fix your first bug let people know about that in IRC. Your confidence will boost up when you will be appreciated by them and people would start knowing you in the Organization.
3. Keep Contributing Until the Organizations are Announced:

If you start contributing to the project in the month of Nov-Dec then till Feb-March you will see your good contribution chart on Github and you will find yourself as a confident developer. So keep contributing by the time the organization list gets announced by Google (Feb-March month). Once the organization list is out, filter out the projects they offer and finalize the one you wish to work during your summer break. Now you need to work with full dedication during your summer break and contribute to the project you have selected. Your chances to get shortlisted will increase if you have been already contributing to the organization for some time.

Note: If unfortunately your organization didn’t get selected, start contributing to any    other organization and don’t lose hope.

4. Make Your Project Proposal:

You need to send your project proposal as soon as possible and request feedback from the mentors. Your project proposal is complete documentation or a detailed description of your project. Breakdown your proposal in different sections like why you want to work with the project, what would be your contribution during your summer break of 16 weeks. Your complete plan and how would you build the project step by step within that coding period. Think about your proposal carefully and write it giving all the descriptions. Your proposal will play a major role in ensuring your selection. Read the Elements  of Quality Proposal

and below are some tips when you make your proposal:

  • Keep an elaborated proposal so remember that number of pages/words doesn’t matter. Try to add technical details in your proposal and if you had ever contributed to any other organization or open-source project than do mention in your proposal.
  • It will be great if you get your proposal reviewed by past GSoC students. (They will tell you the string and weak point in your proposal)
  • Mention the language or framework that you will use, you can include the diagram if there is any frontend project. Also, include your goals there.
  • Your project timeline should be well-formed so breakdown your plan in weeks. Mention your task from 1st week to last week.
  • Your proposal is going to be the advertisement in GSoC so you need to convince your mentor giving reasons that why you are the right person for the project.

Once you are ready with the proposal, share that with the community and ask for feedback. Feedback from them will help you to make your application better and will increase your chances to get shortlisted. After making improvements submit your final PDF and wait for results.

5. Keep Contributing and Wait For the Result:

You don’t need to sit idle once you submit your proposal. Keep contributing, it will make a good impression and it will create an image that you are a serious contributor. Wait for the result from Google and look back that how much you have learned during your open source contribution.

How to make a good proposal for GSoC ?

Start as early as possible! The earlier you start working on your proposal, the higher are the chances of getting your proposal selected.

You can take a look at previous accepted GSoC proposals, get in touch with former GSoCers, and ask them to share their proposals. That should give you a decent idea of what’s expected in a good proposal. Make sure to be clear and concise in explaining what’s in your mind regarding the project. Try using images and flow charts where necessary. Use a good template (not too decorative, but sober and straightforward) instead of typing in a simple word document. Discuss your education, work, and previous open-source contributions. List your skills that are relevant to the project along with the evidence of your work in that field. Describe your idea in as much detail as possible, along with a complete timeline. List your previous work (if any) in the organization you are targetting. Give the reasons why are you a perfect candidate for that project. 

Always get your draft verified by someone you know and has a decent grasp over English. Your mentors might be from English speaking countries or people who do not have English as their first language. You shouldn’t take the risk of using grammatically incorrect language here as your sentence might mean something different altogether. Use simple language. Don’t try to make your proposal flashy by using complicated words, and try not to be repetitive .

Finally, submit the draft and ask for suggestions from your mentor. Make sure to discuss your project with your mentor. Change your proposal according to the opinions of your mentor.

 Benefits of GSoC

You will find yourself a more confident developer after completing the journey of GSoC. Below are some benefits we would like to mention:

  • You get more exposure contributing to open source projects and you learn a lot about the open-source culture and community. You get the chance to interact with the greatest developers around the world. You learn a lot of technologies, tools, version control and you also build a strong network with good mentors and programmers during this journey.
  • The stipend is huge which is $3000 for Indian students(amount varies according to country).

Participating in GSoC open a lot of job opportunities for you. The members of your community can refer you somewhere or you can also get the internship opportunity. You can also get the referral for the application in 

  • Google for an internship or full-time job position opportunity. A lot of people have been contacted by Google and offered internships/jobs.
  • Definitely tag of Google or GSoC gives you international credibility and helps everywhere from attending the conferences to boosting up your resume.
 For More Visit Official website of Google Summer of Code .

Post a Comment

0 Comments

Ad Code

Responsive Advertisement