-

Difference between revisions of "Google Summer of Code"

From Open Bioinformatics Foundation
Jump to: navigation, search
(Open-Bio Projects Accepting Applicants: added link to biopython gsoc page)
(GSoC 2016: Link to new site)
 
(226 intermediate revisions by 28 users not shown)
Line 1: Line 1:
Once again in 2010, the OBF is applying to the [http://socghop.appspot.com/ Google Summer of Code] (GSoC) program as an umbrella organization for all OBF-affiliated projects.
+
[[Image:GSoC15-logo-small.jpg|right|frame|link=http://code.google.com/soc]]  
  
This page serves as a collection point for ideas, projects, prerequisites, solution approaches, mentors, other people or channels to contact for more information.
+
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"). See the '''[http://code.google.com/soc Google Summer of Code Main Site]''' for general information about the Google Summer of Code program, how to apply, frequently asked general questions, and more.
  
== About Google Summer of Code ==
 
  
[[Image:Gsoc_2010_logo.jpg|right]] For those not familiar with the
+
== GSoC 2016 ==
program, Google Summer of Code (GSoC) is maybe best described as a
 
remote student internship program for globally distributed,
 
collaboratively developed 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, perhaps the most important
 
qualitative difference of this program is that students are paired
 
with mentors, who are typically experienced developers from the
 
project to which the student would be contributing, and who can guide
 
the student to interact productively with the community, prevent
 
getting stuck in obstacles, and avoid chasing down the wrong
 
direction. The program is global - students and mentors may be located
 
anywhere where they have internet connection
 
([http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs#not_eligible
 
except for countries affected by US trade restrictions]), and no
 
travel is required. Thus, other than the stipend and the mentorship,
 
the internship mirrors normal contributors to such distributed
 
development projects, which is a useful learning experience in itself,
 
as the skills needed to be effective at this are typically not taught
 
in computer science curricula, yet are highly desired in an
 
increasingly global IT industry.
 
  
From the viewpoint of participating open-source projects, the program
+
The Google Summer of Code 2016 is ON! OBF is once again applying as a GSoC mentoring organization this year. Interested mentors and students should subscribe to the OBF/GSoC [http://lists.open-bio.org/mailman/listinfo/gsoc mailing list]. Please announce yourself, so we know who you are!
not only offers to pay students for contributing, but more importantly
+
The details of each of our project ideas are listed below, including potential mentors.
offers an opportunity to recruit new developers in a way that allows
 
far more people to leap over the barrier from interested user to code
 
contributor.
 
  
See
+
See http://obf.github.io/GSoC/ for more information about the GSoC program and additional ways to get in touch with us.
[http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs#about_gsoc
 
the GSoC FAQs and documentation] for further information, and see
 
below for
 
[[#Reference_Facts_.26_Links:_Google_Summer_of_Code_2009|reference
 
facts such as eligibility and timelines]].
 
  
== Contact ==
+
<!--Our GSoC ideas from each project are collected here: '''[[Google Summer of Code 2015 Ideas |OBF Project Ideas for GSoC 2015]]''' -->
 +
=== Facts & Links ===
  
Our organization administrators are primary administrator [[User:RobertBuels|Robert Buels]] ([mailto:rmb32%40cornell%2eedu rmb32&#64;cornell&#46;edu]) and backup administrator [[User:Lapp|Hilmar Lapp]] ([mailto:hlapp%40gmx%2enet hlapp&#64;gmx&#46;net]).
+
; Time Line :
 +
:* [https://developers.google.com/open-source/gsoc/timeline GSoC time line]
  
If you are a student interested in applying for a Google Summer of
+
; GSoC 2016 FAQ :
Code project with our organization, please send questions and project ideas to the develop mailing list of the pertinent OBF project.
+
:* For questions of eligibility, see the [https://developers.google.com/open-source/gsoc/faq GSoC 2016 FAQ].
  
How do you know which project is pertinent and the address of its developer mailing list? The [[#Open-Bio_projects_involved|projects under the OBF umbrella are listed below]], with home page and developer mailing lists. Each project idea lists the OBF project it is a part of; look it up in the list below and you have the information you need. If you want to propose your own project idea and the project to which you would contribute isn't obvious, send email to [mailto:gsoc%40lists%2eopen-bio%2eorg gsoc&#64;lists&#46;open-bio&#46;org]. 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.
+
; Info from Google :
 +
:* There is also a [http://groups.google.com/group/google-summer-of-code-discuss 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  [https://developers.google.com/open-source/gsoc/faq GSoC 2016 FAQ] for full documentation.
 +
:* Development is done entirely remotely and on-line; there is no requirement or expectation for either students or mentors to travel.
  
Some of us also 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 [http://en.wikipedia.org/wiki/List_of_IRC_clients comparison on Wikipedia], the [http://directory.google.com/Top/Computers/Software/Internet/Clients/Chat/IRC/ Google directory], or the [http://www.ircreviews.org/clients/ IRC Reviews] helpful. For Macs, [http://en.wikipedia.org/wiki/X-Chat X-Chat Aqua] works pretty well. If you have never used IRC, try the [http://irchelp.org/irchelp/ircprimer.html IRC Primer] at [http://irchelp.org/ IRC Help], which also has links to lots of other material.)''
+
=== Why apply? ===
  
For applying, please make sure you read our [[#What_should_prospective_students_know.3F|documentation on information that students should know and guidelines we expect you to follow]] ''before'' you apply. We don't have a format template for application that you need to adhere to, but we do ask that you include specific kinds of information. What those are is documented under "[[#When you apply|When you apply]]."
+
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.
  
== Ideas ==
+
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.
  
''Note: primary project mentors are in '''bold font'''. Biographical and other information on the mentors is linked to in the [[#Mentors|Mentors section]].''
+
==Project Ideas==
  
''Students: The project '''ideas''' below are suggested projects from mentors, 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). Just be aware that we can't guarantee finding an appropriate mentor, but if we like your proposal we will try.  Regardless of what you decide to do, make sure you read and follow the [[#What_should_prospective_students_know.3F|guidelines for students]] below.''
 
  
 +
Our GSoC ideas from each project are collected here: http://obf.github.io/GSoC/
  
==Mentor List==
+
== OBF Projects Accepting Applicants ==
  
* [[bp:User:Cjfields|Chris Fields]] (U. Illinois at Urbana-Champaign; BioPerl)
+
[[Image:BioPerl_logo_tiny.jpg|right|link=bp:Google Summer of Code]]
* [[bp:User:Majensen|Mark Jensen]] (Fortinbras; BioPerl)
+
; [[bp:Google Summer of Code|BioPerl]] :
* [http://biojava.org/wiki/User:Andreas Andreas Prlic] (UCSD; [http://biojava.org/wiki/Google_Summer_of_Code BioJava])
+
:* '''[[bp:Google Summer of Code | BioPerl GSoC Page]]''' - project ideas and mentors
* [[bp:User:RobertBuels|Robert Buels]] (Sol Genomics Network; BioPerl)
+
:* [[bp:Main Page|Project website]]
 +
:* [[bp:Becoming_a_developer|Information for new developers]]
 +
:* source code browser for [http://code.open-bio.org/svnweb/index.cgi/bioperl/browse/bioperl-live/trunk bioperl-live] (the main BioPerl code base), and [http://code.open-bio.org/svnweb/index.cgi/bioperl/ all BioPerl sub-projects]
 +
:* [[bp:Project_priority_list|Priority list]] of things that need work, as another source for student-conceived project ideas
 +
:* [[bp:Mailing_lists|Mailing lists]]
 +
:* IRC: <code>#bioperl</code> on [http://freenode.net Freenode]
  
== What should prospective students know? ==
+
[[Image:Biopython_logo_tiny.png|right|link=biopython:Google Summer of Code]]
 +
; [[biopython:Google Summer of Code |BioPython]] :
 +
:* '''[[biopython:Google Summer of Code | BioPython GSoC Page]]''' - project ideas and mentors
 +
:* [[biopython:Main Page|Project website]]
 +
:* [[biopython:Contributing|Information for contributors]]
 +
:* [[biopython:Mailing lists|Mailing lists]]
 +
:* [[biopython:SourceCode| Source Code]]
 +
:* No IRC channel at present
 +
 
 +
[[Image:Biojava_logo_tiny.jpg|right|link=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 BioJava GSoC Page]''' - project ideas and mentors
 +
:* [http://biojava.org/wiki/BioJava:Modules BioJava modules] as another source for student-conceived project ideas
 +
:* source code for [http://code.open-bio.org/svnweb/index.cgi/biojava/browse/biojava-live/trunk biojava-live] (the main BioJava code base) and [http://code.open-bio.org/svnweb/index.cgi/biojava/ all BioJava sub-projects]
 +
:* [http://biojava.org/wiki/BioJava:MailingLists Mailing lists]
 +
:* No IRC channel at present
 +
 
 +
[[Image:BioRuby_logo_tiny.png|right|link=http://bioruby.org]]
 +
; [http://bioruby.org BioRuby] :
 +
:* '''[http://bioruby.open-bio.org/wiki/Google_Summer_of_Code BioRuby GSoC Page]''' - project ideas and mentors
 +
:* [http://bioruby.org Project website]
 +
:* [http://lists.open-bio.org/mailman/listinfo/bioruby developers mailing list]
 +
:* [http://github.com/bioruby/bioruby/tree/master source code]
 +
:* IRC: <code>#bioruby</code> on [http://freenode.net Freenode]
 +
 
 +
[[Image:BioSQL_logo.png|160px|right|link=biosql:Main Page]]
 +
; [[biosql:Main Page|BioSQL]] :
 +
:* [[biosql:Main Page|Project website]]
 +
:* Current [http://biosql.org/wiki/Enhancement_Requests enhancement requests] as another source for student-conceived project ideas
 +
:* [http://biosql.org/mailman/listinfo/biosql-l developers mailing list]
 +
:* [http://code.open-bio.org/svnweb/index.cgi/biosql/browse/biosql-schema/trunk source code]
 +
:* No IRC channel at present
 +
 
 +
; [http://biohaskell.org/ BioHaskell] :
 +
:* [http://biohaskell.org/ Project website]]
 +
:* [http://hackage.haskell.org/packages/#cat:Bioinformatics Bioinformatics section on HackageDB]
 +
 
 +
; [http://biocaml.org Biocaml] :
 +
:* [http://biocaml.org Project website]
 +
:* [https://groups.google.com/d/forum/biocaml Mailing list]
 +
:* [http://www.open-bio.org/wiki/Google_Summer_of_Code_2015_Ideas#Biocaml Project ideas]
 +
 
 +
== Guide for prospective GSoC students ==
  
 
=== Before you apply ===
 
=== Before you apply ===
  
* If you want to apply with your own idea, determine which OBF project you would be contributing to, and [[#Contact|contact us]] early on so we can try to find a mentor.
+
* Proposals should extend one of affiliated toolkits, not start a new project.
* Proposals should extend one of affiliated toolkits.
+
* If you want to apply with your own idea, it's best to [[#Contact|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.
* [[#Contact|Ask us questions]] about the project idea you have in mind.
+
* [[#Contact|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 [[#Contact|bounce those off of us]].
+
* Write a project proposal draft, include a project plan (see below), and [[#Contact|send it to a project mailing list]] for comments before submitting it.
  
Again, '''students are strongly encouraged to [[#Contact|contact us]] before applying'''. Frequent and early communication is extremely valuable for putting together successful projects.
+
Again, '''students are strongly encouraged to [[#Contact|contact us]] as early as possible'''. Frequent and early communication is extremely valuable for putting together successful projects.
  
 
=== When you apply ===
 
=== When you apply ===
  
 
When applying, (aside from the information requested by Google) please provide the following in your application material.
 
When applying, (aside from the information requested by Google) please provide the following in your application material.
 +
# '''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.
 
# Why you are interested in the project you are proposing and are well-suited to undertake it.
 
# Why you are interested in the project you are proposing and are well-suited to undertake it.
 
# A summary of your programming experience and skills.
 
# A summary of your programming experience and skills.
 
# 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.
 
# 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.
# A project plan for the project you are proposing, even if your proposed project is directly based on one of the ideas above.
+
# 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 timelines 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.
+
#* 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 outcompete another with more advanced skills.
+
#* 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.
 
#* 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 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.
 
#* 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.
# Any obligations or plans for the summer during the coding period that may possibly conflict.
+
# Any obligations, vacations, or plans for the summer that may require scheduling during the GSoC work period.
#* We expect the your GSoC projec to be your primary focus over the summer.  It should not be regarded as a part-time occupation.
+
#* 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.
 
#* 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.
 
#* 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!
 
#* 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 information ===
+
== Student Progress Reports ==
 +
 
 +
In addition to writing code, accepted students send weekly updates to the OBF community on their project's progress. These updates allow us to keep aware of how GSoC students are doing, give students a forum to ask any questions, and promote overall community bonding.
 +
 
 +
At the beginning of the summer, we ask that you set up 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 about your work if you'd like. (See [http://zruanweb.com/tag/gsoc.html these] [http://www.yeyanbo.com/tag/gsoc.html examples] from 2013.)
 +
 
 +
Then, at the start of each week:
 +
 
 +
# Post an update on your blog: What did you do last week? What do you plan to do this week? Do you have any unanswered questions, any unsolved problems from the last week, interesting observations or anything else you'd like to mention?
 +
# Email the URL and text of the post (or a short summary) to the host project's mailing list (your mentors will confirm which one to use) ''and'' the main OBF GSoC mailing list (gsoc@lists.open-bio.org).
 +
 
 +
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 that your blog will be one of the first things found by anyone interested in the project you're working on, and can be a valuable resource to them &mdash; as well as a significant part of your online presence.
 +
 
 +
== Contact ==
 +
 
 +
Before applying, please read our [[#What_should_prospective_students_know.3F|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|When you apply]]."
 +
 
 +
=== Staff and org Admins ===
 +
;Organization administrator: Eric Talevich ([mailto:eric&#46;talevich&#64;gmail&#46;com eric&#46;talevich&#64;gmail&#46;com])
 +
;Backup administrator: Raoul Bonnal ([mailto:ilpuccio&#46;febo&#64;gmail&#46;com email]) (IRC: helius | channels: #obf-soc, #bioruby, #gsoc ) (Skype: ilpuccio)
 +
<!--
 +
Other organisations relevant for bioinformatics students are: [http://informatics.nescent.org/wiki/Phyloinformatics_Summer_of_Code_2013 Nescent], [https://github.com/SciRuby/sciruby/wiki/Google-Summer-of-Code-2013-Ideas SciRuby], [http://gmod.org/wiki/GSoC GMOD], who took on some of our projects and mentors.
 +
 
 +
;2013 Organization administrator: [[User:PjotrPrins|Pjotr Prins]] ([mailto:pjotr.gsoc2013@thebird.nl pjotr.gsoc2013@thebird.nl])
 +
;Backup administrators: Chris Fields, [[User:Lapp|Hilmar Lapp]], Robert Buels
 +
-->
 +
 
 +
=== Google Plus ===
 +
 
 +
[https://plus.google.com/communities/103096212020630764091 OBF Summer of Code] on G+
 +
 
 +
=== Email ===
  
* Our [http://docs.google.com/Doc?id=dhs98hzv_7zn8bxqjm 2009 application document] with Google's questions and our answers.
+
For prospective students, the first point of contact should be the mailing list of the OBF project you are interested in working with:
* For questions of eligibility, see the [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#eligibility 2010 GSoC eligibility requirements for students].
 
* There is also a [http://groups.google.com/group/google-summer-of-code-discuss 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 [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs#payments 2010 GSoC FAQ on payments] for full documentation.
 
  
== Open-Bio Projects Accepting Applicants ==
+
;BioPerl: [mailto:bioperl-l@lists.open-bio.org bioperl-l@lists.open-bio.org]
 +
;BioPython: [mailto:biopython@lists.open-bio.org biopython@lists.open-bio.org]
 +
;BioJava: [mailto:biojava-l@lists.open-bio.org biojava-l@lists.open-bio.org]
 +
;BioRuby: [mailto:bioruby@lists.open-bio.org bioruby@lists.open-bio.org]
 +
;BioSQL: [mailto:biosql-l@lists.open-bio.org biosql-l@lists.open-bio.org]
 +
;BioLib: [mailto:biolib-dev@lists.open-bio.org biolib-dev@lists.open-bio.org]
 +
 
 +
Also, it would be a good idea to CC the organization administrator ([[User:EricTalevich|Eric Talevich]], [mailto:eric&#46;talevich&#64;gmail&#46;com eric&#46;talevich&#64;gmail&#46;com]), 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.
 +
 
 +
=== IRC - Internet Relay Chat ===
 +
 
 +
OBF IRC channels are maintained on [http://freenode.net freenode], connect your IRC client to <code>chat.freenode.net</code>.
 +
 
 +
;Main OBF GSoC Channel: <code>#obf-soc</code>
 +
;BioPerl: <code>#bioperl</code>
 +
;BioRuby: <code>#bioruby</code>
 +
 
 +
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 <code>#obf-soc</code> on [http://freenode.net Freenode.] ''(If you do not have an IRC client installed, you might find the [http://en.wikipedia.org/wiki/List_of_IRC_clients comparison on Wikipedia], the [http://directory.google.com/Top/Computers/Software/Internet/Clients/Chat/IRC/ Google directory], or the [http://www.ircreviews.org/clients/ IRC Reviews] helpful. For Macs, [http://en.wikipedia.org/wiki/X-Chat X-Chat Aqua] works pretty well. If you have never used IRC, try the [http://irchelp.org/irchelp/ircprimer.html IRC Primer] at [http://irchelp.org/ IRC Help], which also has links to lots of other material.)''
  
[[Image:BioPerl_logo_tiny.jpg|128px|right]]
 
; [[bp:Main Page|BioPerl]] :
 
:* [http://bioperl.org/wiki/Google_Summer_of_Code BioPerl GSoC Page] - project ideas and mentors
 
:* [[bp:Main Page|Project website]]
 
:* [[bp:Becoming_a_developer|Information for new developers]]
 
:* source code browser for [http://code.open-bio.org/svnweb/index.cgi/bioperl/browse/bioperl-live/trunk bioperl-live] (the main BioPerl code base), and [http://code.open-bio.org/svnweb/index.cgi/bioperl/ all BioPerl sub-projects]
 
:* [[bp:Project_priority_list|Priority list]] of things that need work, as another source for student-conceived project ideas
 
:* [[bp:Mailing_lists|Mailing lists]]
 
:* IRC: #bioperl on [http://freenode.net Freenode]
 
  
[[Image:Biojava_logo_tiny.jpg|right]]
 
; [http://biojava.org BioJava] :
 
:* [http://biojava.org/wiki/Google_Summer_of_Code BioJava GSoC Page] - project ideas and mentors
 
:* [http://biojava.org/wiki/BioJava:Modules BioJava modules] as another source for student-conceived project ideas
 
:* source code for [http://code.open-bio.org/svnweb/index.cgi/biojava/browse/biojava-live/trunk biojava-live] (the main BioJava code base) and [http://code.open-bio.org/svnweb/index.cgi/biojava/ all BioJava sub-projects]
 
:* [http://biojava.org/wiki/BioJava:MailingLists Mailing lists]
 
:* No IRC channel at present
 
  
[[Image:Biopython_logo_tiny.png|right]]
+
== Mentor Resources ==
; [[biopython:Main Page|Biopython]] :
 
:* [http://biopython.org/wiki/Google_Summer_of_Code BioPython GSoC Page] - project ideas and mentors
 
:* [[biopython:Main Page|Project website]]
 
:* [[biopython:Contributing|Information for contributors]]
 
:* [[biopython:Mailing lists|Mailing lists]]
 
:* [[biopython:SourceCode| Source Code]]
 
:* No IRC channel at present
 
  
[[Image:BioRuby_logo_tiny.png|right]]
+
* [http://en.flossmanuals.net/GSoCMentoring/ GSoC Mentoring Guide]
; [http://bioruby.org BioRuby] :
+
* [[Google_Summer_of_Code_Application_Evaluation|OBF Application Evaluation Guidelines]]
:* [http://bioruby.org Project website]
 
:* [http://lists.open-bio.org/mailman/listinfo/bioruby developers mailing list]
 
:* [http://github.com/bioruby/bioruby/tree/master source code]
 
:* No IRC channel at present
 
  
[[Image:BioSQL_logo.png|160px|right]]  
+
== Scientific Achievements ==
; [[biosql:Main Page|BioSQL]] :
+
In this section we want to report all the scientific achievements of our community, scientific papers or grant funded project that used the tools developed during the Google Summer of Code over the years.
:* [[biosql:Main Page|Project website]]
+
* [http://bioinformatics.oxfordjournals.org/cgi/content/abstract/btv098 Sambamba: fast processing of NGS alignment formats.] Bioinformatics (2015) doi: 10.1093/bioinformatics/btv098
:* Current [http://biosql.org/wiki/Enhancement_Requests enhancement requests] as another source for student-conceived project ideas
+
* [http://csw.github.io/bioruby-maf/ bio-maf]: The long intergenic noncoding RNA landscape of human lymphocytes highlights the regulation of T cell differentiation by linc-MAF-4. Ranzani V et al. Nat Immunol. 2015 Mar;16(3):318-25. doi: 10.1038/ni.3093. Epub 2015 Jan 26.
:* [http://biosql.org/mailman/listinfo/biosql-l developers mailing list]
+
* [http://www.biomedcentral.com/1471-2105/13/209 Bio.Phylo: A unified toolkit for processing, analyzing and visualizing phylogenetic trees in Biopython.] BMC Bioinformatics 2012, 13:209  doi:10.1186/1471-2105-13-209
:* [http://code.open-bio.org/svnweb/index.cgi/biosql/browse/biosql-schema/trunk source code]
+
* [http://www.open-bio.org/wiki/Google_Summer_of_Code_2014#Loris_Cro vcf-mongo ]: Gene2Farm and WHEALBI European Research projects
:* No IRC channel at present
+
* [http://news.open-bio.org/news/2015/02/obf-gsoc-2014-wrapup/ OBF-GSoC-2014-WrapUp] is rich of science activities and results.
 +
* [http://www.rcsb.org RCSB PDB] is the north american access point to the world wide protein data bank, and uses BioJava extensively
 +
* Publications using BioJava:
 +
** Prlić, Andreas, et al. "BioJava: an open-source framework for bioinformatics in 2012." Bioinformatics 28.20 (2012): 2693-2695.
 +
** Holland, Richard CG, et al. "BioJava: an open-source framework for bioinformatics." Bioinformatics 24.18 (2008): 2096-2097.
 +
** Pocock, Matthew, Thomas Down, and Tim Hubbard. "BioJava: open source components for bioinformatics." ACM Sigbio Newsletter 20.2 (2000): 10-12.
 +
*** 181 citations on Google Scholar
 +
** Myers-Turnbull, Douglas, et al. "Systematic Detection of Internal Symmetry in Proteins Using CE-Symm." Journal of Molecular Biology, (2014) 426:11 pp. 2255–2268.
 +
** Prlić, Andreas, et al. (2010) “Precalculated Protein Structure Alignments at the RCSB PDB website.” Bioinformatics 26(23), 2983-2985
 +
** Bliven, Spencer, et al. (2015) "Detection of circular permutations within protein structures using CE-CP Bioinformatics." Bioinformatics. In press.
 +
** Aerts, Stein, et al. "Toucan: deciphering the cis‐regulatory logic of coregulated genes." Nucleic acids research 31.6 (2003): 1753-1764.
 +
** Vaida, Mircea-Florin, Radu Terec, and Lenuta Alboaie. "Alternative DNA Security Using BioJava." Digital Information and Communication Technology and Its Applications. Springer Berlin Heidelberg, 2011. 455-469.
 +
** Ross, Christian, and Qingxi J. Shen. "Computational prediction and experimental verification of HVA1-like abscisic acid responsive promoters in rice (Oryza sativa)." Plant molecular biology 62.1-2 (2006): 233-246.
 +
** Finak, G., et al. "BIAS: bioinformatics integrated application software." Bioinformatics 21.8 (2005): 1745-1746.
 +
** Aerts, Stein, et al. "A genetic algorithm for the detection of new cis-regulatory modules in sets of coregulated genes." Bioinformatics 20.12 (2004): 1974-1976.
 +
** Hanganu, A. N. D. R. E. I., et al. "SLIDE: An interactive threading refinement tool for homology modeling." Rom J Biochem 1009.46: 123-127.
 +
** Kaladhar, DSVGK. "BioJava: A Programming Guide." (2012). LAP Lambert Academic Publishing , Germany. ISBN:3659167509 9783659167508
 +
** Prins, J. C. P. "BioLib: Sharing high performance code between BioPerl, BioPython, BioRuby, R/Bioconductor and BioJAVA." 17th Annual International Conference on Intelligent Systems for Molecular Biology, Stockhol, Sweden, June 27-July 2, 2009. 2009.
 +
** Tang, Si-Xin, Yi-Bing Li, and Hong-Bo He. "Designing a BioJava-based Software for RNA Sequence Analysis." Journal of Luoyang Institute of Technology 6 (2005): 016.
 +
** Mangalam, Harry. "The Bio* toolkits—a brief overview." Briefings in bioinformatics 3.3 (2002): 296-302.
 +
** Ryu, Taewan. "Benchmarking of BioPerl, Perl, BioJava, Java, BioPython, and Python for primitive bioinformatics tasks and choosing a suitable language." International Journal of Contents 5.2 (2009): 6-15.
 +
** McGuffee, James W. "Programming languages and the biological sciences." Journal of Computing Sciences in Colleges 22.4 (2007): 178-183.
  
[[Image:BioLib_logo_tiny.png|right]]
+
== Previous Years ==
; [http://biolib.open-bio.org BioLib] :
 
:* [http://biolib.open-bio.org Project website]
 
:* [http://lists.open-bio.org/mailman/listinfo/biolib-dev developers mailing list]
 
:* [http://github.com/pjotrp/biolib/tree/master source code]
 
:* No IRC channel at present
 
  
== Other Facts & Links: <span class="plainlinks">[http://socghop.appspot.com/ Google Summer of Code 2010]</span> ==
+
This section contains links to content related to OBF's participation
 +
in GSoC in previous years.
 +
* [[Google_Summer_of_Code_2014|2014]] - 6 student projects
 +
* Google Summer of Code 2013 - OBF not accepted, some Bio* projects partnered with other organisations
 +
* [[Google_Summer_of_Code_2012|2012]] - 5 student projects
 +
* [[Google_Summer_of_Code_2011|2011]] - 6 student projects
 +
* [[Google_Summer_of_Code_2010|2010]] - 6 student projects
  
* 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 [http://code.google.com/soc 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.
 
  
 
[[Category:Google Summer of Code]]
 
[[Category:Google Summer of Code]]

Latest revision as of 10:39, 18 February 2016

GSoC15-logo-small.jpg

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"). See the Google Summer of Code Main Site for general information about the Google Summer of Code program, how to apply, frequently asked general questions, and more.


GSoC 2016

The Google Summer of Code 2016 is ON! OBF is once again applying as a GSoC 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! The details of each of our project ideas are listed below, including potential mentors.

See http://obf.github.io/GSoC/ for more information about the GSoC program and additional ways to get in touch with us.

Facts & Links

Time Line 
GSoC 2016 FAQ 
Info from Google 
  • 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 2016 FAQ for full documentation.
  • Development is done entirely remotely and on-line; there is no requirement or expectation for either students or mentors to travel.

Why apply?

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.

Project Ideas

Our GSoC ideas from each project are collected here: http://obf.github.io/GSoC/

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 
BioHaskell 
Biocaml 

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

In addition to writing code, accepted students send weekly updates to the OBF community on their project's progress. These updates allow us to keep aware of how GSoC students are doing, give students a forum to ask any questions, and promote overall community bonding.

At the beginning of the summer, we ask that you set up 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 about your work if you'd like. (See these examples from 2013.)

Then, at the start of each week:

  1. Post an update on your blog: What did you do last week? What do you plan to do this week? Do you have any unanswered questions, any unsolved problems from the last week, interesting observations or anything else you'd like to mention?
  2. Email the URL and text of the post (or a short summary) to the host project's mailing list (your mentors will confirm which one to use) and the main OBF GSoC mailing list (gsoc@lists.open-bio.org).

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 that your blog will be one of the first things found by anyone interested in the project you're working on, and can be a valuable resource to them — as well as a significant part of your online presence.

Contact

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."

Staff and org Admins

Organization administrator
Eric Talevich (eric.talevich@gmail.com)
Backup administrator
Raoul Bonnal (email) (IRC: helius | channels: #obf-soc, #bioruby, #gsoc ) (Skype: ilpuccio)

Google Plus

OBF Summer of Code on G+

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 (Eric Talevich, eric.talevich@gmail.com), 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.

IRC - Internet Relay Chat

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

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.)


Mentor Resources

Scientific Achievements

In this section we want to report all the scientific achievements of our community, scientific papers or grant funded project that used the tools developed during the Google Summer of Code over the years.

  • Sambamba: fast processing of NGS alignment formats. Bioinformatics (2015) doi: 10.1093/bioinformatics/btv098
  • bio-maf: The long intergenic noncoding RNA landscape of human lymphocytes highlights the regulation of T cell differentiation by linc-MAF-4. Ranzani V et al. Nat Immunol. 2015 Mar;16(3):318-25. doi: 10.1038/ni.3093. Epub 2015 Jan 26.
  • Bio.Phylo: A unified toolkit for processing, analyzing and visualizing phylogenetic trees in Biopython. BMC Bioinformatics 2012, 13:209 doi:10.1186/1471-2105-13-209
  • vcf-mongo : Gene2Farm and WHEALBI European Research projects
  • OBF-GSoC-2014-WrapUp is rich of science activities and results.
  • RCSB PDB is the north american access point to the world wide protein data bank, and uses BioJava extensively
  • Publications using BioJava:
    • Prlić, Andreas, et al. "BioJava: an open-source framework for bioinformatics in 2012." Bioinformatics 28.20 (2012): 2693-2695.
    • Holland, Richard CG, et al. "BioJava: an open-source framework for bioinformatics." Bioinformatics 24.18 (2008): 2096-2097.
    • Pocock, Matthew, Thomas Down, and Tim Hubbard. "BioJava: open source components for bioinformatics." ACM Sigbio Newsletter 20.2 (2000): 10-12.
      • 181 citations on Google Scholar
    • Myers-Turnbull, Douglas, et al. "Systematic Detection of Internal Symmetry in Proteins Using CE-Symm." Journal of Molecular Biology, (2014) 426:11 pp. 2255–2268.
    • Prlić, Andreas, et al. (2010) “Precalculated Protein Structure Alignments at the RCSB PDB website.” Bioinformatics 26(23), 2983-2985
    • Bliven, Spencer, et al. (2015) "Detection of circular permutations within protein structures using CE-CP Bioinformatics." Bioinformatics. In press.
    • Aerts, Stein, et al. "Toucan: deciphering the cis‐regulatory logic of coregulated genes." Nucleic acids research 31.6 (2003): 1753-1764.
    • Vaida, Mircea-Florin, Radu Terec, and Lenuta Alboaie. "Alternative DNA Security Using BioJava." Digital Information and Communication Technology and Its Applications. Springer Berlin Heidelberg, 2011. 455-469.
    • Ross, Christian, and Qingxi J. Shen. "Computational prediction and experimental verification of HVA1-like abscisic acid responsive promoters in rice (Oryza sativa)." Plant molecular biology 62.1-2 (2006): 233-246.
    • Finak, G., et al. "BIAS: bioinformatics integrated application software." Bioinformatics 21.8 (2005): 1745-1746.
    • Aerts, Stein, et al. "A genetic algorithm for the detection of new cis-regulatory modules in sets of coregulated genes." Bioinformatics 20.12 (2004): 1974-1976.
    • Hanganu, A. N. D. R. E. I., et al. "SLIDE: An interactive threading refinement tool for homology modeling." Rom J Biochem 1009.46: 123-127.
    • Kaladhar, DSVGK. "BioJava: A Programming Guide." (2012). LAP Lambert Academic Publishing , Germany. ISBN:3659167509 9783659167508
    • Prins, J. C. P. "BioLib: Sharing high performance code between BioPerl, BioPython, BioRuby, R/Bioconductor and BioJAVA." 17th Annual International Conference on Intelligent Systems for Molecular Biology, Stockhol, Sweden, June 27-July 2, 2009. 2009.
    • Tang, Si-Xin, Yi-Bing Li, and Hong-Bo He. "Designing a BioJava-based Software for RNA Sequence Analysis." Journal of Luoyang Institute of Technology 6 (2005): 016.
    • Mangalam, Harry. "The Bio* toolkits—a brief overview." Briefings in bioinformatics 3.3 (2002): 296-302.
    • Ryu, Taewan. "Benchmarking of BioPerl, Perl, BioJava, Java, BioPython, and Python for primitive bioinformatics tasks and choosing a suitable language." International Journal of Contents 5.2 (2009): 6-15.
    • McGuffee, James W. "Programming languages and the biological sciences." Journal of Computing Sciences in Colleges 22.4 (2007): 178-183.

Previous Years

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

  • 2014 - 6 student projects
  • Google Summer of Code 2013 - OBF not accepted, some Bio* projects partnered with other organisations
  • 2012 - 5 student projects
  • 2011 - 6 student projects
  • 2010 - 6 student projects