GSoC 2018 Student Guide

Updated 2 months ago

    What to do if you have been accepted as a student for Google Summer of Code 2018?

    Create and write a blog

    • We will set up a blog for you on musescore.org. Come discuss the details with us (@lasconic / @thomasbonte) on IRC.
    • Start posting immediately. Begin with a description of your project. You can click here to post in your blog.
    • Announce your blog, your Git account, and a description of your project on musescore.org
    • You must write a status report every week. The first weekly report is due on Sunday, May 20 2018 at 23:59 UTC and the subsequent reports at the same hour on a weekly interval. Don't be shy and feel free to post on your blog before this date.
    • Be online on IRC #musescore on freenode.net as often as possible and interact with your mentor publicly.

    Suggested sections for the status report are:

    • Key accomplishments last week
    • Key tasks that stalled
    • Tasks in the upcoming week

    Weekly status reports are obligatory, if you fail to provide them, it can be a reason for not passing evaluation for Google.

    Use IRC, the mailing list, and the forums

    • Introduce yourself on the Tech Preview forum. Include the link to your blog and Git repository there.
    • Describe your project in short.
    • Get an IRC client and connect as often as possible to the #musescore channel on freenode.net. If you need help getting on IRC, ask on the mailing list.

    All your technical questions should go through the forum or IRC. If you need user feedback, or have questions related to MuseScore usage, use the forum or IRC.

    Ask questions in public

    We're an open community so unless you have a good reason, all communication should be public. Ask on IRC or on the mailing list unless you have a good reason to ask directly your mentor. If you are going to use IRC, stick around until you get an answer -- your mentor (or anyone else) may be sleeping, working, or away when you first ask but may respond when they return.

    Publish a Git repository

    • Publish your changes immediately in your Git repository.
    • You have to use github.com for sharing code. See Git Workflow.
    • State the location of your Git repository on mscore-developer mailing list and your blog.
    • Push every change you've done so that we can track your progress. GSoC has few deadlines, but we want to see (and if possible, merge) your code continuously!
    • Every commit should contain a single change, and the code should be working on every commit. Try to prevent huge breakages.
    • When you feel you've reached a point where part of your code should be merged to main repository, just open a pull request on GitHub or tell your mentor.

    Benefit from the Community Bonding Period

    • Familiarize yourself with MuseScore's code base.
    • Contact your mentor and establish a plan for the upcoming weeks.

    Be active

    • Be active; don't expect to be kicked and taken by the hand on every step.
    • Write weekly reports on time.
    • Submit your code early.
    • If you fail to communicate, it can lead your project being marked as failed and you won't receive any money from Google.

    Don't forget documentation and tests

    All new functionality you create should be documented and tested. The documentation and tests should be done as you code—do not wait until the last moment.

    After the summer

    Hopefully, your involvement with MuseScore will continue after GSoC!

    Links

    License

    This page is licensed under GNU GPLv2 and largely inspired by PhpMyAdmin's one