dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Search | Go
Wiki > Main > SummerOfCode > SummerOfCode2009 > GSoCOrgApp2009

Our organization application for Google Summer of Code 2009

Link ID:


Group Name:


Home Page URL:

Public Email:

rockbox-dev at - subscription info here:


The Rockbox project is a complete portable digital audio player replacement firmware - including operating system, GUI and application suite. It has been in development since 2001 and receives new features, tweaks and fixes every day to provide you with the best possible music listening experience. Rockbox aims to be considerably more functional and efficient than your device's stock firmware while remaining easy to use and customizable. It is a goal to not only offer a wide range of functionality, but where possible make sure that this functionality is presented in a consistent manner that is easy to learn and use. Rockbox runs on a wide range of platforms including devices from Archos, Apple (iPod), iriver, Cowon, Olympus, Toshiba and SanDisk with more in development. The development team consists of over 50 active committers and around 450 individual contributors. See for more information.

Why is your group applying to participate? What do you hope to gain by participating?

Rockbox is a project that consists entirely of volunteers. We hope to grow our community of developers through our participation in GSoC and get more people in general involved in the project to some extent. We also hope to have some interesting and useful code contributions from the student projects that will have a positive impact on both the codebase and the users' experience.

What is the main public mailing list for your group?

rockbox at - subscription info here:

Where is the main IRC channel for your group?

#rockbox on

What criteria do you use to select the members of your group? Please be as specific as possible.

All full committers who volunteer are eligible to act as mentors - final choices will be made after we have a list of student applicants, so that we can choose mentors suited to the specific areas of the projects that are actually being accepted.

The volunteering mentors all have many years experience of both the Rockbox project as well as in depth knowledge of the source code and general concepts.

Has your group participated previously? If so, please summarize your involvement and any past successes and failures.

We took part in the Google Summer of Code program during the 2007 and the 2008 summers.

In 2007, we accepted four projects. The code that was generated was extremely useful to our project as well as to others. Our new fixed point WMA decoder has made Rockbox more useful for our users, was incorporated into the Open Neuros project besides Rockbox, and has attracted attention from other groups. We also hope to see it included in ffmpeg once it is mature enough to be merged into their current decoder. Our metadata buffering project led to support for album art in rockbox and paved the way for further improvements in our playback system. Finally, the USB project took some initial steps towards for a flexible software USB stack which has now been enabled in SVN for all builds - finally freeing us of having to use the original firmware's USB facilities in many devices. Unfortunately, one project - a text to speech engine - did not succeed. Over all I think GSoC2007 gave us a real boost as a open source project and we learned a lot about the process and how to act as mentors, etc. to bring with us for future years.

In 2008, we were assigned 5 slots, however we accepted 4 projects (giving one back to the pool) after duplicate resolutions. The first project was dealt with localizing plugins to make Rockbox more accessible for blind users and speakers of other languages than English. Even now, there is still ongoing work on this and the student is a committer who has continued to work on this and other projects. The second project was to create an application for a user's computer that would assist theme creators in creating themes instead of simply editing a text file. The work was merged into SVN. The third was a project to create an ARM that we and likely many other projects could use in debugging/reverse engineering hardware. The student essentially disappeared right away and came back during midterm evaluations to tell us that he felt that he should not pass and to apologize for "over committing himself this summer". The last project aimed to make rockbox run as an application on devices like phones, PDAs, etc by providing a frame work for compiling rockbox as an application. The student completed some initial work towards this end, however seemed to grow disinterested in the project and instead devoted his time towards making vast improvements in Rockbox's WMA codec ultimately making it the fastest transform codec on ARM. As this work was not towards the actual project, he did not pass, though he continues to be a valuable committer to Rockbox and is still quite involved in development.

As a group, we were not quite thrilled with 2008's results, though we have made some adjustments to our plan for 2009 that should help with keeping a constant communication with students and setting firmer deadlines for students to follow.

If your group has not previously participated, have you applied in the past? If so, for what sort of participation?


What license does your organization use?


What is the URL to the ideas list of your organization?

What is the main development mailing list for your group?

rockbox-dev at - subscription info here:

What is the application template you would like contributors to your organization to use. will be formatted accordingly.

What is your plan for dealing with disappearing contributors?

We will have a number of requirements that will be discussed up front with the student and that the student must meet. These include a constant IRC presence, multiple communications with the mentor and the community each week and a weekly summary of the project, completed tasks, and future plans mailed to the developer mailing list. The students will need to join and participate in the community, in the mailing lists, IRC, and forums so that they feel a part of Rockbox and not just a summer project to help reduce the risk of them disappearing.

What is your plan for dealing with disappearing members?

All mentors are full committers, who have maintained a long term association with the project. Outright disappearance is therefore vanishingly unlikely.

In case of mentors experiencing unexpected time pressure, we have implemented a multi-tiered support structure for the student. The first tier is, of course, the primary mentor. The second tier is a secondary mentor that will be assigned to each individual project. The third tier in the community itself, whether they be on IRC, the mailing lists, the forums, etc. Except in strictly mentoring duties (such as evaluations, etc), the community will actually be serving as the first tier. This is so that the student experiences more of being involved in open source (interacting with the community, etc) this way rather than just reporting to one "leader" (the mentor). We have a large pool of active and skilled project members that should be able to cover temporary "outages" of single individual mentors.

What steps will you take to encourage contributors to interact with your community before, during, and after the program?

We'll inform the possible students that interaction with the Rockbox community will be considered a plus when selecting applications. We already have multiple students that have come forward and asked questions regarding their project application. During the six weeks familiarization period, mentors will suggest and encourage students to engage in further detailed design discussion about their chosen task if they have not already and will be directed to any documents or areas that they may need to read to learn about specific elements of their project, familiarize themselves with specific areas of the code, or any other such purpose.

Throughout the coding period, mentors will encourage students to make their in-development code available for comment and review on a regular basis. Everything in the Rockbox project happens online, in public forums, etc so we will of course assume and insist that program participants join in and follow this set tradition in open source development

By mentoring the students into this world and style of acting, we hope that they will see and understand the benefits of working this way and that they will then continue doing so even after the project's completion - perhaps even in non-open-source projects.

What will you do to ensure that your accepted contributors stick with the project after the program concludes?

The best thing that really can do is to infect the students in some way with our enthusiasm and excitement we have for open source development. We have a set of mentors who act professionally and assist as well as we can to help the students see the fun in our way of open source hacking. We truly believe that once they've got their feet wet and get the hang of some of the internals, they too will see the light and will hang around even after this summer for the same reasons we do it - because it is a great way to learn, expand on one's skills, and because it is fun!

r6 - 02 Apr 2021 - 20:46:06 - UnknownUser

Copyright © by the contributing authors.