Difference between revisions of "Google Summer of Code 2014 Ideas"

From OSGeo
Jump to navigation Jump to search
 
(3 intermediate revisions by 2 users not shown)
Line 215: Line 215:
 
* irc://irc.freenode.net/#udig
 
* irc://irc.freenode.net/#udig
 
* irc://irc.oftc.net/#osm-dev
 
* irc://irc.oftc.net/#osm-dev
 +
* irc://irc.freenode.net/#geonode
  
 
== Application questions we'll ask you ==
 
== Application questions we'll ask you ==
'''''[Provisional]'''''
 
  
 
* 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.
 
* 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.
Line 280: Line 280:
  
 
* A group of past GSoC students, mentors, and Googlers have prepared this short book just for you:
 
* A group of past GSoC students, mentors, and Googlers have prepared this short book just for you:
: [http://google-opensource.blogspot.com/2011/02/flip-bits-not-burgers-student-guide.html Flip bits not Burgers: The Student's Guide to the Summer of Code] -- READ THIS eBOOK
+
: [https://flossmanuals.net/GSoCStudentGuide/ The Student's Guide to the Summer of Code]
 
 
  
 
=== Be prepared to be in constant communication with your mentors and project ===
 
=== Be prepared to be in constant communication with your mentors and project ===
Line 302: Line 301:
 
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 ;)
 
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 ;)
  
Last year this weekly report proved to be very popular among the students and mentors alike, so we will keep it up.
+
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 ===
 
=== Wiki page and blogs ===

Latest revision as of 05:49, 19 April 2014

GoogleSummer 2014logo.jpg @ OSGeo 300 127 pixel.png




OSGeo Google Summer of Code 2014

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)
  • 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 2014 wiki page.

Important dates

  • February 24: Google announces accepted organizations. [✓]
Please start talking to the dev communities you are interested in now.
  • March 10: 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 21: Student application deadline.
  • April 21: Accepted student proposals are announced and Community Bonding Period begins.
  • May 19: 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 23: Mid-term evaluation begins
  • August 11-18: Pencils down!
  • August 18-22: Final evaluations
  • August 22: Students begin submitting required code samples to Google
  • August 25: 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!


Logo-grass.png
  • 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!


Logo-qgis.png
  • 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.
Logo-gdal.png


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


Logo-gvSIG.png
  • gvSIG Ideas: gvSIG is a free GIS project for Desktop, PDAs, and mobile phones. The gvSIG project looks for students with Java skills that want to develop new ideas on any of these products.


Logo-opticks.png


Osgeolive 60px.png
  • OSGeo-Live Ideas: OSGeo-Live packages over 50 of the best geospatial open source projects, preconfigured with data, quickstarts and project overviews. We have packaging and automated build projects. (See below)


Logo-postgis.png
  • PostGIS Ideas: PostGIS spatially enables the popular PostgreSQL object-relational database, allowing it to be used as a back-end database for geographic information systems (GIS) and web-mapping applications.


Logo-ossim.png
  • OSSIM SoC Ideas: OSSIM Open Source Software Image Map (OSSIM) is a high performance engine for remote sensing, image processing, geographical information systems and photogrammetry. The software has been under active development since 1996 and is deployed across a number of private, federal and civilian agencies. It is written in C++.


Logo OTB.png
  • 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.



Guest projects

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


Logo-osm6.png
  • 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.
Pgrouting-logo.png


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


Pywps-logo.png
  • 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.


  • istSOS Ideas: istSOS
    Logo-istSOS.png
    (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.


Logo-uDig.png
  • JGrasstools and uDig SoC Ideas: User-friendly Desktop GIS (uDig) is a Java application written with the Eclipse RCP framework. The project has a community svn area to host student plug-ins, tutorials cover how to package up a custom application to show off your work.


Logo-cartaro.png
  • Cartaro Ideas: Cartaro provides geospatial functionality and web services within the Drupal Content Management System (CMS). It is builds upon robust Open Source components: the PostGIS database, GeoServer and GeoWebCache web services, OpenLayers maps in the browser, all managed from within the powerful Drupal CMS.


Geonode logo.png
  • GeoNode Ideas: GeoNode is an Open Source Geospatial Content Management System: a web-based application and platform for developing Geospatial Information Systems (GIS) and for deploying spatial data infrastructures (SDI). It is designed to be easily extended and modified, and can be integrated into existing platforms. Written with the Python Django web application, it is based on other great Open Source components such as PostGIS, GeoServer, OpenLayers and GeoExplorer.


Neo4j-spatial 64.png
  • Neo4j Spatial Ideas: Neo4j Spatial is an Open Source library extending the popular Neo4j Graph Database with a number of features for GIS enabling your data model. It embeds and relies on JTS and GeoTools, and provides the ability to store your domain model in many internal formats, and has utilities for import and export of Shapefiles and OpenStreetMap data. We've received contributions from GSoC projects in 2010, 2011 and 2012.


Logo-cartoDB.png
  • CartoDB Ideas: CartoDB is a cloud based mapping, analysis and visualization engine that lets users build spatial applications for both mobile and the web. Students will need to be able to use PHP and PostgreSQL.


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
Osgeolive wordle.png

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.

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:

GSoC @ OSGeo inter-project discussions:

Project irc channels:

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 2014 @ OSGeo]