-

Google Summer of Code

From Open Bioinformatics Foundation
Revision as of 11:35, 14 March 2010 by EricTalevich (talk) (Mentors and Project Ideas: Added a link to Biopython's PDB-Tidy idea)
Jump to: navigation, search
Gsoc 2010 logo.jpg

Once again in 2010, the OBF is applying to the Google Summer of Code (GSoC) program as an umbrella organization for all OBF-affiliated projects.

This page serves as a collection point for ideas, projects, prerequisites, solution approaches, mentors, other people or channels to contact for more information.

About Google Summer of Code

For those not familiar with the program, Google Summer of Code (GSoC) is a student internship program for open-source projects. The program offers eligible student developers stipends to write code for open source projects over a period of 3 summer months ("flip bits, not burgers"). Aside from the stipend, one of the most important features of the program is that students are paired with mentors, who are typically experienced developers from the project to which the student contributes. The mentor guides the student to work productively within the community, and helps the student avoid obstacles and pitfalls. The program is global - students and mentors may be located anywhere where they have internet connection (except for countries affected by US trade restrictions), and no travel is required. Thus, aside from the stipend and mentorship aspects, the student's experience in the internship closely mirrors normal work on distributed development projects. Effective work habits for distributed development are typically not taught in computer science curricula, yet are highly desired in the increasingly global software and IT industries.

From the viewpoint of each open-source project, the program not only offers to pay students for contributing, but more importantly offers an opportunity to recruit new developers who will hopefully go on to become regular, sustained contributors.

See the Main GSoC Site for more information and FAQs, and see below for other facts such as eligibility and timelines .

Mentors and Project Ideas

Mentors and project ideas are hosted on each member project's wiki on a dedicated Google Summer of Code page. See each of the member projects, linked below, for more details about any project:

Note to students: project ideas on the wikis of member projects are only selected projects, albeit well thought-out ones. You are welcome to propose your own project if none of those below catches your interest, or if your idea is more exciting to you, provided it is still a contribution to one the OBF member projects (see list below). If we like your proposal, we will try to find a mentor to help you with the project. Regardless of what you decide to do, make sure you read and follow the guidelines for students below.

Contact

For prospective students, the first point of contact should be the mailing list of the OBF project you are interested in working with:

BioPerl
bioperl-l@lists.open-bio.org
BioPython
biopython@lists.open-bio.org
BioJava
biojava-l@lists.open-bio.org
BioRuby
bioruby@lists.open-bio.org
BioSQL
biosql-l@lists.open-bio.org
BioLib
biolib-dev@lists.open-bio.org

Also, it would be a good idea to CC the organization adminstrator, so he can make sure that you are properly taken care of:

Organization administrator
Robert Buels (rmb32@cornell.edu)
Backup administrator
Hilmar Lapp (hlapp@gmx.net)

If you are not quite sure which project you would like to contribute to, you can email to the organization administrator for help. However, do not worry overly much about picking the right OBF project at the outset. If you are unsure, simply make your best guess, and other members of the email list will help you to find the best organization to suit your idea.

Before applying, please read our documentation on information that students should know and guidelines we expect you to follow. We also require that you include certain information, listed below, under "When you apply."

Some mentors and developers can regularly be found on IRC, see the list of OBF projects below for information on which projects have a channel and the name of the channel. (If you do not have an IRC client installed, you might find the comparison on Wikipedia, the Google directory, or the IRC Reviews helpful. For Macs, X-Chat Aqua works pretty well. If you have never used IRC, try the IRC Primer at IRC Help, which also has links to lots of other material.)

Open-Bio Projects Accepting Applicants

BioPerl logo tiny.jpg
BioPerl 
Biopython logo tiny.png
BioPython 
Biojava logo tiny.jpg
BioJava 
BioRuby logo tiny.png
BioRuby 
BioSQL logo.png
BioSQL 
BioLib logo tiny.png
BioLib 

Guide for prospective GSoC students

Before you apply

  • Proposals should extend one of affiliated toolkits, not start a new project.
  • If you want to apply with your own idea, try to contact us early on so we can work with you to find a mentor and solidify your project idea and application.
  • Ask us questions about the project idea you have in mind.
  • Write a project proposal draft, include a project plan (see below), and bounce those off of us.

Again, students are strongly encouraged to contact us as early as possible. Frequent and early communication is extremely valuable for putting together successful projects.

When you apply

When applying, (aside from the information requested by Google) please provide the following in your application material.

  1. Your complete contact information, including full name, physical address, preferred email address, and telephone number, plus other pertinent contact information such as IRC handles, etc.
  2. Why you are interested in the project you are proposing and are well-suited to undertake it.
  3. A summary of your programming experience and skills.
  4. Programs or projects you have previously authored or contributed to, in particular those available as open-source, including, if applicable, any past Summer of Code involvement.
  5. A project plan for the project you are proposing, even if your proposed project is directly based on one of the proposed project ideas for member projects.
    • A project plan in principle divides up the whole project into a series of manageable milestones and time-lines that, when all accomplished, logically lead to the end goal(s) of the project. Put in another way, a project plan explains what you expect you will need to be doing, and what you expect you need to have accomplished, at which time, so that at the end you reach the goals of the project.
    • Do not take this part lightly. A compelling plan takes a significant amount of work. Empirically, applications with no or a hastily composed project plan have not been competitive, and a more thorough project plan can easily make an applicant out compete another with more advanced skills.
    • A good plan will require you to thoroughly think about the project itself and how one might want to go about the work.
    • We don't expect you to have all the experience, background, and knowledge to come up with the final, real work plan on your own at the time you apply. We do expect your plan to demonstrate, however, that you have made the effort and thoroughly dissected the goals into tasks and successive accomplishments that make sense.
    • We strongly recommend that you bounce your proposed project and your project plan draft off of us, using either the pertinent developers mailing list or the IRC channel(s). Through the project plan exercise you will inevitably discover that you are missing a lot of the pieces - we are there to help you fill those in as best as we can.
  6. Any obligations, vacations, or plans for the summer that may require scheduling during the GSoC work period.
    • We expect the your GSoC project to be your primary focus over the summer. It should not be regarded as a part-time occupation.
    • If you feel that you can manage other work obligations concurrently with your Summer of Code project, make your case and support it with evidence.
    • Be honest and open. If it turns out later that you weren't clear about other obligations, at best (i.e., if your accomplishment record at that point is spotless) our trust in you will be severely degraded. Also, if you are accepted, discuss with your GSoC mentor before taking on additional obligations.
    • One of the most common reasons for students to struggle or fail is being overcommitted. Do not set yourself up for failure! GSoC summers should be fun and rewarding!

Other Facts & Links

Google Summer of Code Main Site: [1]

  • Mentoring organizations apply between March 8-12, 2010. Accepted mentoring organizations will be published March 19.
  • Google expects to accept around 150 mentoring organizations.
  • Students apply between March 22-April 2, 2010. See the GSoC site for eligibility requirements.
  • Development is done entirely remotely and on-line, there is no requirement or expectation for either students or mentors to travel.
  • Org application documents, with Google's questions and our answers:
  • For questions of eligibility, see the 2010 GSoC eligibility requirements for students.
  • There is also a Google group for posting GSoC questions (and receiving answers; note that you will need to sign up for the group) that relate to the program itself (and are not specific to our organization).
  • Students receive a stipend from Google if accepted. See the 2010 GSoC FAQ on payments for full documentation.