gsoc-FAQs
An unofficial Google Summer of Code Frequently Asked Questions.
Read This before you proceed
If you want GSoC advice, please understand that there are many, many mentors who have been asked similiar questions over and over again. Hence, there is a GSoC Manual for you. It might be painful for you if you do not like reading texts on the internet, but you will have to develop the habit of reading guides, documentations, manuals etc. if you plan to contribute to Open Source. Also, the GSoC manual is written in a very simple and interactive manner. Hence, sit down, and read the entire thing. Just do it.
π https://google.github.io/gsocguides/student/
Now, once you have read the entire thing,
- And you still have questions, mostly similar to "What does XYZ mean?", do a Google Search. Spend time on the articles that pop up, read them.
- And you really need to know my opinion for some question you have, search them below. If you do not find your question here, please feel free to message/email me.
Note : I use this repository for personal use and send it to friends and acquantainces when asked for an advice related to GSoC.
Questions
- When do I start? Is it too late? ^
- Do first year undergraduate students qualify? I find this very hard.
- I get scared when I see seniors applying on the same project. What to do?
- But I just started with Open Source and X has more experience and knowledge. Then why would the mentor choose me?
- I do not know even a small fraction of technologies listed in the GSoC projects. How am I going to learn them all ?
- How will GSoC help me in my career ?
- Who are the mentors? Do they get paid?
- How much minimum coding experience do I need?
- I just know C. Is that enough?
- Why does Google pay if it gets nothing in return? ^
- How are the applications for GSoC selected? On what factors do they determine the skill set of a student?
- Can we contribute to the project(s) only after getting selected?
- Is GSoC hard to do?
- Why do you recommend GSoC, and to whom? ^
When do I start? Is it too late? ^
It varies with the organizations. Few orgs have contributors who start way too early every year while some orgs are new and receives traction only when GSoC releases the confirmed org list for that year. But I do not think it's ever too late to apply for the next GSoC. I came to know about my organization (NetworkX under after Python Software Foundation) around a week after it was officially released ! I was 6 days late for my first comment, but mostly it's not late as long as GSoC has not officially released the list of organizations.
Do first year undergraduate students qualify? I find this very hard.
Yes, a good number of first years qualify for GSoC. Nothing will change if you just wait for one more year, start now. You surely can learn whatever your college will teach you related to GSoC, in days, weeks or months.
I get scared when I see seniors applying on the same project. What to do?
In GSoC, there are 2 types of applicants. One who are afraid (take your example if you are) and second (lets call them X) who will be applying for the second time (doesn't matter if they qualified the first time). Now, there are project ideas and mentors associated with those ideas. All the mentor is looking for is a trust-worthy student who can understand a project idea really well and can do something about it. So, if the mentor feels that you and X both have the same level of understanding about the project, they shall consider you both. This understanding comes from the conversations you have with the mentor. The way you email them and ask questions, etc. Now, the mentor trusts both of you, and both of your proposals look very good, then how to choose one? They will go through your works. So, that's when you can take a lead, and create more number of good quality Pull Requests than X, and get it merged. Simple as that.
But I just started with Open Source and X has more experience and knowledge. Then why would the mentor choose me?
If you are really sure about that, then I will suggest :
- Don't choose the project idea which X has already chosen. You both are allowed to work under the same org but on different projects. You will have to go through the communication channel, its previous emails to know which project idea X is interested in.
- If you are an undergraduate student, do not choose research oriented organizations. Not always but a lot of mentors will be biased when it comes to choose between undergrads, postgrads and research scholars on research oriented projects, e.g. Machine Learning, Deep Learning and Artificial Intelligence and many more. But this a subjective advice based on experiences, so you can go ahead and take risks.
I do not know even a small fraction of technologies listed in the GSoC projects. How am I going to learn them all ?
It is alright that you feel like it. But understand that it is going to be a problem with every GSoC student. Hence you are expected to learn it gradually. Although you can learn the basic stuff in 1-2 days of reading the tutorial of the project. Most people actually do it on the first few days when the orgs are released for the program. So, dont worry and read a lot.
How will GSoC help me in my career ?
This is debatable. More often than not, GSoC makes people more responsible for Software Development and Open Source. Plus, you will see and learn different aspects of working in teams and volunteering. A diverse range of careers depened on these skills and GSoC might be your first step in learning them. If you have the question, whether it will help you land a job, then you are right. Companies look for projects and experiences which you can talk about and did good in. GSoC will give you one such project and experience.
Who are the mentors? Do they get paid?
Mentors are people who volunteer to help a particular project/organization grow. GSoC Mentors can be the founders of the project, early or past contributors or past year GSoC students themselves!
How much minimum coding experience do I need?
This also depends on the complexity of the projects you are going to choose. Generally, GSoC mentors already label the project ideas as Beginner, Intermediate and Advanced. So, you can choose the project ideas accordingly.
I just know C. Is that enough?
Yeah ! There are a lot of organizations which use only C. But make sure you understand this language in depth and gain a little experience in creating softwares in C. And, just to add, it will take you very less time to learn languages like Python or Ruby to the point where you'd be able to say "I know C and Python".
Why does Google pay if it gets nothing in return? ^
Because Google understands the core problem and Google has the money. There was very little incentive for young college students to get into open source. Now you can see so many Software Developers understanding the importance of Open Source since a very young age. Also, Google runs on a lot of open source softwares.
How are the applications for GSoC selected? On what factors do they determine the skill set of a student?
- Your proposal and the depth in your understanding of the project idea.
- Your contributions to the project.
- Mentor's trust on you as a potential student which develops with interactions and how much smart questions you ask. There is no defined weightage to these factors and are subjective to each mentor.
Can we contribute to the project(s) only after getting selected?
No, you can contribute to the project anytime, that is what open source is about. GSoC is just a program and has some rules. If you are selected in that program, Google pays you for the work you would have done anyway without taking any money.
Is GSoC hard to do?
GSoC needs dedication and patience, probably alike everything else. Keep your motivation strong and talk to peers and seniors if you feel inferior to anyone. It's not hard, it's worthwhile.
Why do you recommend GSoC, and to whom? ^
I am still not able to clearly understand the reason why I recommend it so much to college students who wish to pursue anything related to Software as their career or at least consider it as an option. I am no expert to tell you why Open Source is good, you can look it up online. But I can answer to this "Why are you promoting GSoC so much? Shouldn't you be promoting hardcore Open Source instead?" This is where I differ and agree with the questioner at the same time. Yes, we should be promoting hardcore Open Source. But what would be the perfect strategy? Engineers with jobs, when they have an upfront deadline to ship a product and they need a simple NLP date time parser in Python, they don't go and write one library, they find it somewhere on GitHub, and use them to meet the deadline. And thenafter, when they create something useful, they return the favor to open source. There are so many projects being maintained by corporate giants like Google, Facebook, Microsoft and so on while they are open source and has wide users and contributors. So, the question is, why in this world, an 18-year-old college student would do such thing? What is the value the kid sees? In a college, If you just promote hardcore open source, 50 out of 1500 would come and 1 would stay. If you promote Google Summer of Code, 500 out of 1500 would come and 30 would stay. And out of those 30, you can definitely be certain that more than 1 would continue doing open source. This is a model which Google founders created in 2005. Even they resorted to money, incentives, and glamour to get more students into open source. I still feel young to give this problem an other attempt, as of now.
--
^ Denotes personal favorite questions