release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Search | Go
Wiki > Main > SummerOfCode > SummerOfCode2010 > GSoCOrgApp2010

Our organization application for Google Summer of Code 2010

Organization Name:

Rockbox

Description:

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 525 individual contributors. See http://www.rockbox.org/wiki/WhyRockbox for more information.

Home page:

http://www.rockbox.org/

Main Organization License:

GPLv2 (Yes, I know we are "or later", however this is the closest thing to what we are on the drop-down list)

Why is your organization applying to participate in GSoC 2010? What do you hope to gain by participating?

Being that Rockbox is a project that consists entirely of volunteers, GSoC has had quite an effect on our project. 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.

Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.

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

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, 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 dealt with localizing plugins to make Rockbox more accessible for blind users and speakers of languages other 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 Emulator 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.

In 2009, we were assigned 7 slots, but gave 2 slots back to the pool due to a student pulling out and after having another contribute to another organization for the summer. A more in-depth summary can be found here: http://www.rockbox.org/wiki/GsocRoundup2009 . We consider this a definite improvement over 2008. Even though we did again face issues with students disappearing (which we hopefully will improve upon this summer), Rockbox was indeed improved nonetheless. Most of our students from this summer are still with us as committers. Two of our students even seemed like they were going to complete their challenging projects before the GSoC work period even began and improvements are still being made upon their work. For this summer, we decided to accept a slightly riskier project as well that did not turn out as well as we had hoped. New ports of Rockbox can have many risks with it and our student unfortunately became trapped into some of these pitfalls (different hardware revisions, bricked devices, etc). Rockbox gained wider codec support, enhanced USB support, and a few more apps in progress from this summer.

As a group, we were much happier with our improvement and progress in 2009. Even so, we have made some further adjustments to our plan for 2010 that should help with keeping a constant communication with students and setting firmer deadlines for students to follow which we have yet to master, however with some tips from past Mentor Summits and 3 years of past experience in being an organization involved in GSoC?, we have a better grasp on what needs to happen.

If your organization participated in past GSoCs, please let us know the ratio of students passing to students allocated, e.g. 2006: 3/6 for 3 out of 6 students passed in 2006.

2007: 3/4 2008: 2/4 2009: 3/5

If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?

Not applicable.

What is the URL for your ideas page?

http://www.rockbox.org/wiki/SummerOfCode2010

What is the main development mailing list for your organization? This question will be shown to students who would like to get more information about applying to your organization for GSoC 2010. If your organization uses more than one list, please make sure to include a description of the list so students know which to use.

rockbox-dev at cool.haxx.se is our main development mailing list - subscription info here: http://cool.haxx.se/mailman/listinfo/rockbox-dev

What is the main IRC channel for your organization?

#rockbox on irc.freenode.net

Does your organization have an application template you would like to see students use? If so, please provide it now. Please note that it is a very good idea to ask students to provide you with their contact information as part of your template. Their contact details will not be shared with you automatically via the GSoC 2010 site.

http://www.rockbox.org/wiki/GSoCApplicationTemplate2010 (though this is still in refinement, it is very close to the final product)

What criteria did you use to select the individuals who will act as mentors for your organization? 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 - after three years of participating in GSoC?, many have been involved in one or more summers as well and bring that experience to the table.

What is your plan for dealing with disappearing students?

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 another summer project to help reduce the risk of them disappearing. We also probe for possible scheduling conflicts/happenings during our interview process.

What is your plan for dealing with disappearing mentors?

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 is 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 students to interact with your project's 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 community bonding 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 that happens 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 students stick with the project after GSoC concludes?

The best thing that we 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!

Is there anything else you would like to tell the Google Summer of Code program administration team? :

Rockbox has gained much from past GSoC? programs in terms of committers, code, ideas, and even better communication and integration with other projects though GSoC? and the Mentor Summit. We hope to continue this fruitful relationship with the program. Also, thanks go to Leslie, Cat, Ellen, Melange team and everyone else who works to make the process easier and even possible!

Backup Admin (Link ID):

Bagder or I depending on who submits the app, I assume. -- AustinAppel - 2010-03-09
r7 - 12 Mar 2010 - 21:31:11 - DavidHall
Copyright by the contributing authors.