TIP: Use the contents over to the side for an overview of this info-rich page!
The Digital Impact Alliance (DIAL) at United Nations Foundation has launched its Open Source Center to provide a collaborative space for (and professional technical assistance to) open source projects focusing on international development and humanitarian response. The Center assists in the establishment of effective governance, software project management, and contribution models for member projects. It also provides technical, architectural, and programming support for projects; and assists those projects in support, engagement, management of their communities of contributors and implementers.
Google Summer of Code (GSoC) is a global program that offers an opportunity for current and recent students to be paid for contributing to an open source project over a three month period. The DIAL Open Source Center is an “umbrella organization” to a variety of international development and humanitarian response related projects, to help raise awareness about those projects among applicants, connect them to meaningful open source work that makes the world a better place, and help increase the maturity & reach of those projects.
If you are a potential applicant, please review this information now to review all of the DIAL sub-organizations and their potential project ideas for this year. You should then contact the sub-org admins or mentors directly to discuss project ideas, before you prepare your application. This page will be updated frequently and you should plan to check it often. If you are a confirmed sub-org or one of our associate projects and participating this year, and need to to update the information below, please get in contact with @gsoc-admins.
Next Important Date: 2021-03-29T00:00:00Z - Applicants can begin submitting their proposals to organizations on https://summerofcode.withgoogle.com.
Please note Google’s official GSoC dates and deadlines. It is the final authority when it comes to any deadlines.
2021-03-09T19:00:00Z: Google announces list of accepted mentoring organizations.
March 29 - April 13: Applicants register & submit applications to organizations no later than 2021-04-13T18:00:00Z.
May 17: Accepted projects announced; participants & mentors start planning their projects and milestones.
June 7: Participants begin work on their Google Summer of Code projects.
July 12-16: Mid-term evaluations provided to Google
August 16-23: Final evaluations provided by participants to Google
August 23-30: Final evaluations provided by mentors to Google
In general, OSC umbrella admins will ask mentors to do things 48 hours before the Google deadline. This allows our admins time to make sure that evaluations, etc. are complete and ready for Google when their deadline comes. Participant deadlines remain the same, although getting things done earlier is never a bad idea! Mentors and sub-org admins should mark these dates on their calendars:
- 2021-05-01T18:00:00Z - Slot request due from SOA’s to OSC Admins
- 2021-05-11T18:00:00Z - Project selections due by mentors & SOA’s
- 2021-07-14T18:00:00Z - Mentors’ mid-term evaluations due
- 2021-08-28T18:00:00Z - Mentors’ final evaluations due
Our sub-orgs & associate orgs develop their own separate GSoC ideas lists, which are available below. Get to know them and work on proposal ideas together! Keep watching the sub-org ideas lists, which may be updated through the start of the GSoC application period.
DIAL Solutions Catalog
DIAL’s Catalog of Digital Solutions is a resource for people in organizations that use technology for international development and humanitarian response. It allows people to discover and evaluate digital public goods that are oriented toward achieving the United Nations Sustainable Development Goals (SDGs). The catalog is built to support the Digital Investment Framework developed by DIAL and the International Telecommunications Union (ITU) and is give users multiple starting points for discovering and evaluating products. The catalog has a powerful filtering system that allows users to clearly see and understand how Sustainable Development Goals, Use Cases, Workflows, Building Blocks and products connect.
- Project webapp: DIAL Catalog of Digital Solutions
- Technical documentation: Digital Impact Alliance Catalog of Digital Solutions — DIAL Online Catalog documentation
- Project repository: Digital Impact Alliance / Open Source Center / Engineering / T4D Online Catalog / Product Registry · GitLab
- Contribution guidelines: CONTRIBUTING.md · development · Digital Impact Alliance / Open Source Center / Engineering / T4D Online Catalog / Product Registry · GitLab
- Gitter chat: dial_community/catalog - Gitter
- GSoC ideas page: Google Summer of Code 2021 · Wiki · Digital Impact Alliance / Open Source Center / Engineering / T4D Online Catalog / Product Registry · GitLab
Eventyay Open Event
- Project website: https://eventyay.com
- Mailing list: https://groups.google.com/g/open-event
- Gitter chat: fossasia/open-event-frontend - Gitter
- GSoC ideas page: https://blog.eventyay.com/ideas/
Data collection and management is a key component of social good efforts ranging from polio elimination to rainforest conservation to labor justice and the ODX-X project provides a tool suite which contains tools to meet those needs. ODK-X is a platform to build custom apps that enable users to manage and visualize their data just as well in the field as they do in the office. Users of the ODK-X suite include the World Mosquito Program, Mercy Corps, and St. Catherine University. Find ODK-X community members on the OSC Hub.
- Project website: https://odk-x.org/
- Forum: Community - ODK-X Forum
- GSoC ideas page: ODK-X GSoC 2021 Ideas List
- ODK-X Interns Slack Chat: Join odk-x on Slack | Slack
This organization is also participating in Outreachy’s mid-2021 round! Read more about Outreachy and this community’s project ideas for registered applicants at https://www.outreachy.org/.
OpenFn (pronounced “Open Function”) is a new project to our umbrella organization this year. It provides data integration, automation, and interoperability tools that are used to scale the world’s most promising health and humanitarian interventions. UNICEF, the World Health Organization, the IRC, and the Wildlife Conservation Society are just a few of the many organizations that drive efficiency via OpenFn software. With an open-core model, we’ve got hosted and locally-deployed solutions in 40+ countries, and this summer you’ll get the chance to work on leading-edge ETL tools built in Elixir/Erlang, and NodeJs. If learning about APIs, data transformation, and middleware/automation layers excites you, OpenFn is the place to be.
- Project website: https://www.openfn.org/
- Forum: https://community.openfn.org/
- Technical documentation: https://docs.openfn.org/
- GSoC ideas page: Google Summer of Code | OpenFn/docs
- Technology used: Elixir, Erlang, Node.js, Typescript
Pocket Science Lab
Pocket Science Lab lets people use their phone or desktop with the PSLab app, and create a their own science laboratory. Even more experiements are possible by extending the app with standard sensors and the open source hardware PSLab board. The PSLab community creates phone and desktop applications to collect measurements and data to solve global problems with science and build a sustainable world.
The app comes with a built-in Oscilloscope, Multimeter, Wave Generator, Logic Analyzer, Power Source, and more digital instruments and even robotic controls continue to be added. With PSLab applications, a phone or PC becomes like many scientific devices in one. Users can collect air data, temperature, water quality, radioactivity levels, and more. Users can then share the data, draw scientific conclusions, and start to take action to change the world around them to be more sustainable. Developers can create their own plugins and front-ends to integrate the PSLab science libraries into other solutions.
- Project website: https://pslab.io
- Mailing list: https://groups.google.com/g/pslab-fossasia
- Gitter chat: fossasia/pslab - Gitter
- GSoC ideas page: Roadmap and Ideas – Pocket Science Lab
Defend yourself against tracking and surveillance. Circumvent censorship. The Tor Project believes everyone should be able to explore the internet with privacy. They advance human rights and defend your privacy online through free software and open networks. Tor Browser isolates each website you visit so third-party trackers and ads can’t follow you. Any cookies automatically clear when you’re done browsing. So will your browsing history. Find Tor Project community members on the OSC Hub.
- Project website: https://www.torproject.org/
- Mailing list: tor-dev Info Page
- GSoC ideas page: 2021 Ideas for Tor Project
This organization is also participating in Outreachy’s mid-2021 round! Read more about Outreachy and this community’s project ideas for registered applicants at https://www.outreachy.org/.
The Ushahidi platform is often used for crisis response, human rights reporting, and election monitoring. Ushahidi offers products that enable local observers to submit reports using their mobile phones or the internet, while simultaneously creating a temporal and geospatial archive of events. Ushahidi (Swahili for “testimony”, closely related to shahidi which means “witness”) created a website in the aftermath of Kenya’s disputed 2007 presidential election that collected eyewitness reports of violence reported by email and text message and placed them on a Google Maps map. Find Ushahidi community members on the OSC Hub.
The Ushahidi platform has been deployed over 125,000 times in over 160 countries, used by the Obama Campaign for America 2012, the United Nations Department of Field Services and Peacekeeping, in response to the Haiti Earthquake in 2010, to monitor the Nigerian elections in 2011, by the Nepalese army to respond to the earthquake of 2015, in and by local activists groups such as Humanitarian Tracker to monitor violence in the Syrian civil war and HarassMap to help women report on sexual harassment.
- Project website: http://ushahidi.com/
- Forum: http://forums.ushahidi.com/
- Mailing list: http://list.ushahidi.com/
- Getting started as a developer: Support - Ushahidi
- GSoC ideas page: Ideas List for Ushahidi
This organization is also participating in Outreachy’s mid-2021 round! Read more about Outreachy and this community’s project ideas for registered applicants at https://www.outreachy.org/.
Some OSC member projects may participate in GSoC as “standalone” organizations, with their own independent listing on the GSoC web site and their own application process. These open source projects do not operate under the OSC umbrella, but they also serve international development and humanitarian response missions. You should visit their project ideas pages too, because you may find other exciting ideas that may interest you!
NOTE: We will update this section as we learn about OSC member projects planning to participate independently this year, and based upon the final list of accepted projects announced by Google.
LibreHealth is collaborative community for free & open source software projects in Health IT. Find LibreHealth community members on the OSC Hub.
- Project website: http://librehealth.io/
- Forum: https://forums.librehealth.io/c/community/gsoc/
- Chat: LibreHealth Chat
- GSoC project ideas list: https://forums.librehealth.io/ideas
Oppia’s mission is to help anyone learn anything they want in an effective and enjoyable way. By creating a set of free, high-quality, demonstrably effective lessons with the help of educators from around the world, Oppia aims to provide students with quality education — regardless of where they are or what traditional resources they have access to. So far, educators have created more than 11,000 of these lessons, which we call explorations . And they serve almost 430,000 students worldwide. Find Oppia community members on the OSC Hub.
- Project website: https://www.oppia.org/
- Mailing list: Google Groepen
- Gitter Chat: oppia/oppia-chat - Gitter
- GSoC overview page: Google Summer of Code 2020 · oppia/oppia Wiki · GitHub
- GSoC ideas list: Google Summer of Code 2020 · oppia/oppia Wiki · GitHub
Public Lab is a community and non-profit democratizing science to address environmental issues that affect people. In Public Lab, we believe that generating knowledge is a powerful thing. We aim to open research from the exclusive hands of scientific experts. By doing so, communities facing environmental justice issues are able to own the science and advocate for the changes they want to see. The science, technology and data in Public Lab are community-created and open source. We utilize our open data to advocate for better environmental management, regulations and enforcement. These tools enable people to more easily generate knowledge and share data about community environmental health. Find Public Lab community members on the OSC Hub.
- Project website: https://publiclab.org/
- Mailing list: https://groups.google.com/group/plots-dev
- Chat: 🎈 Public Lab: Chat
- GSoC ideas page: https://publiclab.org/wiki/gsoc-ideas
These OSC participating projects took part in GSoC during past years as sub-organizations or independently, and also serve international development and humanitarian response missions. We don’t know yet if they will be participating in Google Summer of Code this year, but they are always looking for new contributors. As we learn of their status, or should they participate in DIAL’s umbrella org this year, this page will be updated.
Humanitarian Open Street Map Team (HOT)
The Humanitarian OpenStreetMap Team (HOT) applies the principles of open source and open data sharing for humanitarian response and economic development. Find HOT community members on the OSC Hub.
- Project website: https://www.hotosm.org/
- Mailing list: HOT Info Page
- Chat: https://slack.hotosm.org/
- Technical coordination resources: GitHub - hotosm/tech: Resources and issue tracking for Technical Working Group and all things Tech within HOT. Start here to get more information about how to get involved in HOT.
- GSoC ideas page: 2020 Ideas for HOT
Mifos X is an extended platform for delivering the complete range of financial services needed for an effective financial inclusion solution. As the industry’s only open platform for financial inclusion, we provide affordable, adaptable and accessible solutions for any segment of the market, new and small financial institutions can easily start with our community app in a hosted environment, medium and large institutions that are evolving into full-service providers of financial inclusion can use our global network of IT partners to configure a Mifos X solution, and innovators can build and scale entirely new solutions on our API-driven platform. Find Mifos community members on the OSC Hub.
- Project website: https://mifos.org/
- Mailing list: Mifos-developer Administrator Authentication
- Chat: openMF/mifos - Gitter
- GSoC ideas page: https://mifosforge.jira.com/wiki/spaces/RES/pages/1118175247/Google+Summer+of+Code+2020+Ideas
Land (agriculture, forestry, and other land users, aka AFOLU) accounts for 23% of the greenhouse gases (GHG) in the world. Almost three quarters of the countries want to do something about this, but they need good measuring systems. Rather than duplicating the same work in every country, moja global offers an open source tool called Full Lands Integration Tool (FLINT) that can model the emissions and removals of GHG from land. FLINT integrates remote sensing and ground data to estimate fluxes and stocks of greenhouse gasses in different pools in line with the guidance from the Intergovernmental Panel on Climate Change (IPCC). Find moja global community members on the OSC Hub.
- Project website: https://moja.global/
- Wiki: https://github.com/moja-global/About-moja-global/wiki
- Chat: https://mojaglobal.slack.com/
- How to contribute: https://github.com/moja-global/About-moja-global/blob/master/CONTRIBUTING.md
- GSoC ideas page: 2020 Ideas for moja global
mUzima is an open source, Android-based mHealth platform whose current version inter-operates seamlessly with OpenMRS. The Android app supports patient registration, data collection and upload, historical patient data access, cohorts management, patient search, form templates download, alerts and reminders, tele-consultation, and works both online and offline. At the server side, mUzima has modules to support forms management, form data processing, error resolution, and management of consultations. Find mUzima community members on the OSC Hub.
- Project website: https://www.muzima.org/
- Wiki: muzima - muzima - mUzima Wiki
- IRC chat: IRCCloud
- Developer Guide: Developer Guide - muzima - mUzima Wiki
OpenLMIS is an open source, cloud-based, electronic logistics management information system (LMIS) purpose-built to manage health commodity supply chains. The OpenLMIS initiative incorporates a community-focused approach to develop open source and customizable LMIS systems specifically designed for low-resource settings. The latest version of OpenLMIS, the version 3 series, uses a microservices architecture deployed with Docker. OpenLMIS is currently deployed in Benin, Côte d’Ivoire, Malawi, Mozambique, Tanzania, Zambia, and Zanzibar where it manages logistics processes in health commodity supply chains for over 10,000 health facilities. Find OpenLMIS community members on the OSC Hub.
- Project website: http://openlmis.org/
- Wiki: Confluence
- Mailing list: Google Groepen
- Slack chat: Request an invite
Primero™ is an open source software platform that helps social services, humanitarian and development workers manage protection-related data, with tools that facilitate case management, incident monitoring and family tracing and reunification. It is now being used widely by social services workforce, humanitarian, and development workers in more than 25 countries. Find Primero community members on the OSC Hub.
- Project website: https://www.primero.org/
- Forum: https://community.primero.org/
- GSoC ideas page: 2020 Ideas for Primero
Formerly known as OpenSRP mSpray, Reveal is a brand-new project to our umbrella organization, and an important one! It’s an open source platform that uses spatial intelligence to drive delivery of life-saving interventions, ensuring no one is missed. Field workers and managers rely on Reveal’s detailed household and community maps, protocols, and data-collection and use the platform to plan, implement, and adjust interventions so that they achieve the greatest impact.
- Project website: https://revealprecision.com/
- Technical background: Reveal · ds4me/ds4me-wiki Wiki · GitHub
- Project code repo: GitHub - OpenSRP/opensrp-client-reveal: OpenSRP Client Reveal App
- Issue tracker: Issues · OpenSRP/opensrp-client-reveal · GitHub
- GSoC ideas page: Pending Outreachy announcement on 9 March
- Technology used: Java
SUMSarizer helps researchers measure impacts of improved cookstoves by using machine learning to turn raw data from stove use monitoring sensors (SUMS) into summaries of cooking events.
- Project website: http://sumsarizer.com/
GSoC is basically an open source apprenticeship: current and recent student participants are paid by Google to work under the guidance of mentors from an open source community. It’s a really great opportunity to build new skills, make connections in your community, get experience working with a larger and often distributed team, learn, and, of course, get paid. If you’re new to GSoC and what it means to participate, learn more in this short video:
Participants are expected spend 175 hours over a 10 week period on their GSoC project. This is a major job, and you should make sure you have enough time to allocate to it, in addition to any other internship, job, or full-time schooling you may be doing during the GSoC program timeline.
Remember that Google intends this to be a way for new contributors to join the world of open source. The people most likely to be selected are those who are engaged with the community, and who are hoping to continue their involvement for more than just a few months.
To apply, you need to take a look at the mentoring organizations and the ideas that they are willing to sponsor. See the “Ideas” section of this page for our sub-orgs and their project ideas. Typically, you’ll choose one of their ideas and work with a mentor to create a project proposal that’s good for both you and your chosen open source community. Sometimes, projects are open to new ideas from applicants, but if you propose something new, make especially sure that you work with a mentor to make sure it’s a good fit for your community. In general, unsolicited and un-discussed ideas are less likely to get accepted.
Note that the DIAL Open Source Center (OSC) is an “umbrella organization” which means that our team is actually a group of projects that work together to do Google Summer of Code. If you’re going to apply with us, you’ll need to choose from one of those teams, because that defines which mentors will be helping you with your applications. Applications without any sub-org and mentor to evaluate them will be rejected. You can work with more than one sub-org while you’re figuring out what you want to do, but you can only accept one “job offer” from a single sub-org & project. Here are some resources so you can read up more on how to be an awesome participant:
- The GSoC Student Guide – This is a guide written by mentors and former participants. It covers many questions that most participants and applicants ask. Please make sure you’ve read it before asking any questions on forums, mailing list, or chats. New applicants in particular might want to read the section Am I Good Enough?
- Google’s list of resources – Note especially the Frequently Asked Questions (FAQ) which does in fact answer 99% of the questions applicants ask.
- Our OSC Summer of Code Frequently Asked Quetsions (FAQ)] on this page will answer the questions that we most often get about OSC projects. You might want to see “How do I choose a project or a sub-org?” or “How many slots does OSC get?” for specific advice.
How to Apply
Communication is probably the most important part of the application process. Talk to the mentors and other developers, listen when they give you advice, and demonstrate that you’ve understood by incorporating their feedback into what you’re proposing. We reject a lot of applicants who haven’t listened to mentor feedback.
If you’re interested in how to prepare a strong proposal, take a look at these tips from past mentors:
Short application checklist:
- Read the links and instructions given on this page – All of it! we’ve tried to give you all the information you need to be an awesome applicant.
- Choose a sub-org from our list. Applications not associated with a sub-org typically get rejected.
- Talk to your prospective mentors about what they expect of applicants and get help from them to refine your project ideas. Listening to your mentors’ recommendations is very important at this stage!
- Prepare a patch or merge/pull request for that sub-org. Their materials will let you know how to do this, or ask them.
- Set up a blog where you will keep track of your GSoC progress.
- Write your application. (Ideally, with help from your mentors!) Make sure to include the sub-org name in the application title so your mentors can find it in the system, and make it easy for your mentors to comment on your doc. e.g., Enable comments if you’re using Google Docs. IMPORTANT: Carefully read our GSoC Applicant Template for the application template with notes and tips.
- Submit your application to Google before the deadline. We strongly recommend you submit a few days early in case you have internet problems or the system is down. Google does not extend this deadline, so it’s best to be prepared early! You can edit your application up until the system closes.
Participant Weekly Standup and Blogging Requirements
Every week during the program, accepted participants must write an “blog post” style update about their project and post it by the end of that week. All accepted applicants will create a single running topic for their project in the #programs:mentorship category here on the OSC Hub. Each week, the participant will reply to that topic with what they’ve written (consider also using screen shots or videos). Participants should ask their mentors if they want the same “blog post” cross-posted in the sub-org’s community somewhere (for example, web site, blog, forum, mailing list). Writing each week helps the larger community learn about the work participants are doing, and also helps the org admins make sure that participants still on track to pass and don’t need help.
This post should also include a weekly “standup” report for their mentor. As part of this section of the post, each participant will answer three questions: one about the past week accomplishments, one about the upcoming week’s plans, and one about any place they feel stuck. The participant should also share these reports with their mentor, to be used in 1-on-1 conversations during the week ahead. Mentors may request the participant also post this “standup” report somewhere in their specific community (forum, mailing list, chat, etc.).
How do I get started in open source?
Here are the top things you can do to get started in free and open source software:
Choose an organization to work with.
There are thousands of open source software projects, and the list of projects focused on international development is also long. You need to narrow down the list before you can get help or do much that’s useful. See “How do I choose a project or sub-org?” for ideas on how to do that.
Any open source experience will help you prepare for GSoC, so don’t worry too much about what project you try first and don’t be afraid to change your mind!
For GSoC applications, you’ll need to choose from the list of accepted OSC sub-orgs, or Google’s master list of participating orgs. If your favorite group isn’t on the list, contact them to see if they’re interested in participating. Applications not associated with a known sub-org are usually rejected because we don’t have mentors available.
Set up your own development environment. This will vary depending on what project(s) you are interested in, but they should have documentation and help for you along the way. Be sure to document what you do so you can remember it later, and so you can help others if they get stuck! And if you get stuck, don’t be afraid to ask for help.
Start communicating with the developers. Join the mailing list, IRC channel, or any other communication channels the developers use. Listen, get to know the people involved, and ask questions.
In almost all cases, you should communicate in public rather than in private. GSoC is a busy time for many developers and many beginner questions get asked repeatedly. Help keep your devs less stressed out by reading what they’ve written already and making it easier for them to have a record of the things they’ve answered. You can use a pseudonym/nickname if you want. Also, search those archives to make sure you’re not asking something that’s just been asked by someone else!
If you want to make the best first impressions, DO NOT start with “Dear Sir.” and DO NOT ask to ask. See the Frequently Asked Quetsions (FAQ) below for details.
Find some beginner-friendly bugs and try to fix them. Many projects have these tagged as “easy” “bite-size” or “beginner-friendly” so try searching for those terms or looking at the tags to figure out which bugs might be good for you. Sub-org project ideas page will point you to them.
Note that if you apply as a participant with an OSC sub-org, you will be asked to submit a code sample – generally code related to your project. A few fixed bugs with code accepted upstream will make your application look great!
Remember, competition for easy bugs is very high during GSoC so it can be hard to find one that’s tagged. If you don’t see anything from your search, read through the bugs and choose a few that sound like something you can fix. Remember to ask for help if you get stuck for too long, “I’m a new contributor and was trying to work on bug #123456. I have a question about how to…” – if people can’t help, sometimes they will be able to suggest another bug which would be more beginner-suitable.
Other “easy” bug ideas: find typos and fix them. Set up new tests – even if the project doesn’t need the first one you write, practice writing test cases is useful for later. Talk to your org’s community to find out more about what they’re doing with testing.
Find bugs and report them. Hopefully you won’t encounter too many, but it’s always a good idea to get familiar with your project’s bug reporting process.
Help with documentation. As a beginner in your project, you’re going to see things that are confusing that more experienced developers may not notice. Take advantage of your beginner mindset and make sure to document anything you think is missing!
Help others. This is a great idea for a lot of reasons:
Explaining things can help you learn them better.
Demonstrating your skills as a good community member can make you more memorable when your mentors have to choose candidates.
Being helpful makes your community a better place!
How do I choose a project or sub-org?
Choosing a project is a pretty personal choice. You should choose something you want to work on, and none of us can tell you exactly what that would be! But here’s a few questions you might want to ask yourself to help figure that out:
How do you want to change the world? Do you want to help people learn more? Communicate better? Understand our world better? With the DIAL Open Source Center, all of our projects are designed to help improve communities and peoples’ lives, so you’ll have choices!
What would you like to learn? GSoC is meant to be a bit of a learning opportunity. Have you always wanted to be more involved with health? Data? Visualization? Education? See which projects might help you improve your skills.
Who do you like working with? Hang out where the developers do and get to know some of your potential mentors. Which developers inspire you?
How do you like to communicate? Do you like realtime chat communication? Perhaps you should choose a project with mentors in a time zone close to you. Do you like asynchronous communication on mailing lists or forums? Find a group with active discussions. Communication is a big part of Summer of Code (and really any open source development in a team!) so finding a team that works the way you want to work can make your experience more awesome.
A list of our sub-orgs for this year will be published on this site.
If you’re chosen as a GSoC participant, you’re going to be expected to make some decisions on your own, so you can make a better first impression on mentors by showing that you’re able to narrow down your field of choices!
What do I need to know to participate in Summer of Code with OSC?
The answer to this depends a lot on the project you choose. We have a range of projects, from beginner to advanced. Every sub orgs expects different things from their participants. Maybe you’ll need to know a bit about machine learning, or email, or image processing. The best answer to this question is, “always ask your mentors what you will need to know” for a specific project.
But a lot of people ask early on because they want to be sort of generically ready, but they’re not sure what they want to do yet. So the above answer is not always super helpful.
In that case, here’s a list of a few things that are useful for most OSC projects:
You must have some experience with software development. You can be a beginner, but practicing in advance is good! And there are a lot more projects available for applicants who are reasonably used to a project’s specific language, so more practice means you’ll have more project options.
You need to feel comfortable asking questions, because we’re going to expect you to ask if you don’t understand something.
You should be comfortable communicating your ideas to others in public. Most projects have public mailing lists or forums, and would prefer if you use them. OSC participants will also be asked to blog about their work over the summer. You can use a pseudonym (nickname) if that works best for you. Google will need to know who you are to pay you, but we just need something to call you.
You probably want some experience with version control. We have a lot of projects that use different tools, such as Git, Mercurial, or Subversion, and you can find out which one your project uses in advance and practice using it on your schoolwork or personal projects to get used to it.
What does “don’t ask to ask” mean?
You’ll hear this phrase sometimes on IRC or other chat systems, and it means, “Please just ask your question, don’t say something like ‘can I ask a question?’ first.”
Why? Developers are often pretty busy, and if you just ask the question, someone can jump in the minute they see your message with the answer or direct you to folk who can answer it better.
If you ask “can I ask a question?” you’re basically just waiting for someone to say “yes” before any useful information is communicated. Many folk consider this slow, annoying, and perhaps even rude. Save everyone (including yourself!) some time and just ask the question right from the start. Culturally speaking, in open source projects it’s generally ok launch right in to a question on IRC; you don’t even have to say hi first!
What should I do if no one answers my question?
Be patient. If you’re on IRC or another chat tool, stick around for an hour or so (you can do something else, just leave the window open and check back occasionally) and see if someone gets back to you. If they don’t, try posting to the forum or mailing list. (It’s possible all the developers are asleep!) You should give people around 24-48h to answer before worrying too much about it.
Make sure you’re asking in the best place. One common mistake applicants make is to contact individual developers rather than asking on a public mailing list or a public IRC/chat channel. You want as many people as possible to see your questions, so try not to be shy! (Don’t worry about looking too much like a newbie – all of us were new once!) Sometimes projects have different lists/IRC channels/forums/bug queues for different types of questions. If you’re not sure, do feel free to follow up your question with something like, “Hey, I haven’t gotten an answer on this. Is there somewhere better I could post it or more information you need to help?”
Try giving more information. If you’ve hit a bug, try to give the error message and information about your setup and information about what you’ve already tried. If you’re trying to find a bit of documentation, indicate where you’ve already looked. And again, “Hey, I haven’t got an answer; what other information could I provide to help debug this problem?” is usually a reasonable follow-up if you’re not sure what people might need.
If you’re really having trouble getting in touch with your mentors, talk to the OSC GSoC team by sending a message to @gsoc-admins. The GSoC org admins should have contact info for mentors with each project and can help connect you. (Note: Please don’t complain that you can’t get in touch with us on the general Google lists or the global #gsoc IRC channel. They’re just going to redirect you to the OSC org admins anyhow!)
How should I address my emails?
(Or, “Why shouldn’t I start my emails with ‘Dear Sir’?”)
If you want to make the best first impression, do not start emails with “Dear Sir.” OSC has many mentors who are female and/or prefer other forms of address. We realize you’re trying to be polite, but “Dear Sir” is often perceived in our communities as alienating, rude or simply too formal and off-putting.
Try “Dear developers” or “Dear mentors” if you’re sending a general email. If you’re addressing a specific person, use the name or nickname that they use on their emails. Culturally speaking, first names or chosen nicknames are fine for most open source projects.
What does it take to be a mentor?
We expect around a 0-5hr/week commitment, which sounds scary, but it’s not actually that variable. You usually spend up to lots of time for the first few weeks, where you’re fleshing out your ideas page, discussing projects with many applicants, and selecting participants from those proposals. After particpants are selected, it becomes more like a 1hr commitment per week for a weekly meeting, and maybe a few more hours here and there for code review or questions. (That depends on your participant: experienced participants may need very little supervision, inexperienced participants may need more. It also depends on you: You and your co-mentor(s) select the applicant and project you mentor, so you can choose according to the time commitment you have. Some mentors even do pair programming with their participant!)
We want at least two mentors per project, so hopefully no one ever gets overwhelmed and feels like they’re always on call. Google does ask that we try to answer questions within 48h so participants can’t get stuck for too long. Remember, no one mentor has to know all the answers.
We recommend at least one mentor has a short weekly “live” meeting with the participant so they get to know each other, keep everyone on track, and give a chance to talk about other stuff. Lots of participants have questions about jobs, courses, architecture, open source, etc. and it’s nice to have someone to talk to). Some weeks this meeting may be the only mentoring time needed.
Mentors don’t have to be the “Best At Everything”. A lot of what mentors do is keep participants on track and keep them from getting stuck for too long. Sometimes that means just knowing who to ask or where to look rather than knowing the answer yourself. In an ideal world, at least one mentor can answer at least basic architectural questions and knows how to get code accepted upstream, though.
Mentors do have to do multiple evaluations on the participant, one at mid-term and one at the end. (Only one evaluation per participant per period, though, so only one mentor needs to do this.) There are a few questions about how the participant is doing and then a pass/fail that determines if the participant gets paid and continues in the program.
How many slots does OSC get? How many slots does project X get?
We don’t know our slot allocation until Google announces them, and Google bases their numbers on the number of applicants we tell them we want. The more great applications we have, the more slots we’ll request. So rather than worrying about the number of slots, you should be aiming to be such a memorable and great prospective applicant that your sub-org will definitely request a slot with you in mind.
For sub-orgs, new groups working with us usually get 1-2 slots, experienced sub-orgs may be granted as many as they can comfortably mentor at the discretion of the org admins. The maximum number will likely be close to the total number of mentors divided by two, but the actual number requested depends on which applicants the org specifically wants to accept after they’ve done an initial review of the applications.
We anticipate being more limited by the matching of mentors with truly excellent applicants.
First of all, make sure you understand what’s involved and the benefits of participating in Google Summer of Code. Watch this short video first, and send a message to @gsoc-admins if you have questions!
To participate under the DIAL Open Source Center (OSC) umbrella, a sub-organization must do the following:
Be an open source project that is focused on international development, humanitarian response, or other such project that is aligned to focus on the DIAL Open Source Center challenge.
Meets Google’s requirements for GSoC.
Have one sub-org admin and at least two mentors who are willing to commit to the full GSoC period. (The admin can also be a mentor, but the more people, the better!)
All sub-org admins and mentors agree to follow the OSC Code of Conduct) for the duration of the program.
Send an email indicating interest to @gsoc-admins before the announced deadline. Exceptions can be made if you get an amazing applicant later and want to sign up just for them.
Have a good ideas page. See our past sub-orgs listed on this page for examples. Getting a really great page sometimes takes a few rounds of revisions. We will work with you to make sure your page is ready! Once you’re ready for review, you can send request to be added to this page.
Be able to handle meeting deadlines and following both Google and OSC’s rules. We try to send important reminders for big deadlines, but we only have limited volunteer time for nagging and cajoling. Groups that cause repeated problems may be asked to take time off to limit volunteer burnout.
We can’t promise to take everyone who meets those criteria, but we do try to take any eligible project/organization that we feel will give participants a great experience. The OSC Director of Community has final say in which projects participate under the OSC umbrella, but please send any queries to the @gsoc-admins team to make sure we’re all on the same page.
T4D, HFOSS, and other international development focused projects are welcome and encouraged to apply as separate mentoring organizations directly with Google. We’re happy to help you in any way we can and we don’t mind being your backup plan. We’re also happy to help advertise related organizations not under our umbrella – we want applicants to find projects that best suit them!
Interested in volunteering with the DIAL Open Source Center or one of our participating projects?
The biggest job is mentoring participants: Mentoring a participant as a primary mentor can be a pretty big time commitment. We recommend around 0-10 hours a week on average for the 3 months of the program, with more time at the beginning and less once the participant learns to work independently. It’s a very rewarding chance to give a participant an open source apprenticeship. Mentorship happens in teams, so even if all you can handle is a few code reviews or taking over for a week while someone’s on vacation, our projects still love your help.
The easiest way to become a mentor is to be part of one of the sub-orgs that plan to be involved, so get in touch with them directly if you want to help. If you’re part of a group that would like to participate as a sub-org, please read the section for sub-orgs below.
Google produced a video with advice on being a great mentor. Take a look:
But our projects also need other volunteers! We’re also looking for friendly community members to help with other tasks! We’d love to have more people available on IRC, mailing lists, and forums to answer applicant and mentor questions in various time zones. We are particularly looking for volunteers who can read and comment on participant blogs, remind participants if they haven’t posted, and promote the work our participants do to the larger open source & international development community. Or maybe you have another skill set you’d like to contribute? (Proofreading? Recruiting diverse applicants?) If you want to help, we’d be happy to find a way to make that happen!
If you’d like to volunteer, get in touch with a sub-org admin contact our @gsoc-admins.
Once you’ve decided which sub-org you’re most interested in, you’ll want to make contact with them.
- Please note that the OSC has a Community Code of Conduct. Mentors and participants working with the OSC and our sub-orgs are asked to abide by it as members of the larger community.
- Sign up right here on the OSC Hub (https://hub.osc.dial.community/) and get updates, reminders, and to discuss questions.
- To get in touch with people from a specific sub-org, check their ideas page listing above.
- If you have general questions that aren’t appropriate for any single sub-org, please start a new topic in the #programs:mentorship category.
- Found a typo? Want to improve this page? Contact @gsoc-admins and let us know!
Please try to read all the information on this page before asking a question. We have tried to answer a lot of common questions in advance!
Remember to be patient: Our mentors generally have day-jobs and are not always paying attention to chat, mailing lists, or forums. (This is especially true during GSoC off-season. Expect more active mentors after Google’s announcement of organizations.) Please ask questions directly on channel (you don’t need to introduce yourself or say hi first) and please be patient while waiting for an answer. You could wind up waiting an hour or much longer for “real-time” answers if all the mentors are in meetings at work or otherwise occupied. If you can’t stay that long, stay as long as you can and then send email to the mailing list instead so mentors have some way to reach you. We try to answer emails within 48h.
For mentors: The OSC GSoC team can be reached by sending a message to @gsoc-admins if you or applicants have questions about participating.
This work was adapted from “Google Summer of Code 2018 @ the Python Software Foundation” by Python Software Foundation, used under the Creative Commons 4.0 International Attribution License (CC BY 4.0).