Summer of Code Mentoring

From XiphWiki
Revision as of 06:50, 18 January 2015 by Dm8tbr (talk | contribs) (removed annodex mentions, this year there is main interest from Icecast within Xiph.org. reworked existing list to fit current FAQ, left a few blanks where we still need to decide things.)
Jump to navigation Jump to search

Xiph.Org Application as a mentoring organization

We need to apply for consideration as a mentoring organization 2015 February 9 - 20. Google lists the following questions in their faq. Our work-in-progress answers are inline.

Describe your organization.

The Xiph.Org Foundation is a 501(c)(3) non-profit organization dedicated to providing open and free-to-implement multimedia technology as a foundation for an interoperable, level playing field on the Internet and other digital distribution networks. Over the past 14 years we have developed most of the major patent-free and royalty-free audio and video codecs currently in use, including Opus, Vorbis, Speex, FLAC and Theora, as well as developing the Ogg streaming format, and the Icecast streaming media server. Xiph hosted libraries like liboggplay and liboggz power the underling html5 video support in Mozilla Firefox.

Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating?

We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.

We believe that Xiph's mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we—of course—have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.

The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team.

Has your organization participated in past Google Summer of Codes?

Yes

If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.

The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.

In 2006, we were granted funding for 6 slots. One we weren't able to fill because our chosen students picked or were assigned to other projects.

Two were successful. One, a hardware implementation of a Theora decoder: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, implementation of OggSkeleton support in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.

The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.

In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&D on Xiph's next-generation audio codec, Ghost. Both were marginally successful — the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program.

We enjoyed our participation over the last two years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We think we've learnt a lot about how to mentor new and upcoming contributors, and how to best screen the applications we do receive.


TODO: In 2008

TODO: In 2009

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

We have participated previously, in 2006, 2007, 2008 and 2009. We applied in 2010, but weren't chosen.

What Open Source Initiative approved license(s) does your project use?

In general, we use the revised 3-clause BSD license for our libraries, to enable the widest possible uses of our formats and reference implementations.

Our applications are generally GPL, LGPL or (GPL-compatible) modified. BSD is also acceptable.

What is the URL for your Ideas list?

http://wiki.xiph.org/Summer_of_Code_2015

What is the main development mailing list for your organization?

Icecast will be the main Xiph.org project for GSoC this year.

Icecast developer mailing list

Gmane archive of the Icecast developer mailing list

A complete listing of our lists is available at:

http://lists.xiph.org/mailman/listinfo/

What is the main IRC channel for your organization?

The main channel for Xiph.org is #xiph on Freenode The main Icecast channel is #icecast on Freenode

Who will be your backup organization administrator?

tbd

Does your organization have an application template you would like to see students use? If so, please provide it now.

http://wiki.xiph.org/index.php/Summer_of_Code_Applications

What criteria did you use to select the mentors? Please be as specific as possible.

We selected our mentors from the 'core' developers and contributors within Xiph. Mentors were selected based on how well they know the code area they're volunteering to mentor, how long they've been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).

The majority of the mentors we've selected are core developers on the various Xiph sub-projects that they've volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s).

TODO: Introduce mentors briefly.

What is your plan for dealing with disappearing students? Please be as specific as possible.

Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we're well aware of the possibility of a student disappearing.

We intend to be reasonably strict with requiring students to keep in touch - whilst we're quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student.

The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We'll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently.

What is your plan for dealing with disappearing mentors? Please be as specific as possible.

Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it's pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we're well able to take up the slack if a mentor becomes unavailable for any reason.

Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly.

What steps will you take to encourage students to interact with your project's community before, during and after the program?

The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We'll ask that the students be present there while they're working, where adequate network access makes that possible. We hope to make them feel that they're an important part of our community; that their contributions are really making a difference towards the goals of Xiph.

We intend to be open to their contributions - whilst we're aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we'll give them write access to our repositories to work on a branch. We'll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they're trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we'll teach them about how important community building is for the ongoing health of such projects.

Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.

We are a well established organization and participated in GSoC in the past.

Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.

What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?

We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they've been working on, and perhaps nurturing their patches towards inclusion in an actual release.

A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.

We will encourage them not to consider this just "a summer job", but as being part of a real community — and doing something that is both interesting, and useful to the wider world.

Additional items not listed by the GSoC FAQ

Who will be your main organization administrator

Thomas B. Rücker, maintainer of the Icecast project.

Who will your mentors be?
  • Thomas B. Rücker - IRC nick: tbr
  • NN - IRC nick: