GSoC 2017 Student guide
What to do if you have been accepted as a student for Google Summer of Code 2017?
Create and write a blog
- We will set up a blog for you on musescore.org. Come discuss the details with us (@lasconic) 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 and on the developer mailing list.
- You should write a status report every week. The first weekly report is due on Sunday, June 4 2017 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
- Subscribe to the mscore-developer mailing list if you have not already done so.
- Introduce yourself. 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 this mailing list 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; 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!
- The DOs and DON’Ts of Google Summer of Code: Student Edition - Some tips for students who want to take part in GSoC
- MuseScore Coding Rules - Guidelines about coding for MuseScore
- Git Workflow