For those who don’t know me, my name is Mek. I direct efforts for the Open Library: an open source website run by the non-profit Internet Archive that gives 9M patrons across the globe access to millions of digital library books, for free.
Open Library is one of dozens of open source projects that participates in Google’s Summer of Code (GSoC): a delectable philanthropic program run by Google that funds promising students and early career open source contributors to work on public good projects over the summer. We love idea of the program so much, that even during years Open Library can’t participate, we try to raise money to fund our own fellowship program. Each year, scores of applicants submit proposals for one of these coveted positions — In 2024, the deadline for applicants is April 2nd, but you may want to read our guide first…
Over my 8 years at the Internet Archive, Open Library has mentored 5 GSoC candidates. We’ve also selected dozens of volunteer fellows to mentor and supported hundreds of contributors, spanning 20+ nations. In total, we’ve probably reviewed north of 250 project proposals.
As a reviewer, I often find myself delighted and learning as much from the review process as the submitter likely did writing the proposal. At least this is true of the good ones. The purpose of a proposal is to teach the reader; a good one raises or addresses questions and risks, adds missing context, connects dots, presents ways of visualizing a problem or solution, simplifies difficult or confusing points, details technical solutions, and ultimately instills confidence in you, your abilities, your understanding of the problem, and of the domain. Here are a few examples of aids that can help teach reviewers:
- Wireframes and diagrams that show you’ve thought about what a solution may look like, how the pieces connect, where they live, etc. It doesn’t have to be pretty to be useful, but you should know when (or ask when it doubt) it benefits from being visually polished.
- Competitive analysis that shows you’ve researched how other projects approach a problem and that your approach may be well informed
- Project breakdowns that show you’ve thought about your project as a scoped, discrete, and manageable set of components and that a finite sequence of ordered steps will bring your project to life on time.
Above all, remember that these components are not included to check a box, they are employed to teach the reviewer. If/when you use one of these strategies, try asking yourself or a friend: “what is the purpose of this section, what is it teaching me?”
Two mistakes many applicants make are including:
- Lots of sentences that “appear” useful but don’t teach the reader anything (and thus effectively wastes their time)
- Unclear or unsubstantiated information that raises more questions than it answers
In the first case, here’s a real paragraph from a contributor who is writing a proposal about adding annotations to books. The following wall of text teaches me nothing new or relevant about what they are proposing and additionally makes plausible yet unsubstantiated statements, such as “the use of hard copy books is reducing”.
- Importance: As information is getting more digitised and people tend to find their knowledge in the form of websites, the use of hard copy books is reducing. This has resulted in a smaller number of public libraries in many localities. Moreover, while most information is well presented on websites, some information is more trustworthy when coming from published books. A digital library can thus provide the experience of book reading at any location.
In the second case, I often see things like adding “100 hours” as a time estimate next to a proposed deliverable, with no justification or context regarding how the number may have been calculated. This may work against you if the estimate surprises your reviewer (in either direction) as being too optimistic or unambitious.
I digress as I’ve already written at length about submitting good proposals — even waxed philosophical on the topic — and this essay isn’t about proposal feedback (as much as I enjoy giving it).
Today is dedicated to a contributor I’ll name HC (hopeful candidate), who emailed me one of the most common questions I hear regarding Google Summer of Code: “Should I apply?”
And herein lies today’s learning opportunity. Be prepared for their anonymized sprawling email. I’ve added “TL;DR” beneath sections that I skimmed/skipped and presume you may wish to as well:
My Apologies as to I am late to GSoC, “Better late than never”.
I have selected some projects to work on from the whole list and I can only send three proposals thats why I am asking
If the seats are already taken for the project mentioned in subject please just reply with “Seats are taken”.
At least they’re trying to make it easy to reply and kill their dream! Jokes aside, I do appreciate there is a degree of thoughtfulness here.
Here I am writing about myself for you to judge. I am interested in taking part in GSoC 2024. I have never before taken part in such program in my life. Sorry if my English is not up to your standard, because it’s my third language. I don’t have any certificates to saw as I have learned everything from open internet. I kind of refer to myself as jack of all trades master of none. I have not contributed to any major orgs before in my life. My skills include […]
Be prepared for a whole lot of TL;DR below… I’ve included it as a bonus lesson on empathy to the reader, and hopefully to set a stage.
I Am 18 Years Old, Not Enrolled in any college/university. As to why it’s because at first I kind of didn’t had choice then it felt like it may not work out. In India we do B.Tech(CSE) for getting into tech field, it’s a 4-year course. I have seen what ai can do and will do. I am not a dystopian and all. But I firmly believe. Ai Agents will be able to the job of a junior Dev Easily in next 4 years. 10 years ago you needed lesser skills to get hired if you didn’t had degree from prestigious college/university. 20 years ago even lesser. And I kind of hate/love that not only we are moving the bar for ai but humans as well. I think All the old Challenges are met/passed by AI. So now we just keep moving the milestone further and further. FOR AGI and ASI no clear milestone has adopted by the industry maybe the google DeepMind one but not so sure about that one. All the money is also raining on this trend I know that it’s not that profitable or not at all, but I think till the trend is over B2B AI Businesses will be booming with profitability. this was inevitable if not 2–4 years it’ll take 4–6 years at some point in human history automation was bound to happen as we advance but schools didn’t tech us to adapt. Neither college nor university did.
More TL;DR; Please happily link me to personal essays describing your views, but kindly don’t require me to read your life philosophies on work time.
I’ve learned that having intrinsic motivation to work on something often trumps talent/intelligence. There is also the one other thing where ignorance helps. when you know a lot, you are too aware of your limitations, the shitty things about the market, the invincibility of your competition. In other words, you know so much that you can’t dream. You can’t convince yourself to take risks like an ignorant beginner would. TRUTH BE TOLD at first I was stuck in tutorial hell for so long that’s why I refer to myself as jack of all trades master of none. Then the latter came true I was so demotivated and lost all my willpower.
TL;DR
So NOW What, I don’t have degree I need a certificate that says I have real-world development knowledge and gain some on the way too. I know, I have read that you guys are searching for people who’ll be lifelong contributors to open-source. And maybe I will if it intrigues me. I am telling the truth because if we work on this you become my mentor, then I also want you to be my lifelong mentor.
TL;DR
I think it’s better to see life as series of project rather than a milestone which we keep moving further and further and without completing this one you cannot go to the next one, as a project if it didn’t work out/failed than it just didn’t work out/failed.
TL;DR
So at this stage of my life I want to take part in and complete this GSoC Project. Cause if I do these after some 1–2 years than I would miss the actual point referenced up there.
Did read, didn’t like what I read, but gave me hope the contributor wants to complete some projects, and that’s enough for me to be willing to extend a hand.
I have experienced Dunning–Kruger effect, right now I am in Valley of Despair, help me get out of it.
Great finishing sentence that I empathized with. A strong enough closing sentence that I decided, once and for all, to reply with advice that I hope is useful to this hopeful, as well as others like them:
Don’t let formalities block you from making progress.
Many times, formalities exist for the sole purpose of keeping unserious people out. Randy Pausch echos this sentiment in his famous last lecture:
“The brick walls are there for a reason. The brick walls are not there to keep us out. The brick walls are there to give us a chance to show how badly we want something. Because the brick walls are there to stop the people who don’t want it badly enough. They’re there to stop the other people.”
Here’s a personal anecdote, to prove that I’m as human as the rest of us, and to give some context as why I invest my time replying tpo such emails.
When I first applied to YCombinator (YC) in ~2010 one of the application questions read something like, “If you get accepted to YC, will you be working full time and be willing to move to SF?”. One of the biggest mistakes I made was to say, “If we get accepted, I’d work full time, otherwise, I might work part time and possibly return to grad school.” 🤦 If you are applying to a prestigious program versus others who will do whatever it takes, it’s not enough to say you’re serious, you have to be serious. YC was looking for people who were fully committed to their startup, whether or not they got funding. It’s not a matter of simply saying you are. Because there will always be times when funding doesn’t come, and the reality is: the only real reason your project will stay alive is because you keep it alive. Granted it’s also important to know when to quit, but that’s a different skill for a different essay.
With this all in mind, here was my reply. Not everyone will find it effective to reply to such emails, but my philosophy is to try and never let the sun set on a contributor who cares. And in this spirit, I hope my reply may be of some use to other project maintainers.
Thank you for your letter. We haven’t made final decisions about the GSoC program because the student submission deadline hasn’t been reached (April 2nd): You can see the program’s timeline here.
If your goal is to get accepted for GSoC, this letter is probably not the most effective way to achieve this goal: your personal story and circumstances matter to us and so does personal initiative. With all the proposals we have to review, we’d prefer not to put our energy towards motivating candidates to apply — this is a decision we believe you need to make for yourself.
I will say, the process of writing a proposal is in itself a valuable learning experience, whether or not it’s something you end up submitting or getting accepted to google summer of code. We will provide you with feedback either way and you may find this feedback helps you grow, and may turn into a project you can work on at your own pace and feature as part of your personal career portfolio.
I am empathetic to your situation and believe you deserve a community, a project, mentorship, and a chance to grow and prove yourself. Your philosophies about why you are not attending school and your feelings about AI don’t feel appropriate to me here or especially respectful of my time. If I were in your situation, irrespective of google summer of code, I’d try to submit a google doc proposal for an Open Library project (either one of the ideas we recommended, or a new one you find interesting) and ask for feedback on your proposal from the team.
If there’s one piece of advice I can give you: I wouldn’t tie your progress as a human to being accepted into a program — I think growth will require you to take the initiative to do work and ask for feedback on your work.
I’m sending you an invite to Open Library’s slack (where the community has conversations) so you can meet the community, become familiar with the project, and ask questions about contributing. Because so many people are asking for help and feedback right now for their google summer of code proposals, we won’t be able to offer you any special treatment. But if you are committed to the idea of creating and working on a meaningful proposal for your portfolio — irrespective of whether you get accepted to google summer of code — then we can commit time to help you in your journey.
The first step is to create a google doc, share it with me, and jot down your ideas and questions there.
Now you have next steps and an opportunity: the rest is up to you.
Sometimes, wether it’s fair or not, one has to generate their own internal motivation and do the work, whether an opportunity (external motivation) pans out or not. When it can’t come externally, we have no choice but to make our own luck. Granted, one may not always be in a position of privilege to invest time working on something without support. And that’s why I believe in replying to emails like this. Something a mentor or friend can do is kindly reminding one of the importance of internal motivation, whether the circumstances are fair or not, to help them see the ways in which doing the work may benefit them, and trying to lower the barrier to entry, occasionally holding one’s hand, and providing clear next steps. It takes creativity, bravery, and sometimes a outside perspective and support to see that doing the work can be the reward. As the saying goes: experience is what you get when you don’t get what you want.
Good luck!