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. You can optionally subscribe to it, but 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 chat.intermine.org 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.
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
You should follow a similar model – treat
github.com/intermine/yourproject as upstream and work on a branch your own fork, i.e.
github.com/yourusername/yourproject, 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.
- It’s okay not to use the workplan from your proposal, but you and your mentor will need to agree to any changes.
- You do need a workplan! Make sure you and your mentor have a good idea of what the deliverables are.
- 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.