One of the biggest achievement for a student is getting a GSoC Internship. It is recognized internationally and has a great reputation. Being selected in Google Summer of Code ’19 under OpenMRS is one of the best things that happened in my life.
Google Summer of Code ’19 is celebrating 15 years today. Abbreviated as GSoC, its idea came directly from Google’s founders, Sergey Brin and Larry Page. It is an international annual program, first held from May to August 2005, in which Google awards stipends, which depends on the purchasing power parity of the country the student’s university belongs to, to all students who successfully complete a requested free and open-source software coding project during the summer. The program is open to university students aged 18 or over.
I will be working with OpenMRS which is a collaborative open-source project to develop software to support the delivery of health care in developing countries. OpenMRS is founded on the principles of openness and sharing of ideas, software and strategies for deployment and use.
Lets dive straight into the details and steps for submitting your proposals to GSoC.
GSoC doesn’t require any special pre-requisites. But you should know version control such as Git and have some knowledge about the Github platform as most of the projects are stored and developed on Github.
Make Linux your daily driver and get as much hands-on the OS as possible.
Choosing a right Organisation and Project
Generally GSoC announces Organisation’s list by end of February. There are many organisations that take part in GSoC every year. You can start as early as October-November, take a look at the Organisations that took part earlier that year and the projects that they completed.
You can also start after Organisations’ list being announced during Feb-end. Try to start as early as possible. Get in communication with the mentors, get active on their IRC, introduce yourself and participate in discussions.
Choose a project that inspires you and that aligns with your technical knowledge. It will be in best interest for both you and the organisation. Suppose you have been developing Android Apps, there will be definitely some organisations that will be working in that particular tech-stack too.
If you are applying after the announcement of Organisations’ list, don’t start learning a new tech-stack just to work on particular project. It will ruin your chances for selection as someone with a superior knowledge may take that project away from you.
Contributing to the Organisation
Your contributions to the Organisation matters the most to the mentors. Get familiar with their product, use it on a daily basis.
You will definitely encounter some bugs, errors and can suggest improvements to the product. Also there will be multiple Pull Requests open, do some code reviews and go through the code base. Also try to tackle the issues reported by other members.
Some tips are:
- Do code reviews.
- Never open Pull Request without asking mentors.
- Always create a branch for a particular issue you are working on.
- Keep your master branch clean.
- Respond to your mentors and fellow contributors promptly, atleast once a day.
- Be regular.
- Communicate properly within the organisation. Communication and Soft skills also play an important role in selection.
Creating an amazing Proposal
Some of the important points while creating your proposal should be
- Time-Line for deliverables
- Details of the Implementation of the deliverables
- A little introduction of yourself, like a resume
- Your past contributions to this organisation (links to your code reviews and Pull Requests)
- Submit a draft as soon as possible. Don’t wait for the last day.
- Ask for review on your proposal by your mentors.
- Change your proposal accordingly on the inputs by mentors.
You can view my proposal for OpenMRS for GSoC ’19 here.
It is very important to continue being active and keep contributing to the organisation after submitting your project. An inactive member is considered as a red flag and may ruin your chances of being selected.
Keep on filing new issues, work on your deliverables, do code reviews and make yourself active on their platform.
Remember, your interest, perseverance and a keen interest to learn will put you high on the priority of the mentors. These are some qualities that determine that a student successfully completes his project during the coding time.
After Result Declaration
If you have been successful, a big congrats to you. Keep this elated state of mind until the completion of the project. Various chat groups will be formed that will have fellow students from all the organisations. Introduce yourself there, keep checking for new announcements. Also keep participating in the weekly calls in your organisation, get in touch with other students in your organisation and create a healthy environment.
If you haven’t been selected, don’t let this weigh you down. You still have a very solid understanding of how the organisation works, its culture and overall you will have your contributions to the organisation. This should be the main motto of getting in Open Source. Try to be an active member of the organisation and apply again next year. You will have a massive upper-hand over other participants. Gain more knowledge and skills and prove yourself worthy once again next year.