My project, WikiPort got accepted into Google Summer of Code 2018 under the organization Sugar Labs and I will be spending my summer, interacting with the awesome community of Sugar Labs, making new friends and coding up free and open-source software which would actually be used by the organization and help the community as a whole by solving issues. Want to jump in on the action? Click read more, as I go through every question that I have ever been asked over the year to get you ready for this year’s Google Summer of Code.
Google Summer of Code 2018, might have ended for me. But, the journey has just begun. I am more than willing to use my experience helping out other people to fulfill their dreams of getting into Google Summer of Code, and more importantly, motivating them to contribute to open-source like never before. As part of the Outreach team of Sugar Labs, I am always open for sessions and workshops on open-source as my own way of giving back to the community. Here are some snaps for the same, of one seminar I took along with Coding Blocks at Amity University. It was quite fun.
So, I have might have sent YOU to this post because you asked about Google Summer of Code. Well, you are in the right place. I keep the post updated with answers to unique questions people have been asking me on throughout the years related to GSoC to help you get the best out of a single post. Hope you find your answers here, if not feel free to hit me up anywhere on the web by @vipulgupta2048 and literally, the first question in your head will be …
What exactly is Google Summer of Code?
Quite frankly, I never liked reinventing the wheel, so here are some links for you’all.
First up, a presentation that I watched about the time when I had the same question in my mind and had no clue about the program. Also, this awesome video by Google Developers to get your mind right. This would give you a general idea of what it is, why it is to help you decide if you want to move ahead with it or not.
Again, GSoC is not an internship, it is simply a program. Nothing more, nothing less.
Be careful with this fact. Take the time to crosscheck if you are doing it right while posting about Google Summer of Code. Also, educate others along the way. If you have any doubts regarding the same, this FAQ should clear the air, it sure did for me. If you still have more questions, this guide and chapter from FLOSS manuals would set you just right on your path.
Update: Read this entire guide by Python Software Foundation. I bet you there isn’t a more complete resource out there available openly. This is what I actually call gold.
How to get started?
Pro Tip: You are not late. Actually, you are never late. The person who starts 6 months before might just be good as the person who starts 14 days before the deadline (me). What you write in the proposal is what matters. I seriously started making the proposal on the night of when the submissions started and submitted it an hour and 6 minutes before the deadline closed. Hence, the term “No Sweat”, you will be all right unlike Ron here.
After all, that information. Hit the official website for Google Summer of Code and read through how to get started, search through the previous year’s organizations and their projects. Explore, research as to what really sparks your interest. Read everything on the website. Get acquainted with it. Make it your friend. Google or any open-source organization doesn’t mess around when it comes to documentation. The more clear you are, the more focused you become. That will give you enough information about what, where, when, why, and woah.
Pro Tip: Check and recheck if you are in fact eligible for the program. People start wide-eyed only to realize that they got eliminated pretty early because they weren’t eligible for the program.
Does Google extend deadlines?
“No” replied Stephanie Taylor, Program Manager of Google Summer of Code and Google Code-In at the Google London Meetup.
I had an amazing one-to-one peer session discussing her management superpowers during the time I was in London for Mozfest. Learning from her, how project vs people worked. Thoroughly inspired by the great work the entire Google Open-Source team has been doing over the years and the discipline she has, solely committed to improving people’s lives and being fair to all. Henceforth, justifying the answer to be no. No exceptions. None at all. It won’t be fair to everyone else
In conclusion, sticking to the timeline is an absolute necessity here. When the list of organizations is out, check the project ideas and technologies used. Start shortlisting, start contributing, start writing, stop worrying, stop sweating, stop sleeping. Don’t be late for anything. I have heard cases of people with the proposals made out of gold but were not able to submit due to unforeseen circumstances. Don’t be that guy or girl.
Personal Experience: I had about 30-40 tabs open for at least for a month, as I searched and shuffled through so many interesting projects that I could get my hands dirty with before settling for three and then later to one.
… they expect you to not know everything
Pro Tip: People often don’t seem to understand this advice. Initially I didn’t too.
That’s why I would like to elaborate more on it. “Technologies” column in every organization is just a broad landscape of technologies that they (The organization here) primarily uses. To give you (YES !! you) an idea of what they are about and what all they deal with. It’s like a company letting you know the stack that would be used in their day-to-day beforehand, so you feel comfortable with it, not intimidated.
Your project might or might not use them, don’t stress about not knowing Django if you know Python, knowing the C programming language but knowing little or nothing about the kernel. If you have the ability to learn fast, implement faster. Then nothing is too far out of reach. Never fear or feel demotivated about the technologies that are being used. You can learn them in time and get better at it. Start your day 1 by reading this again.
Personal Experience: Let me help you decode organization pages (This would be a bit different of what would you get)
- Name and Website – Not much to tell here – Some bigger organizations have derivates of themselves like PSF has SymPy, ScrapingHub, and more. These are called umbrella Orgs which have smaller organizations as part of them.
- The description is not a text to be ignored, skim through it once at least. To make sure you even know the organization. It would get pretty embarrassing pretty fast when you start talking offtopic on public chat.
- After the description, scroll down to see some personal comments that Organization admins would have made it a must for you to read. Follow it thoroughly.
- We already talked about Topics and Technologies, and the ideas list is different for every organization.
How to make a solid proposal?
There is nothing like a solid proposal. It’s always “the best you can do” and there will always be room for improvement. If you go with that mindset, enough time and ability to take on feedback then a solid proposal is bound to work out. There are no shortcuts with it really. Iterations, corrections, restructuring paragraphs, reordering, reviewing. There are a lot of steps in between. This document is the only thing the organization will receive from your end. Hence, its a priority to get it absolutely right. I feel that it is a great learning experience to write the proposal, as it teaches so many smaller things that people often overlook or don’t work on.
As a freelancer documentation specialist, nothing gives me more pleasure than reading well-written, thought-out piece of text. This feeling is mutual with the organization admin who sees 100+ proposals in the end. Thus, making sure all information, content, and flowcharts are accurate, spellchecked and backed up with examples. Every organization will have its own format, of how they would need their proposal. If they don’t have it. Ask for one or refer to old proposals that students from the previous cohort have made. It’s good to always keep them handy.
When starting to write, start with a solid aim for your brain. Then, keep that aim at the center of the document keeping in line with your skills and try to tell a story. Yes, one of the most successful writers often start writing from the main plot of the story and then start adding details, characters, dividing it into chapters and parts. The same can be done here by illustrating that you understood the problem and then try to solve that problem by giving out ways. One of the most effective being a detailed timeline combined with diagrams and flowcharts. It shows your effort and that you have carefully thought about the problem. And in fact, are committed to solving it.
Keep the tone of the document as an explanatory, semi-professional 3rd person view. Review the pieces of documents as you write. Get your document reviewed timely and responsibly by several mentors of the organization.
Personally, I had a 17-page long proposal because Sugar Labs asks a lot of questions in their official format. Asking that much about the project, actually made me think about the fine details that I never wondered about. (almost eye-opening details). I curated every section, every line and strung them together like a story. Starting from about me section, skills to a simple aim that demonstrated a solution to a problem to how I was going to solve it week by week to get down to my motivation for the community and how I will stay in contact. Mine was far from solid, but it was articulate, genuine and still makes remember the time I put in it.
“Sir, how to choose an organization/project idea/ language/ice-cream flavor/favorite color?” #Update3
Easily, the most asked (Not dumb) question by anyone who wanted to get into Google Summer of Code. Let’s come back to this later and setting things right from here on out.
Threat: Never call anyone by “Sir” or “Ma’am” in open-source.
Another threat: I will personally cut your head open, to see if a brain exists inside that hollow void if I know you and caught you saying it.
People reading this – Please refrain from calling anyone sir or ma’am. The most critical part in contributing to open-source is communication. GSoC is secondary and maybe doesn’t even matter if you are unaware of how to present yourself in a community. Learning how to contribute to open-source is all about following some very simple guidelines. Read this document for a quick headstart on communication. I read it for the first when I used to say “Sir” on mailing lists. (DGplug got me right – Thank you !!)
Why? – In the open-source ecosystem, we are all equals. Mentioning someone through sir or ma’am, although respectable makes them entitled to something against their wishes. While everyone wants a healthy environment where they can communicate freely. I for think this is an ingenious idea as I am able to share my ideas on public forums without the fear of discrimination and judgment by seniors since I consider them as my fellow contributors.
To answer the original question,
This one is for you to figure out. The question “Which project?” is dependent on many factors and there is no way to decide on it. There is no silver bullet. I wish there was. But, maybe this would help ease your mind. This guide from Python Software Foundation is awesome to make up your mind which goes on to answer the same question.
Personal Experience – What I did was? I searched, hunted and invested a lot of time. Actually, a full month, 2-4 hours a day just browsing through project pages. Constantly in search of a project, I could take on with my skillset. Or even remotely accomplish.
Look, you might lose hope a lot (I did), you might think you are worthless (I really am, my friends make me realize that), I don’t blame them for seeing right through me, but when you see that one project checking all the boxes in your brain. You would know that this is the one that’s you want to spend 3 months of your life doing it. Sort of like, when the wand chose Harry. Just don’t lose hope. Commit to it, give it you’re all.
At least you won’t feel bad when the wand didn’t work out for you. You TRIED. That’s what matters. There are plenty of other wand shops out there waiting for you.
Most people would give you similar advice, tell you about their experience. Getting into GSoC is not tough if you are dedicated enough, diligent enough, patient throughout and able to put all your time and energy into it. Then, there are good chances that you will get through. Coming to my next, more important point.
GSoC is resource-intensive
Pro Tip: The commitment needed is real. Or the end results won’t be.
It would seem through the GSoC website that it is not a time-intensive task but believe me. You have to dedicate a lot to it initially. Something in the ballpark of around 10-20 hours in a week, is what I had initially. To getting really obsessed about my project in the final days of proposal submissions. I would really recommend everyone to give serious thought about how much real time you can commit before jumping into GSoC.
For a serious shot and well thought out proposal, it takes a lot of thinking, planning, and execution of various ideas, not to mention reading a ton of material. In the form of guidelines, documentation, comments, chats, blogs, more guidelines, and rules of the community. Not to mention thousands of lines of code before getting anywhere.
Personal Experience: I dedicated about 4-6 hours to GSoC in the final days of submitting the proposal. I sat on my chair, working till wee hours of the night, not studying but giving my best to the proposal. I wanted to do it, more than anything at that time. Don’t let anyone tell you any different. If you don’t have a bandwidth to do it, then it might be difficult at first and then later very disappointing.
People/organization/admins search for people in the crowd who can code/execute ideas/interact with the community/follow deadlines. That takes a lot of time, commitment and inputs from your side to truly show out. That’s why the program is for students and not recommended for part-time working professionals (Check the FAQ for that)
I quite embarssingly tanked my semester for it. My CGPA fell at college. It was not pretty. I was focused on the project, and in the end, I say it was worth it. GSoC opened a lot of great opportunites for me.
Deciphering the Timeline
Do you actually need this? The timeline is critical. Yes. But do you understand it, do you actually know what Community bonding period is all about. Do you know how to handle the review periods?
If you be interested to know, subscribe to my blog for more updates. I will release it once we hit 100 subscribers.
[Critical] APPLY ABOVE ALL ELSE
Some people spend way too much time deciding which project idea to purse. I am guilty of being that person. Like everyone else, even I didn’t know which project would be better, had doubts about myself if I would be able to complete it, do justice to it or not. Truthfully, it all comes to one night, where I closed tabs left and right until I was left with just 3 of the best choices from 40.
Half an hour later, I was writing the proposal for Sugar Labs, just shy of 14 days before the submission deadline and that’s where my story began. I would request everyone reading to at least apply once to the program. The experience itself will teach you a ton of new things like thinking and planning ahead while making the timeline, talking to a community and being a part of it.
If you don’t get through it, remember its not the end of the world and they are plenty of wand shops willing to accept you.
[Advice] What about after Google Summer of Code?
If for some reason you don’t get into GSoC in the year you wanted to. Try again. Don’t deem it as the end of the world. Don’t deem as a failure that you won’t get over with. Be sad, and try to assess things rather than being depressed. I wouldn’t take the high road of saying that Google Summer of Code is like just any opportunity. It’s great. But far greater ones, are waiting for you at the door to knock. Here’s my take on it, I wrote it here as well.
Real story – The day after I was accepted. I called my friend Shashank who got in as well in Debian to ask him how he felt after getting in? And we both kinda concluded that nothing special really. And now too, after finishing it. To be perfectly frank, life has not changed for us. Life goes on the same … GSoCer or not. There are still hardships. We are the same people before GSoC, contributing to open-source because of our genuine love for the community and we like giving back to it, in whatever way we can. Honestly, that’s what matters. People nowadays probably aren’t understanding the purpose of Google Summer of Code. The society and colleges have publicized and hyped it a lot that people go crazy over it. I have seen my juniors at ALiAS, be that. GSoC was never meant to be like that. I like to steer away people from this, through this message.
What I really mean from this is, Look past the hype, the glitter and the word Google. Kids reading this years later from now, my advice to you is to not stress over it and live your life. Go easy on yourself. Don’t disturb your peace of mind. There is a planet of opportunities that you could be a part of. Just, trust yourself to find them.
And if you did get accepted, heartiest congratulations on your acceptance to Google Summer of Code, here’s a checklist for you to remember. Let’s get grab coffee next time we meet.
Well folks, that’s all I got. What do you think? Are you associated with GSoC. Past or present Mentor or student then connect with me on LinkedIn or any of the social media channels you prefer. I would love to know all of you, especially from Sugar Labs. Also, tell me what do you think. What would you do differently? Go ahead, spam the comments section.
Lastly, everyone else who learns from this, I hope this helped. Understand that it’s not rocket science and if I can do it. So can you. Believe, pursue and conquer above all else. It feels great when all your efforts pay off. Being one of 1200 students that got selected in the world for a program as prestigious as this is really something…
Till then, I wish you all the luck in your future endeavors. I am always open to queries/suggestions that you might have about the many intricacies of the program that I skipped over or I should probably mention. Comment, share if you like this post and live in the mix.
Views expressed by Vipul Gupta are his and his only. ( Contact him by vipulgupta2048 anywhere on the web )
Starting the journey all over again, This time with Python Software Foundation as I work to integrate a new data validation feature into Spidermon. For more details – https://summerofcode.withgoogle.com/projects/?sp-search=vip#6742209389395968