Google Summer of Code/2017

From OpenStreetMap Wiki
Jump to navigation Jump to search

Google Summer of Code (GSoC) is a global program that offers student developers stipends to write code for various open source software projects. OpenStreetMap has participated almost every year for a long time, and participates again as a mentoring organization in 2016. Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits.

More information about the project as a whole is available on the GSoC 2017 web site archive.

Time line

The official timetable for Google Summer of Code is provided on the GSoC timeline page.

We're happy to be selected as a mentoring organization again this year! If you're a student, it's your turn with ...

Project Discussion and Proposal Submission

You (as a student) can now start to submit your proposals on the GSoC platform. You should start with that early on and discuss your draft with your potential mentor, on our IRC channel or on the mailing list. We won't directly help you write the proposal, but we can help you with project details and with your work plan.

See below for a detailed list what a good proposal might or should contain.

Potential student projects

Project ideas

If you're a community member and you have a good idea for a project, please start with posting your ideas at the project ideas page. If you're not sure about your idea, start a discussion on the OSM Developers Mailing List to seek views from other developers. The idea is to find out if your idea is feasible in the timescales of Google Summer of Code. You may also ask on the #osm-gsoc channel on IRC or the organization admin Peda.

Project proposal

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.

But as a first step you should have a look at the project ideas page, if there's a project or a task that you'd like to work on or if you have an idea for yourself you'd like to work on. We have made good experiences with students who introduced themselves to our community and their respective mentor in advance, so it's a good idea to do so. Furthermore, we expect that students familiarize themselves with the project in advance. 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 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-site/past Open Source contributions/...
  • List of relevant Computer Languages known (rate strength in scale of 10)
  • List of other relevant technical skills
  • Hobbies, Interests
  • Details of any previous computer programming projects
  • Currently involved in
  • 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 - research, producing design documentation, first draft of code, code reviews, update code etc.

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. 

Things to do

To participate in the program, we will need to do the following (at least!):

  • Announce participation on Dev mailing list ✔
  • Make an application to Google for OSM to be a 'Mentoring Organization' ✔
  • Produce a list of possible student projects - /Project Ideas. ✔
  • Identify the interview process for prospective students. ✔
  • Invite students to make proposals to participate in Google Summer of Code with OpenStreetMap. - This is really part of the GSoC application process, but if you know a student that would be interested, please point them to this page. ✔
  • Identify Mentors from the OSM community to look after the students.
  • Choose which student proposals to accept, and match them to mentors.
  • Get on and help them achieve their project goals! - see Accepted Projects.

OpenStreetMap's application to GSoC

The proposed text of OSM's application can be seen at /Organisation_Application.