Guidelines for GSoC students

**For all 2018 and later students, please see the guide on our GSoC site:**

***31 May 2017 update:  All Students and Mentors should subscribe to our InterMine GSoC public mailing list. (Previously we said this was optional). This is to ensure that we can effectively share announcements.***

We’ll try to generally adhere to the Google Manuals to avoid repetition, but here are a few InterMine-specific guidelines for Google Summer of Code.


You’ll establish a personal rhythm with your mentor, but please bear the following points in mind:


Google recommends keeping GSoC email communication public. We’ve set up a GSoC public mailing list. All students and mentors should subscribe to it, and please make sure that all student-mentor communication is at least cced to the list. This will be especially important for your backup mentors, who will be helping out if your primary mentor is unavailable or on vacation.


You can come hang at in the #general channel, and feel free to ask for help in #support – but remember to make tickets or send emails for any big bugs or design decisions, as chat logs are transient.

Writing code

Source Control

We use GitHub for our source control, with a Git Flow-like branching model. New work is done in personal forked repo branches,  periodically merged into the upstream dev branch when it appears stable.  master contains only stable releases merged from dev.

You should follow a similar model – treat as upstream and work on a branch your own fork, i.e., merging (or PRing for existing projects) periodically. Remember, pushed commits (to your own repo or InterMine’s) prove you’re alive and working on the project! 😉

We’ll fork your repo so there will always be an InterMine upstream.


If you’re starting a brand new project, think about what licence you’d like.  It needs to be open source, obviously, but so long as it’s a permissive open source licence like Apache, MIT, BSD, or LGPL, we’ll probably be happy. Discuss it with your mentor before committing to a licence.

Project Management

  1. It’s okay not to use the workplan from your proposal, but you and your mentor will need to agree to any changes.
  2. You do need a workplan! Make sure you and your mentor have a good idea of what the deliverables are.
  3. You’ll want to schedule regular meetings with your mentor.


We’d love to host blog posts about yourself, the work you’re planning to do, or work you have done. Equally, if you’re tweeting or blogging on a personal blog and would like us to link to it / mention you / etc., poke your mentor and we’ll give you a shout-out.