An opinionated fun start-up guide by Vipul Gupta for people looking to take the first step towards the journey that is Google Summer of Code and my views overall about the initial process. Want to jump in on the action? Click read more, as I go through every question that I have ever been asked over the years to get you absolutely ready for this year’s Google Summer of Code.
Update #4 or something,
Read abt. ALiAS’s success story, with our 15 day GSoC AMA Program
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 anywhere 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? When 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. What you do is what matters. I seriously start 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. 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
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
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 can 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 in the future)
- 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 organisation 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 organisation.
Also, what all things did you know when you applied for GSoC?
This is one of the recent, unique questions I received on LinkedIn in quite a long time. I be completely honest in 2018’s GSoC, I didn’t know much. Reading back from the 2018 proposal of mine, I was in second year of college and went in with intermediate knowledge about Python, Web, and C/C++, git and open-source. I had a lot of past experience with projects @ ALiAS, open-source communities online and offline, and great mentors there to guide me! From 2018 onward, I started to go deeper into technical documentation and found myself working on Mixster.
In 2019, I was proficient enough in ES6 and Python. Worked with frameworks, databases and cloud providers to make projects work and leaving rest to learning on the go. I was fresh off freelancing and had active experience working on OSS projects, building pipelines and testing. From then, I looked over the next projects not as a need and something of a challenge to help me branch out and position myself better for the job hunting time that was coming up. I checked out the Scrapy Project as something familiar and professional to pick up the relevant remote work experience needed along with working on a large scale project.
What is 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.
Yeah, but how to make a solid proposal?
When starting to write, start with a crystal clear 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. Review every piece once you write and again as a whole. Get your document reviewed timely & responsibly by 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 me remember the time I put in it. Proposals are now freely available here, drop a star or something.
“Sir, how to choose an organization/project idea/ language/ice-cream flavor/favorite color?”
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.
AdviceThreat: 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.
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 can 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 question above?
This is for you to figure out. The question “Which project?” is dependent on many factors and there is no one way to decide 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 – I searched, hunted & 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 skill set. Or even remotely accomplish. It got no easier when I tried to do it in 2019.
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.
[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.
What about after Google Summer of Code? Got rejected or Accepted?
If for some reason you don’t get into GSoC in the year you wanted to. 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.
Instead of blindly trying again, try asking, questioning, thinking, what went wrong. Introspect. Get feedback. Don’t be confused, angry or frustrated. I have seen way too many people lash out right after GSoC/Outreachy/RGSoC student announcements. Don’t be Ron here. I love to help people out who want to constructively get feedback and listen but not add to your fire.
Meanwhile, Congratulations! you got accepted. Not a big deal as well.
Real story – The day after I was accepted (for the first time around). I called my dear friend Shashank who got accepted 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 (Twice over).
To be perfectly honest about it, life hasn’t changed for us. Life goes on the same … GSoCer or not. It’s just folks, hyping it up. 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. Nowadays, folks probably aren’t understanding the REAL purpose of Google Summer of Code. The societies and colleges have publicized and hyped it a lot that people go crazy over it. I have seen my juniors at ALiAS, be like that. Good thing, we weed out those intentions pretty fast in our AMA program.
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. Focus on your work this Summer. These projects need you. Keep contributing to them long after GSoC if you can help it.
Well folks, that’s all I got. What do you think? Are you associated with GSoC. Past or present. Mentor or student. Well, then let’s get connected on LinkedIn. Also, let me know what do you think about this super long blog. 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… Just, participate in it for the right reasons.
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://github.com/vipulgupta2048/mygsoc