-

Difference between revisions of "Google Summer of Code"

From Open Bioinformatics Foundation
Jump to: navigation, search
(GSoC 2013: Copied and updated template for GSoC 2014)
(Project ideas: Linked project names to their main GSoC pages)
Line 32: Line 32:
 
Mentor names 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:
 
Mentor names 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:
  
;Biopython:
+
;[http://biopython.org/wiki/Google_Summer_of_Code Biopython]:
:* [http://biopython.org/wiki/Google_Summer_of_Code#Codon_alignment_and_analysis Codon alignment and analysis]
 
:* [http://biopython.org/wiki/Google_Summer_of_Code#Bio.Phylo:_filling_in_the_gaps Bio.Phylo: filling in the gaps]
 
 
:* [http://biopython.org/wiki/Google_Summer_of_Code#Indexing_.26_Lazy-loading_Sequence_Parsers Indexing & Lazy-loading Sequence Parsers]
 
:* [http://biopython.org/wiki/Google_Summer_of_Code#Indexing_.26_Lazy-loading_Sequence_Parsers Indexing & Lazy-loading Sequence Parsers]
;BioRuby:
+
;[http://bioruby.open-bio.org/wiki/Google_Summer_of_Code BioRuby]:
 
:* [http://bioruby.open-bio.org/wiki/Google_Summer_of_Code#A_parallelized_framework_for_processing_large_numbers_of_VCF_files_using_Scala_Actors_and_JRuby A parallelized framework for processing large numbers of VCF files using Scala Actors and JRuby]
 
:* [http://bioruby.open-bio.org/wiki/Google_Summer_of_Code#A_parallelized_framework_for_processing_large_numbers_of_VCF_files_using_Scala_Actors_and_JRuby A parallelized framework for processing large numbers of VCF files using Scala Actors and JRuby]
 
:* [http://bioruby.open-bio.org/wiki/Google_Summer_of_Code#D3_based_graphics_package_for_Bioinformatics D3 based graphics package for Bioinformatics]
 
:* [http://bioruby.open-bio.org/wiki/Google_Summer_of_Code#D3_based_graphics_package_for_Bioinformatics D3 based graphics package for Bioinformatics]
Line 42: Line 40:
 
:* [http://bioruby.open-bio.org/wiki/Google_Summer_of_Code#Machine_Learning_.26_Data_Mining_Algorithms_for_Ruby Machine Learning & Data Mining Algorithms for Ruby]
 
:* [http://bioruby.open-bio.org/wiki/Google_Summer_of_Code#Machine_Learning_.26_Data_Mining_Algorithms_for_Ruby Machine Learning & Data Mining Algorithms for Ruby]
 
:* [http://bioruby.open-bio.org/wiki/Google_Summer_of_Code#Create_a_dynamic_and_social_web_portal_for_Bioinformatics_packages Create a dynamic and social web portal for Bioinformatics packages]
 
:* [http://bioruby.open-bio.org/wiki/Google_Summer_of_Code#Create_a_dynamic_and_social_web_portal_for_Bioinformatics_packages Create a dynamic and social web portal for Bioinformatics packages]
;BioJava: <!-- :http://biojava.org/wiki/Google_Summer_of_Code -->
+
;[http://biojava.org/wiki/Google_Summer_of_Code BioJava]:
 
:* [http://biojava.org/wiki/Google_Summer_of_Code#Port_the_BioJava_1_or_2_functionality_to_BioJava_3 Port the BioJava 1 or 2 functionality to BioJava 3]
 
:* [http://biojava.org/wiki/Google_Summer_of_Code#Port_the_BioJava_1_or_2_functionality_to_BioJava_3 Port the BioJava 1 or 2 functionality to BioJava 3]
 
:* [http://biojava.org/wiki/Google_Summer_of_Code#Improve_structural_alignment_datastructures_to_support_topology-independent_alignments Improve structural alignment datastructures to support topology-independent alignments]
 
:* [http://biojava.org/wiki/Google_Summer_of_Code#Improve_structural_alignment_datastructures_to_support_topology-independent_alignments Improve structural alignment datastructures to support topology-independent alignments]
 
:* [http://biojava.org/wiki/Google_Summer_of_Code#Topology_Diagrams_of_Protein_Structures Topology Diagrams of Protein Structures]
 
:* [http://biojava.org/wiki/Google_Summer_of_Code#Topology_Diagrams_of_Protein_Structures Topology Diagrams of Protein Structures]
 
:* [http://biojava.org/wiki/Google_Summer_of_Code#Sequence_Variation Sequence Variation]
 
:* [http://biojava.org/wiki/Google_Summer_of_Code#Sequence_Variation Sequence Variation]
;BioPerl:  
+
;[http://bioperl.org/wiki/Google_Summer_of_Code BioPerl]:
 
:* [http://bioperl.org/wiki/Google_Summer_of_Code#Convert_BioPerl-DB_to_DBIx::Class Convert BioPerl-DB to use DBIx::Class]
 
:* [http://bioperl.org/wiki/Google_Summer_of_Code#Convert_BioPerl-DB_to_DBIx::Class Convert BioPerl-DB to use DBIx::Class]
 
:* [http://bioperl.org/wiki/Google_Summer_of_Code#Major_BioPerl_Reorganization.2C_part_2 Major BioPerl Reorganization (Part II)]
 
:* [http://bioperl.org/wiki/Google_Summer_of_Code#Major_BioPerl_Reorganization.2C_part_2 Major BioPerl Reorganization (Part II)]
 
:* [http://bioperl.org/wiki/Google_Summer_of_Code#Lightweight.2FLazy_BioPerl_Classes Lightweight BioPerl modules]
 
:* [http://bioperl.org/wiki/Google_Summer_of_Code#Lightweight.2FLazy_BioPerl_Classes Lightweight BioPerl modules]
 
:* [http://bioperl.org/wiki/Google_Summer_of_Code#BioPerl_2.0_.28and_beyond.29 Modern BioPerl]
 
:* [http://bioperl.org/wiki/Google_Summer_of_Code#BioPerl_2.0_.28and_beyond.29 Modern BioPerl]
See [http://bioperl.org/wiki/Google_Summer_of_Code the BioPerl GSoC page] for more BioPerl ideas.
+
;[http://biohaskell.org/Google_Summer_of_Code BioHaskell]:
;BioHaskell:
 
 
:* [http://biohaskell.org/Google_Summer_of_Code#Optimizing_transalign Optimizing a novel, very sensitive alignment method]
 
:* [http://biohaskell.org/Google_Summer_of_Code#Optimizing_transalign Optimizing a novel, very sensitive alignment method]
  

Revision as of 01:11, 10 February 2014

Soc-2013-300x200.png

GSoC 2014

The Google Summer of Code 2014 is ON! OBF is once again applying as a mentoring organization this year. Interested mentors and students should subscribe to the OBF/GSoC mailing list. Please announce yourself, so we know who you are!

Organization administrator
Eric Talevich
Backup administrator
Raoul Bonnal

GSoC 2013

OBF applied for mentoring in 2013 but, sadly, did not get accepted as a mentoring organisation by Google - despite our good track record.

Other organisations relevant for bioinformatics students are: Nescent, SciRuby, GMOD, who took on some of our projects and mentors.

Organization administrator
Pjotr Prins (pjotr.gsoc2013@thebird.nl)
Backup administrators
Chris Fields, Hilmar Lapp, Robert Buels

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 is contributing. 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 an 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 as part of computer science curricula, yet are highly desired in the increasingly global and distributed software, IT, and biotechnology 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, sustaining contributors.

See the Main GSoC Site for general information about the Google Summer of Code program, how to apply, frequently asked general questions, and more.

Project ideas

Interested mentors and students should subscribe to the OBF/GSoC mailing list and announce their interest - that is the way we can track what is happening.

Mentor names 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:

Biopython
BioRuby
BioJava
BioPerl
BioHaskell

Contact

IRC - Internet Relay Chat

IRC is the preferred method of real-time communication between GSoC participants. OBF IRC channels are maintained on freenode, connect your IRC client to chat.freenode.net.

Main OBF GSoC Channel
#obf-soc
BioPerl
#bioperl
BioRuby
#bioruby

Email

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 administrator, so he can make sure that you are properly taken care of!


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. And/or join #obf-soc on Freenode. (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.)

OBF 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, it's best to contact the OBF subproject you're interested in well before the application deadline, so we can work with you to find a mentor and solidify your project idea and application.
  • Ask us questions on the subproject mailing lists about the project idea you have in mind.
  • Write a project proposal draft, include a project plan (see below), and send it to a project mailing list for comments before submitting it.

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!

Student Progress Reports

To encourage community bonding and awareness of what the GSoC students are doing, from 2012 the OBF is being much clearer about our progress report expectations.

We would like every student to setup a blog for the GSoC project (or a category/tag on your existing blog) which you will use to summarize your progress every week, as well as longer posts at the half way evaluation, and at the end of the summer.

In addition, after publishing each blog post, we expect you to email the URL and the text of the blog (or if important images or formatting would be lost, at least a short summary) to the host project's mailing list(s) (check with your mentors if the project has more than one) AND the gsoc@open-bio.org mailing list.

You will be writing under your own name, but with a clear association with your mentors, the OBF and its projects, so please take this seriously and be professional. Remember this will become part of your online presence, and potentially looked at by future employers and colleagues.

Mentor Resources

Previous Years

This section contains links to content related to OBF's participation in GSoC in previous years.

  • 2012 - 5 student projects
  • 2011 - 6 student projects
  • 2010 - 6 student projects

Other Facts & Links

Google Summer of Code Main Site

  • GSoC 2013 time line
  • Google expects to accept around 150 mentoring organizations.
  • Development is done entirely remotely and on-line, there is no requirement or expectation for either students or mentors to travel.
  • For questions of eligibility, see the GSoC 2013 FAQ.
  • 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 GSoC 2013 FAQ for full documentation.