My Journey to Google Summer of Code 21 with CircuitVerse and insights on the Proposal for GSoC

Hi readers, I have been selected as a student developer in this year GSoC 2021 in the organization CircuitVerse.org .Here i will give you some insights about strategies for GSoC proposal writing and all the related informations regarding pre-Selection period of GSoC.

GSoC with CircuitVerse

What is Google Summer of Code ? 👔

For those who don’t know about this program , This is an yearly program organized by Google to encourage student developers all over the world to come and pair-up with one of the open-source organizations to develop some projects by their own under the guidance of the mentors of the organization. But the there is an uniqueness of GSoC (yes it is the nickname we are generally used to) , that it comes with a lucrative stipend (which is totally funded by Google). Check out Summer of Code Website for more details about the program.

The Requirements for GSoC 🎒

  • The first requirement is you have to be a student to participate in this program, though the studentship has been much liberalised from the year 2021 , here are complete rules and participant agreement for students.
  • You have to choose proper organization to submit one proposal per project , you can submit maximum of 3 proposals (be it under different or same organization).
  • You have to submit your studentship proof , complete rules are given here without this you will not be considered towards the program.

How to write the Google Summer of Code Proposal ?

Before writing my proposal , I have gone through several quora , medium posts but found some common points , you can also go through them , even there are some good resources in youtube also.

But one thing in GSoC is , if you are aiming for a Good Organization (I will explain also what is a good organization) then you should remember one thing about GSoC i.e. After the match is before the match.

What does it mean “After the match is before the match” for GSoC ?

Long story short , it clearly means that your game ends when the proposal submission window opens for GSoC. ⚽️⚽️

Yes you have read right , I am once again telling that game ends when submission windows opens first.

So, What to do in pre-GSoC period ? 🖥

During December — January (better if started early)

First go to the GSoC archive section and see which organizations are participating repeatedly in GSoC , because old organizations are more likely to get accepted in GSoC , here is GSoC Archive.

After you shortlist some of the organizations then do the following to get some more resources.

1. Github Topic Search 🧑‍💻

Go to your Github Profile and Search like shown below

also you can search key words with the corresponding year like gsoc2021, gsoc-2021 etc.

2. Wiki Reading of Organizations 👩‍💻

Click on the Wikis section in the left panel of Github after searching the above mentioned key words (as said in point no 1)

Read the wikis properly , from here you can take idea (actually you should jot down the following things in somewhere like google docs or you can use notion)

Key-factors are 🗝

  1. The primary languages and framewors the organization uses for their projects.
  2. Age group and experience level of previous accepted students and mentors of the organization.
  3. Size and reputation of the organization (if you are newbie and the organization is a reputed one then your chance will be less).
  4. Country (expecially time zone) in which the organization is primarily based (or nationality of the mentors and maintainers), because during GSoC period you have to participate in meetings with mentors and other students and your sleeping schedule or daily routine may get affected badly due to improper planning of organization selection.

3. Start Contribution from the open issues section 🌎

Always make a note of the following info while contributing in the organizations.

1. Issue Link

2. Corresponding PR link

3. PR Status (Open , Approved, Merged)

Contributions makes you familier with the organization’s coding styles, and you gain experience and also you make connections with the mentors and maintainers while contributing, Join discussions in public forums like Github Discussion section, Slack Workspaces etc.

During January — February

1. Make yourself visible in Public forums of the Organizations

Public forums means the Github Discussion section, Slack Workspaces, Gitter Chats, IRC , Zulip chat etc and even mailing lists. Most of the organizations use one of the above platforms for day to day communication.

You should do the following in this time period

  1. Ask questions to mentors if you are facing troubles in any coding related problems.
  2. Help others in the community if they got stuck at any point, and you know the solution.(don’t give general suggestions which is not related to their specific problems).
  3. Help others for their development environment setup for any particular project.
  4. Discuss with mentors about upcoming GSoC and discuss project related things like probable features, upgrades to existing platform, code refactoring, building of new apis, using any new technology etc, make an good impression (not an fake impression, please note it) that you are an hard working guy and have contributed in this organization and you will be a valuable candidate for upcoming GSoC.
  5. Avoid so much personal chat in organization discussion forum with other students regarding GSoC (Just an suggestion).

During February — March

Google generally declare the accepted organizations in middle of march so until organizations are announced you will not be sure about your fate that your chosen organizations will match or not , so keep contributing in 3 or 4 organizations simultaneously until organizations are announced .

After the Organizations are announced… What to do ?

Just finalise one single project and start writing proposal , choose one project the organization in which you have contributed most in the past several months and you are more familiar with their code base .

Most of the organizations have their own proposal template , follow those strictly , always ask mentor about the template, they will surely help you, it is recommended to use Google Doc because version control is there and also sharing feature is good for these type of works.

After you make your first draft share that with mentors , don’t create links, just share them by adding their email , don’t put your proposal draft in any open media.Mentors comments will help you further refining your draft , and share your draft if it is 85% complete , they have not much time to review again and again.

  • What to Include in your proposal ?
  1. Personal Details
  2. Previous Projects and Works
  3. Past Contributions in that Organization in tabular method .
  4. Past Contributions in any other reputed Open Source Organization in tabular method .
  5. Project Implementation Strategy (included detailed implementation, short code snippets, UI-Mockups , deployment pipeline etc).
  6. Proper Timeline for implementation (don’t make an un-realistic timeline)
  7. Post GSoC Tasks
  8. Your Commitment towards organization after GSoC.

You will get enough resource about proposal writing over internet please research on this a bit

  • What not to Include in your proposal ?
  1. Detailed story about the points mentioned from 1 to 4 in “What to Include in your proposal ?” Section.
  2. Long story of your previous internship experience.
  3. Story of your College Club activities.
  4. Any great experience or credential which is irrelevant to GSoC or that particular project.

During March — April

Generally proposal submission window opens in late march , try to gather mentor’s reviews before the submission window open , if your mentor is busy try to reminding them about your proposal via personal chat.

Try to refine your proposal as per the comments of mentors ASAP.

Submit your proposal draft in less than 5 days (from the date of submission window opening) in GSoC Portal.

After more refining when you think you are 100% ready just submit the final pdf in the GSoC Portal.

After you submit your first proposal, then only try to make one another proposal as a backup plan , remember 1 Good proposal is better than 3 average proposal, In my case I have just submitted one single proposal and got accepted.

During April — May

After you have submitted your proposal/s don’t stop to contribution to the organization (now focus on a single organization) and if your mid-sem or semester exam is going on , please inform your mentors that you are busy with exams for that period (this creates an positive impression because they can think that you have become in-effective after proposal submission and you are no longer an potential candidate for a big project during summer, so inform them beforehand).

So until this point you got an pretty clear idea that how to work in Pre-GSoC period and also got an idea about how to prepare your proposals now we will talk about how to select a correct organization

How to Select an Good organization ?

See there is nothing called “Good” organization at all in GSoC because maybe one organization is good for me but not you and vice-versa , so while choosing organizations keep the following things in your mind and these will surely maximise your selection probability

The key-factors behind choosing an organization (for GSoC) are -

  1. How many times the organization has participated in GSoC before , because old organizations gets more slots than newer ones.
Source : GSoC Guide, Google

2. Profile and experience level of the previously accepted students in that particular Organization , you can estimate an idea about your experience and their and can take a balanced decision before applying.

3. All other factors that I have mentioned previously in Wiki Reading of Organizations section.

After GSoC Result ⛵️

Results are mostly published during 18:00 UTC (but secret fact is , if you are a selected candidate then you will get an email 15 minutes before than 18:00, as in my case it happened but not sure though 😅).

If you are not selected you will get an email at sharp 18:00 UTC. Don’t feel low, open-source concept is not limited to GSoC , or even any program , it is just the open-source projects, the entire community and you , nothing else can resist you from contributing, and if you give one year (even serious dedication of 6 months prior to GSoC) you will be selected in GSoC easily.

My Journey towards GSoC 2021 with CircuitVerse

As i said earlier I have been accepted in GSoC 2021 as a student developer in the organization CircuitVerse.org and here are the several information regarding my GSoC Journey.

Choosing CircuitVerse 🕹

So I was just traversing the list of previous year’s organizations and found that CircuitVerse has been coming in GSoC for past several years , and then searched on it more and found that, the main platform is an online Circuit Simulator, and as an Electronics and Telecommunication Engineering Student I found myself more aligned with this organization.

And then I gone to their Github Org and found that they have already mentioned some project for GSoC 2021 (this is the period — when they’ve not been selected for GSoC 2021 , around mid-January).

Contribution in the Community 🤵

After I chosen my organization , without wasting time joined their Slack Channel and introduced me, took help regarding development environment setup from some students who were already been part of the community .

Then I started searching issues , and took help from mentors to complete the tasks and done several PRs, and also I have start informal chatting with all the mentors of my project “The LMS integration project for CircuitVerse”

Screenshot from GSoC Portal, a great pleasure to see my name in an portal developed by Google

Writing and finalising the Proposal

Before starting the writing of the proposal I got following points cleared by discussing with mentors,

  1. Each and every line’s meaning of the project description given by them in Github Wiki.
  2. Gathered insights about potential users, and researched on the personal choices of the users.
  3. Alternative ways of implementation.
  4. Long and short term goals of the project.
  5. The deliverables during timeline of GSoC and post-
    GSoC goals.

I have finished my proposal early and sent my proposal to mentors for getting some comments.

There are some bonus tasks for my project so I have completed them quite early.

The Result Day

Yes 11:13 PM on May 17, 2021 is an unforgottable moment for me, I always wanted to be part of GSoC , right after entering into college, and in the year 2021 I made it.

And here are two screentshots that will explain my journey towards GSoC in short,

From rejection in 2020 🥲

To selection in 2021 🥳

This is in the year 2021, during Second Year of College , with about 1 year of experience in open source

Finally you have reached end of the Blog, if you found this Blog useful please give an clap and thank you for reading and Best of luck for your future GSoCs.🥳🥳.

Connect me over LinkedIn , Github, Email 🥂.

GSoC’21 participant @CircuitVerse || ETCE Undergrad class of 2023 @Jadavpur University