Google Summer of Code/2024
Google Summer of Code 2024 (https://summerofcode.withgoogle.com/) is the 20th iteration of GSoC, a global program that offers students and new open source developers stipends to write code for various open source software projects. OpenStreetMap has been accepted as a mentoring organization and is welcoming contributors!
Accepted projects
Four student projects have been accepted for OSM in 2024. See the accepted projects page for an overview and information on the projects' progress.
Project ideas
The OpenStreetMap community's ideas for possible Summer of Code tasks are collected on the project ideas page. As a potential contributor, we invite you to see if there's a task you'd like to work on. Of course, you're free to come up with your own project idea as well!
Participant Applications
If you are interested in working one of the open source projects around OpenStreetMap and want to participate in this year's GSoC, you will need to submit an application on the official GSoC website. We try to summarize what we hope and expect from a GSoC contributor here.
Choosing a project
We accept projects for software around OpenStreetMap core, mapping and usage. This includes the OpenStreetMap website, editors, tools that help mappers, software for routing, map making, geocoding and others. Some of the OpenStreetMap software projects have listed project ideas on the project ideas page, but project proposals are not restricted to the ideas or software listed there.
Preparing for GSOC
To ensure a successful coding period, we expect that contributors are familiar with OpenStreetMap and the software they want to work on over the summer.
We will give a strong preference to candidates who have already worked with OpenStreetMap. You may have already contributed as a mapper or you may have worked with OpenStreetMap data: created a map, set up a routing application or similar. If you haven't done so yet, then this should be your immediate priority. Create an account and start mapping some features in your area. Your editing should show that you have understood the OSM data model and methods of mapping. Alternatively, look into setting up a custom map from OpenStreetMap data. This is another good way to familiarize yourself with the project.
We also require for all project that you familiarize yourself with the software well before handing in your project proposal. Set up a development environment, dive into the code and make a few simple changes to things that bother you. Note: we expect that every contributor who applies will have already contributed in a small way to the software project that they apply for. This can be anything that shows that you have already successfully worked with the project: code contributions, writing tests, improving documentation.
Writing the application
Once you have found a project that interests you, get in touch as early as possible with the mentor. Project proposals are usually very short and you should engage in a discussion to find out all the constraints and requirements.
If you want to work on a project not listed on our ideas page, please get in touch with the organizers at gsoc-orga@openstreetmap.org and outline your idea. We will be able to tell you if your idea is acceptable under the OpenStreetMap organisation and get you in touch with possible mentors to develop your idea further.
When the official application phase for contributors opens up, you should supply your application as soon as possible so that your mentor, but also other mentors (who will take part in evaluating applications) have time to ask questions if needed. For the application proposal itself we have compiled a list of things you might want to consider and include:
- Your name and your OSM account name
- Your current occupation (University, course of studies, job, etc.)
- Website/Blog/GitHub page
- Your involvement in OpenStreetMap (mapping or using the data)
- Relevant programming and other technical skills
- Details of any previous and current computer programming projects
- Have you applied for other project ideas/organizations?
- Pointers to the contributions you have already submitted for the software you apply for (Please note: having contributed is a strict requirement this year)
- Time Schedule:
- Are you planning any vacation this summer?
- Do you have any classes, employment or other commitments this summer?
- Which weeks you will be available for how many hours? (Make sure this adds up to the required project time of 90/175/350h.)
- Schedule for project completion: Identify the major milestones to completing the project. The schedule should be sufficiently detailed that each step can be completed in at most 1-2 weeks.
There is quite some flexibility in planning the work time this year, so it will be much easier for you to work around other commitments like school or vacation. However, that means that you must plan ahead yourself. Please include a plan how you would like to spread the 90/175/350h work time over the summer. The plan can then be discussed with your mentor. Once finalized, we consider this plan a binding commitment from your side. You won't be able to change it unless there are exceptional circumstances.
The project proposal should make up the main part of the application. Describe what you propose to do, how you propose to do it, what you think the project consists of. What parts of the project have to be done to be successful, what could be additionally done if you're quick and what happens if you are too slow. What do you expect to learn from this project?
Remember, the most important thing about your proposal is to demonstrate that you know what you want to do, have an understanding of the sort of issues that you will need to address to meet your targets, and that the project is achievable on the timescales of Google Summer of Code.