Google Summer of Code/2019
Google Summer of Code 2019 (https://summerofcode.withgoogle.com/) is the 15th iteration of GSoC, a global program that offers student developers stipends to write code for various open source software projects. OpenStreetMap has once again been accepted as a mentoring organization!
The application period is over, and five student projects will be mentored by OSM this year. See the accepted projects page for an overview and information on the projects' progress.
The OpenStreetMap community's ideas for possible Summer of Code tasks are collected on the project ideas page. As an interested student, we invite you to see if there's a project or a task you'd like to work on. But if you have an idea yourself, that's also welcome!
If you're not sure about your idea, start a discussion on the OSM developers mailing list to seek views from other developers. You may also reach out to the EWG, ask on the #osm-gsoc IRC channel, or contact the organization admin Peda.
If you're a student and want to participate in this year's Google Summer of Code, you will need to make an application on the Google Summer of Code site. We try to summarize what we hope and expect from a student here.
No matter whether you pick something from the project ideas page or have ideas for a project not listed there, we recommend that you introduce yourself to our community and your potential mentor(s) in advance. Furthermore, we expect that students familiarize themselves with the project: If you aren't an OSM contributor yet, we'd love to see you make some edits to the map, get familiar to tagging schemes that will be used in your project ideas, and so on.
Everything else that is project-related should be discussed with the respective mentor. The mentor can help to detail their expectations, to comment on your ideas and so on. This will help you to write a good application. And depending on the project idea, it can be a good idea to supply a prototype to show your skills or to solve a small exercise.
Once the official student application phase 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
- Course of Studies, Name of your University
- Website/Blog/GitHub page/past Open Source contributions/...
- Relevant computer languages and other technical skills
- Hobbies, Interests
- Details of any previous and current computer programming projects
- Have you applied for other project ideas/organizations?
Time Schedule: Remember GSoC is essentially a full-time commitment for the summer, but you may have exams or planned holidays that need to be taken into account.
- Are you planning any vacations this summer?
- How many classes are you taking this summer?
- Do you have any other employment this summer?
- How many hours per week do you expect to work on the project?
- OSM project proposal
- This is 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?
- 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. (Note: Don't forget about the community bonding period – it's a good opportunity to read documentation and get up to speed before coding begins.)
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. We suggest that you include a schedule for completing your project, showing the major milestones and when you intend to achieve them. This will help convince yourself that you can do it, and convince us that you have thought about it.