GSoC 2012 application
Octave's application for GSoC 2012.
Describe your organization
GNU Octave (http://www.gnu.org/software/octave/) is a free numerical computing environment largely compatible with Matlab. It is an old project, started in 1992 by John W. Eaton and used by hundreds of thousands of people worldwide as a free alternative to Matlab. GNU Octave has an extensive core of functions useful for numerical computations in several fields, such as numerical analysis, optimisation, signal and image processing, and control theory. In order to speed up development, increase user contributions and test code before it is included in GNU Octave's core set of functions, a sister project, Octave Forge (http://octave.sourceforge.net/), hosts many field-specific packages.
Why is your organization applying to participate in Google Summer of Code 2012? What do you hope to gain by participating?
Octave participated last year with one student under the auspices of the GNU project. Due to the success of that experience, where many members of the Octave community helped mentor the student, Daniel Kraft, we want to try again.
We hope to get good code from interested students and ideally establish a line of collaboration with them for the future. We also want to raise awareness of Octave amongst the free software community.
Google Summer of Code represents a unique opportunity to pump up work into highly needed low level improvements to Octave, as well as high level field-specific functionality. We believe the interaction with fresh minds will bring not only new code to Octave but also will augment the developers group.
Did your organization participate in past Google Summer of Codes? If so, please summarize your involvement and the successes and challenges of your participation.
Yes, during 2011, under the GNU umbrella. The success was a completed project by a very capable student, and the challenges were that Jordi, the mentor for Daniel Kraft, did not know all the answers. Other members of the Octave community were involved in the work in the mailing list and offered advice and help as needed.
If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?
This is the first time we apply as an independent organisation.
What Open Source Initiative approved license(s) does your project use?
We prefer the GPLv3+ and may use the AGPLv3+ for one side project. We can accept any GPL-compatible free license.
What is the URL for your Ideas page?
What is the main development mailing list for your organization?
What is the main IRC channel for your organization?
#octave in Freenode
Does your organization have an application template you would like to see students use? If so, please provide it now.
Who will be your backup organization administrator?
John W. Eaton <email@example.com>
What criteria did you use to select your mentors for this year's program? Please be as specific as possible.
Mentors have been chosen based on their expertise in the field of the corresponding project, either based in their past contributions to Octave or in their academic background or their current professional activities, as well as on their involvement in the mailing list and the quality of their past advice. Preferrably they already have code in the Octave source tree and ideally already have commit access to our source tree. Also whether they can participate in chat sessions, but this is less important.
What is your plan for dealing with disappearing students?
First, make all reasonable efforts to accomodate the student and make them feel welcome. Frequent contact with the student, prompt response to student queries, periodic status reports from mentors about the contact of the student. Also encourage the student to participate in the public mailing list and IRC channel, with or without mentor. Their progress should be regularly applied to our source tree, if necessary, in a feature branch.
Should this fail and the student disappears for unforeseen reasons (which we hope will be very unlikely, and nobody vanishes without good reason), make reasonable attempts to contact them first, of course, up to and including using a phone number if one was provided. If enough time has passed without response (say, two weeks without a response, after attempting all methods), begin to analyse the code they have submitted, and attempt to integrate it into our source tree.
What is your plan for dealing with disappearing mentors?
Distribute the workload amongst the remaining mentors. The mailing list is active enough and questions almost never go unanswered. Reassign the student to a backup mentor. Worse comes to worst, the project admin can become a mentor for the student until another backup mentor is found.
This should be infrequent and we hope to prevent this to begin with by selecting mentors with proven involvement in Octave or other free projects.
What steps will you take to encourage students to interact with your project's community before, during and after the program?
Invite them to IRC. Set clear expectations on the minimum frequency of email progress updates (probably every two or three days). Be nice and friendly to them.
Octave community boasts developers from academia and industry, and we believe that emergence of joint projects is not unlikely. Connections made while contributing to the Octave community represent potential career opportunities for students, and successful student interns will be encouraged to continue their collaboration. This will be achieved by actively inviting students to continue and extend participation in Octave and Octave Forge projects, depending on their interests and code submitted.
Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.
Yes, GNU can vouch for us.
Dick Lyon <firstname.lastname@example.org> will also vouch for us.
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.