Google Summer of Code 2015 Ideas

 @

-
 * Back to the main OSGeo Google Summer of Code 2015 wiki page.

-
 * See also ideas from 2007, 2008, 2009, 2010, 2011, 2012, 2013 and 2014.

OSGeo Google Summer of Code 2015
The Open Source Geospatial Foundation would like to extend a welcome to all SoC students. On this page you will find links to a host of ideas organized by project. You will find ideas ranging from the depths of computer science graph theory to the heights of visualization. One thing all these ideas have in common is lots and lots of spatial data.

These ideas are *only* to motivate you, and serve as example of the kind of hills we want to charge up. Your own ideas are more than welcomed - they are encouraged. We view you as the next wave of open source leaders; show us what you've got.


 * Students: If you need more information on how to apply you can contact all the mentoring organisations via the OSGeo-SoC mailing list (see below)


 * There is a Google SoC flyer to look at and post in appropriate places.


 * Ok, OSGeo is involved in working with maps and things, but what kind of projects does it really do? Have a look at the live blog feed to see what people are working on right now.


 * Mentors, there's an additional link providing some tips and specifying your responsibilities on the main OSGeo Google Summer of Code 2015 wiki page.

Important dates

 * The official timeline


 * March 2nd: Google announces accepted organizations.
 * Please start talking to the dev communities you are interested in now.


 * March 16: Student applications open.
 * The earlier you start the more probable it is that you will be accepted!
 * There is two way feedback during the application process which really helps you improve and clarify your application before the final deadline. The better your involvement with your potential mentors during this period, the better your chances of being selected.


 * March 27: Student application deadline.
 * April 27: Accepted student proposals are announced and Community Bonding Period begins.
 * May 25: Coding begins!
 * (you may unofficially start a week or two earlier if you know you'll have to take a week or two off during The Summer or you'll be sitting finals in the first week(s) of the program. This must be reflected in your application timeline)


 * June 26: Mid-term evaluation begins
 * August 17-21: Pencils down!
 * August 28: Final evaluations
 * August 28: Students begin submitting required code samples to Google
 * August 31: Final results announced

The ideas pages
[Check back often, it's a work in progress]

Each participating project's list of ideas is on the respective projects' wikis, with a short description of the project and what type of students would be interested in it:

OSGeo Foundation member projects

 * More coming soon: Get started talking to your favorite project's development team today!


 * GRASS GIS SoC Ideas: GRASS GIS is an open source GIS focusing on analysis, modeling and visualization. It is a collection of modules written in C and Python and has a GUI written in wxPython. If you know Python, or want to implement algorithms in C, take a look!


 * QGIS SoC Ideas: QGIS is a user friendly Open Source Geographic Information System (GIS) that runs on Linux, Unix, Mac OSX, and Windows. QGIS supports vector, raster, and database formats. It is written in C++ and Python.


 * GDAL Ideas: GDAL is a C++ library for reading and writing geospatial data raster and vector formats.


 * gvSIG Ideas: gvSIG is a free GIS project for Desktop. The gvSIG project looks for students with Java or Python skills that want to develop new ideas on this software.


 * Opticks Ideas: Opticks is an extensible remote sensing and imagery analysis desktop application. It provides a framework to process remote sensing data such as Hyperspectral (HSI), Multispectral (MSI), and Synthetic aperture radar (SAR) imagery and video. The application is written in C++ and licensed under LGPL v2.1. Extensions are written using C++ or Python. You can review the available extensions and feature tour to get a better idea of what Opticks can do.


 * OTB SoC Ideas: ORFEO ToolBox (OTB) is an open source library for remote sensing image processing.Targeted algorithms for high resolution optical images (Pleiades, SPOT, QuickBird, WorldView, Landsat, Ikonos), hyperspectral sensors (Hyperion) or SAR (TerraSarX, ERS, Palsar) are available. The software has been under active development since 2006 and is written in C++ and it includes also side projects also open source with GUI like Monteverdi. OTB has recently started the incubation process into OSGeo.


 * Mapserver SoC Ideas: MapServer is a Web Mapping Engine; an Open Source platform for publishing spatial data and interactive mapping applications to the web.


 * istSOS Ideas: istSOS (Istituto Scienze della Terra Sensor Observation Service) is an implementation of the Sensor Observation Service (SOS) standard from the Open Geospatial Consortium (OGC). The development of istSOS was started in 2009 in order to provide a simple implementation of the SOS standard for the management, provision and integration of hydro-meteorological data collected in Canton Ticino (Switzerland). istSOS is entirely written in Python.


 * GSOC Ideas: GeoServer is a web server that allows you to serve maps and data from a variety of formats to standard clients such as web browsers and desktop GIS applications. GeoServer works with the Open Geospatial Consortium (OGC) standards Web Feature Service (WFS), Web Coverage Service (WCS), Web Processing Service (WPS) and Web Map Service (WMS) standards.
 * The GeoServer team asks applicants to introduce themselves on the geoserver-devel list ( Communicating in public is a key success factor to open source development )


 * GSOC: GeoTools GeoTools is an open source Java library for working with geospatial data, including both data access, data structures, processing and a powerful rendering engine. GeoTools is a modular library used in a wide range of web service, command line tools and desktop applications.

Guest projects
Like-minded geospatial projects to take part under OSGeo umbrella. If you wish your software project to be listed here, please contact Madi or Anne.


 * OpenStreetMap Ideas: OSM is a project aimed squarely at creating and providing free geographic data such as street maps to anyone who wants them. The project was started because most maps you think of as free actually have legal or technical restrictions on their use, holding back people from using them in creative, productive or unexpected ways.
 * This year OpenStreetMap students will again be hosted under OSGeo's GSoC umbrella. Talk to OSM, but apply with us. Begin your proposal description with "OSM: " so we know which way to direct it.

Related ideas:
 * Create a Portable OSM Toolkit


 * pgRouting Ideas: pgRouting extends the PostGIS / PostgreSQL geospatial database to provide geospatial routing functionality and more.


 * PyWPS Ideas: PyWPS is server implementation of OGC WPS standard on server side using Python programming language. Currently, new version of PyWPS is being done, were we would like to implement several new attractive features.


 * JGrasstools and uDig Spatial Toolbox SoC Ideas: The JGrasstools project is a geospatial modules library dedicated to hydrology and geomorphology. It is the base of the modules for uDig's Spatial Toolbox.

Which project do I choose?
Most of the software projects are available pre-built on our Live demo { DVD | USB stick | VirtualMachine } with project overviews and short tutorials where you can try everything out.
 * View the documents and download the ISO from http://live.osgeo.org



How to get in contact via mailing lists
Since OSGeo is an umbrella organisation for multiple projects, each project has their own discussion and development mailing lists.

Main OSGeo mailing lists of interest to students:
 * Please start here, when contacting us for the first time with questions about Google Summer of Code.


 * OSGeo SoC Mentors and Students - soc@lists.osgeo.org (http://lists.osgeo.org/mailman/listinfo/soc)
 * OSGeo Wide Discussion List - discuss@lists.osgeo.org (http://lists.osgeo.org/mailman/listinfo/discuss)

Also see the Mailing Lists page for project specific lists, as well as the longer list at http://lists.osgeo.org.

How to get in contact via IRC
Primary channel:


 * irc://irc.freenode.net/#osgeo (Web based IRC client, alternative)

GSoC @ OSGeo inter-project discussions:


 * irc://irc.freenode.net/#osgeo-soc

Project irc channels:


 * irc://irc.freenode.net/#gdal
 * irc://irc.freenode.net/#geoserver
 * irc://irc.freenode.net/#geotools
 * irc://irc.freenode.net/#grass
 * irc://irc.freenode.net/#gvsig
 * irc://irc.freenode.net/#mapguide
 * irc://irc.freenode.net/#mapnik
 * irc://irc.freenode.net/#mapserver
 * irc://irc.freenode.net/#openlayers
 * irc://irc.freenode.net/#opticks
 * irc://irc.freenode.net/#osgeolive
 * irc://irc.freenode.net/#ossimplanet
 * irc://irc.freenode.net/#pgrouting-project
 * irc://irc.freenode.net/#postgis
 * irc://irc.freenode.net/#qgis
 * irc://irc.freenode.net/#udig
 * irc://irc.oftc.net/#osm-dev
 * irc://irc.freenode.net/#geonode

Application questions we'll ask you

 * All questions must be answered, no exceptions. Treat this as something between a formal job application and a scholarship application, because that's exactly what it is.

Name: Country: School and degree: Email: Phone: OSGeo project(s): Title: (please include the name of the member project as part of the title, for example: "Gee Whiz Foobar 2001 for QGIS") Describe your idea 1. Introduction 2. Background 3. The idea 4. Project plan (detailed timeline: how do you plan to spend your summer?) 5. Future ideas / How can your idea be expanded? Explain how your SoC task would benefit the OSGeo member project and more generally the OSGeo Foundation as a whole: Please provide details of general computing experience: (operating systems you use on a day-to-day basis, languages you could write a program in, hardware, networking experience, etc.) Please provide details of previous GIS experience: Please provide details of any previous involvement with GIS programming and other software programming: Please tell us why you are interested in GIS and open source software: Please tell us why you are interested in working for OSGeo and the software project you have selected: Please tell us why you are interested in your specific coding project: Would your application contribute to your ongoing studies/degree? If so, how? Please explain how you intend to continue being an active member of your project and/or OSGeo AFTER the summer is over: Do you understand this is a serious commitment, equivalent to a full-time paid summer internship or summer job? Do you have any known time conflicts during the official coding period? (May 19 to August 18)

What to expect during the summer

 * A group of past GSoC students, mentors, and Googlers have prepared this short book just for you:
 * The Student's Guide to the Summer of Code

Be prepared to be in constant communication with your mentors and project
You and your mentors will decide on the specifics, but we will expect you and your mentor to communicate *a lot*. Part of the idea of SoC is to integrate you into the developer community, so you should get involved with them from the start. The more you communicate the easier it will be. Don't be afraid that the mentors will request your phone number. It is only to make sure that we can reach you in case of problems, like making sure you get paid.

University exams and semester terms vary widely, if we know in advance that you need a week off to study, or that you've already scheduled a short vacation to somewhere off the grid, that's fine and won't count against you. But you need to communicate this up front so we can make a plan to work around it.

Weekly reports
Yes, every week we expect to see a report posted to the soc@osgeo mailing list that at least answers the following questions:


 * 1) What did you get done this week?
 * 2) What do you plan on doing next week?
 * 3) Are you blocked on anything?

These questions BTW are the same as are used in real-work, when developing with the Scrum development process. ;)

If you want, feel free to write *more*. But three sentences is the bare minimum. *IT IS VERY IMPORTANT THAT YOU SEND YOUR PROGRESS REPORTS ON TIME*, if you don't send this email your mentors will start to get twitchy, and *especially* if they don't get any responses to their emails / don't see you in IRC. Twitchy mentors is not what we want. If you are blocked by finals, that's cool. We have all studied at some point, just tell us about it up front, be honest, and we'll work around it. If you don't know how to proceed and your mentor isn't answering *definitely* tell about it. The SoC project admins will always be available. Basically the point is that you open up the communication channels, and keep them open. That way you will have a super summer, and get paid ;)

During past years this weekly report proved to be very popular among the students and mentors alike, so we will keep it up.

Code repository and documentation
Publishing your progress online is a GSoC requirement. Therefore, all students have to decide, before GSoC coding period starts, where to publish the code they will write. We ask students to give the link to the public repository in the first weekly report.

The possibilities are:
 * get a sandbox in your software project's repository (your mentor will tell you how to get write access)
 * work on a branch of the main code repository (for centralized versioning systems like SVN)
 * work on a fork of the code repository (for DCVS like Mercurial and Git)
 * work on an independent codebase (if you are developing a plugin or some other extra functionality that is not yet part of main codebase)

Your mentor is the best guide regarding this choice. Please discuss it as soon as possible, and learn how to use the related version control tool well before GSoC coding starts.

Documentation of your code is important! Don't leave all documentation writing to the last weeks of GSoC. It makes sense to outline it at the beginning of coding period, then refine it while you code. It is an important support to coding, as it is a mirror of the overall plan for the summer, and an essential source of information for who will use your code.

Wiki page and blogs
In addition to weekly reports we require you to maintain a wiki or blog page for your project. You should store your weekly reports there and add other information, like how to compile and test your program. If applicable add screenshots and other nice info.

Wiki and/or blog space can and will be provided by OSGeo if your project doesn't have anything already set up for this.

We plan to link all of the students' blogs to the OSGeo Planet blog aggregator for maximum community exposure and hopefully early feedback from the experts who read it, which may save you a lot of time and trouble if, for example, some obscure wheel has already been invented by another partner project.

Final reports from those blogs and wiki pages will be collected into a OSGeoofcode posting about what everyone did during the summer, ensuring you long lasting fame and fortune. (Or failing that, a bit of public press, a bit of cash from Google, and a lot of gratitude and kudos from us, your peers.)

[Back to Google Summer of Code 2015 @ OSGeo]