GSoC 2013 application: Difference between revisions

large rewrite of several sections, mainly attempt to be more assertive, clear that projects have several experienced mentors, and that students will likely need to use Octave after the summer's end
m (lines no longer than 80 characters to ease editing -- no change in content)
(large rewrite of several sections, mainly attempt to be more assertive, clear that projects have several experienced mentors, and that students will likely need to use Octave after the summer's end)
Line 12: Line 12:
GNU Octave has an extensive core of functions useful for numerical computations
GNU Octave has an extensive core of functions useful for numerical computations
in several fields, such as numerical analysis, optimisation, signal and image
in several fields, such as numerical analysis, optimisation, signal and image
processing, and control theory. In order to speed up development, increase user
processing, and control theory. Its sister project, Octave Forge
(http://octave.sourceforge.net/), helps in speeding up development, increase user
contributions and test code before it is included in GNU Octave's core set of
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/),
functions.
hosts many field-specific packages.


=== Organization home page url ===
=== Organization home page url ===
Line 40: Line 40:
=== If you chose "new" in the dropdown above, have you applied in the past? If so, for what year(s)? ===
=== If you chose "new" in the dropdown above, have you applied in the past? If so, for what year(s)? ===


Yes, in 2012. We've participated during 2011 and 2012 under GNU. Additionally,
Yes, in 2012. We have participated during 2011 and 2012 under GNU. Additionally,
in 2012, we also mentored two students under ESA's Summer of Code... IN SPACE.
in 2012, we also mentored two students under European Space Agency (ESA) Summer
of Code in Space (http://sophia.estec.esa.int/socis2012/).


=== Why is your organization applying to participate in Google Summer of Code 2013? What do you hope to gain by participating? ===
=== Why is your organization applying to participate in Google Summer of Code 2013? What do you hope to gain by participating? ===
Line 47: Line 48:
Octave has participated during the last two years with four students under the
Octave has participated during the last two years with four students under the
auspices of the GNU project. Due to the success of those experiences, where many
auspices of the GNU project. Due to the success of those experiences, where many
members of the Octave community helped mentor the student, we want to try again.
members of the Octave community helped mentor the student, we are trying again.


We hope to get good code from interested students and ideally establish a line
We hope to get good code from interested students and ideally establish a line
Line 63: Line 64:
successfully completed projects for us in the past, all of which is live and in
successfully completed projects for us in the past, all of which is live and in
our main source tree. In addition, we mentored two students in 2012 through the
our main source tree. In addition, we mentored two students in 2012 through the
European's Space Agency's independent Summer of Code In Space.
European's Space Agency independent Summer of Code In Space.


The challenges have been about managing very diverse problem domains and finding
The challenges have been about managing very diverse problem domains and finding
people who are competent in all of them.  We have not had great trouble keeping
people who are competent in all of them.  We have not had trouble keeping
students interested, although we've seen lulls in their productive output a few
students interested, although we have seen lulls in their productive output a few
times, which were always thankfully remedied with a little prodding.
times, which were always thankfully remedied with a little prodding.


Line 84: Line 85:
=== What criteria did you use to select your mentors for this year's program? Please be as specific as possible. ===
=== 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
Every single project includes at least one core Octave developer as mentor. These
corresponding project, either based in their past contributions to Octave or in
are proved, veteran members of the project, active on its development, and familiar
their academic background or their current professional activities, as well as
with the code base.
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
But GNU Octave is a project with applications in very diverse domains so each
have commit access to our source tree. Also whether they can participate in chat
project also includes mentors with expertise in the related field. All of these
sessions, but this is less important.
have previously contributed with code, have commit access to either Octave or
Octave Forge source tree, and are active in the mailing lists. Most also keep a
constant presence in the IRC channel.


=== What is your plan for dealing with disappearing students? ===
=== What is your plan for dealing with disappearing students? ===


First, make all reasonable efforts to accomodate the student and make them feel
First, make all reasonable efforts to accommodate the student and make them feel
welcome. Frequent contact with the student, prompt response to student queries,
welcome. Frequent contact with the student, prompt response to student queries,
periodic status reports from mentors about the contact of the student. Also
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,
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
with or without mentor. Their progress should be regularly applied to our source
tree, if necessary, in a feature branch.
tree, if necessary, in a feature branch. All of these have shown to be effective
with all students in previous years.


Should this fail and the student disappears for unforeseen reasons (which we
Should this fail and the student disappears for unforeseen reasons (which we
hope will be very unlikely, and nobody vanishes without good reason), make
hope will be very unlikely, since it has never happened before and nobody
reasonable attempts to contact them first, of course, up to and including using
vanishes without good reason), make
a phone number if one was provided. If enough time has passed without response
reasonable attempts to contact them via alternative channels up to a private
(say, two weeks without a response, after attempting all methods), begin to
phone number. If more than 2 weeks have passed without a response, we will
analyse the code they have submitted, and attempt to integrate it into our
analyse the code submitted thus far, and prepare it for integration into our
source tree.
source tree.


Line 117: Line 121:


This should be infrequent and we hope to prevent this to begin with by selecting
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. We will also
mentors with proven involvement in Octave or other free projects. We are also
pair new mentors with older ones.
pairing new mentors with older ones.


=== What steps will you take to encourage students to interact with your project's community before and during the program? ===
=== What steps will you take to encourage students to interact with your project's community before and during 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.


Everything should be very open. Almost all interactions with the student should
Invite them to IRC, be nice and friendly. Set clear expectations on the minimum frequency of email
be public, so that e.g. contacting the mentor should happen in the public IRC
progress updates of every two to three days. Longer updates, should be done on a
channel or CC'ing the public mailing list. For shy students, The reports should
blog and aggregated at http://planet.octave.org.
be on a blog. The blogs will be aggregated at http://planet.octave.org.
 
Everything should be completely open. Almost all interactions with the student should
be public, e.g. contacting the mentor should happen in the public IRC
channel or CC'ing the maintainers mailing list.


For some projects, there may be way to bridge them directly into industry
For some projects, there may be way to bridge them directly into industry
Line 135: Line 139:
=== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ===
=== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ===


We will encourage students and mentors to keep in touch after the program. We
We will constantly merge their code into our codebase, and GNU Octave is a
will integrate as soon as possible the code into our codebase, and we will
project with many test users that give constant feedback on new features and bug
forward bugs and positive feedback directly to the responsible students.
reports. We will forward these to the students so they get the feeling of doing
Possibility of the student staying after GSoC will be our primary concern when
something that is being used by others, and that is useful to the community from
selecting students.
the very start.
 
In addition, students are likely required to use Octave during their academic
year and even during their professional careers. As such, they are prone to
stay involved with its development, even if at a lower lever than during the
summer.


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