Difference between revisions of "GSoC 2016 application"

From Octave
Jump to navigation Jump to search
 
(20 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
Octave's application for GSoC 2016.
 
Octave's application for GSoC 2016.
 
  
 
=== Why does your org want to participate in Google Summer of Code? ===
 
=== Why does your org want to participate in Google Summer of Code? ===
Line 11: Line 10:
  
 
=== How many potential mentors have agreed to mentor this year? ===
 
=== How many potential mentors have agreed to mentor this year? ===
=== How will you keep mentors engaged with their students? ===
 
=== How will you help your students stay on schedule to complete their projects? ===
 
=== How will you get your students involved in your community during GSoC? ===
 
=== How will you keep students involved with your community after GSoC? ===
 
=== Has your org been accepted as a mentoring org in Google Summer of Code before? ===
 
=== Are you part of a foundation/umbrella organization? ===
 
=== What year was your project started? ===
 
  
=== Organization ID ===
+
6-10
  
octave
+
We have about 10 contributors who are potential mentors. They have participated in previous SoC projects, either as students or mentors, and are all active participants in the Octave community. All have previously contributed code, have commit access to either the Octave or Octave Forge source tree, and are active in the mailing lists. Many also keep a constant presence in the IRC channel.
  
=== Organization name ===
+
=== How will you keep mentors engaged with their students? ===
  
GNU Octave
+
We will select mentors with proven involvement in Octave and free software and align project topics with the priorities of the core developer team. The vast majority of our mentors have been involved in Octave development for several years, and new mentors will be paired with more experienced ones.
  
=== Description ===
+
Each project will include at least one core Octave developer as mentor. These are proven, veteran members of the project, active in its development, and familiar with the code base. GNU Octave is a project with applications in very diverse domains so each project should also include a mentor with expertise in the relevant field.
  
[http://www.gnu.org/software/octave/ GNU Octave] is a free numerical computing
+
=== How will you help your students stay on schedule to complete their projects? ===
environment largely compatible with Matlab. [[User:jwe|John W. Eaton]] began the project in 1992 and remains the primary maintainer.  Development is quite active with more than 20 volunteers currently involved.  Octave is also widely used in teaching, industry, and research.  It has gained attention as the recommended tool for a number of distributed online courses such as [https://www.coursera.org/course/ml Stanford's machine learning course].
 
  
GNU Octave has an extensive core of functions useful for computations
+
Previous contributions to Octave by the student will be a condition for acceptance. In this way, we hope to select students who are familiar with the Octave codebase and able to start with their project quickly.
in several fields, such as numerical analysis, optimisation, signal and image
 
processing, and control theory. Its sister project, [http://octave.sourceforge.net/ Octave Forge],
 
develops and releases packages with even more specialized functions.
 
In addition, it helps in speeding up development, increasing user
 
contributions, and testing code before it is included in GNU Octave's core set of
 
functions.
 
  
Recent and ongoing improvements include a GUI and just-in-time
+
A tentative project timeline is required as part of the application, and is checked by mentors for realism as part of the applicant evaluation process. Once a student is selected, the mentor will work with them to come up with a more detailed summer timeline, including clear expectations for progress by the midterm and final evaluation periods.
compilation capabilities, both of which started as GSoC projects.
 
  
=== Tags ===
+
During the summer, mentors will check in with students at least weekly to make sure they are staying on schedule and help with any obstacles that might arise. Students are also expected to regularly update their mentors and the Octave maintainers community on their progress via e-mails and blog posts.
  
c++, mathematics, math, numerical, matlab, scientific, computing
+
Overall, about 80% of previous SoC students have finished successfully, making substantive contributions to Octave that have been integrated into our code base.
  
=== Organization home page url ===
+
=== How will you get your students involved in your community during GSoC? ===
  
http://www.octave.org
+
Students will be urged to participate on our IRC channel and mailing list. We will set clear expectations on the minimum frequency of email progress updates, typically every two to three days. Students will also set up a blog for longer, weekly, updates which is aggregated at http://planet.octave.org
  
Logo: http://hg.savannah.gnu.org/hgweb/octave/raw-file/155d8e90ee1f/doc/icons/octave-logo.svg (generate 256x256 PNG with Gimp)
+
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 copy the maintainers mailing list.
  
Blog: http://planet.octave.org/
+
Finally, we organize a developers' summit, OctConf, during the summer and have in previous years provided support for GSoC students to attend and present. This strengthens relationships between community members and the new students.  
  
Feed: http://planet.octave.org/atom.xml
+
=== How will you keep students involved with your community after GSoC? ===
  
=== Main organization license ===
+
We will typically merge their code into our codebase during or soon after the summer. GNU Octave is a project with many tester-users who give constant feedback on new features and report bugs. As participants in the mailing lists and bug tracker, students get the feeling of doing something that is useful to the community from the very start.
  
GPLv3
+
Many of our GSoC students use Octave during the academic year or in their professional careers. As such, they are prone to stay involved with its development, even if at a lower level than during the summer.
  
=== Veteran/new ===
+
Several previous SoC students have continued with regular contributions to GNU Octave, and most remain available to help us with any problems related to the code they wrote for the project.
  
Veteran
+
=== Has your org been accepted as a mentoring org in Google Summer of Code before? ===
  
=== Backup admin ===
+
Yes. We have a nice trajectory mentoring projects since 2011 (both as an independent organization and as part of GNU). [http://wiki.octave.org/Summer_of_Code This page] lists the successful projects that have been executed under our mentoring.
  
JordiGH
+
=== Are you part of a foundation/umbrella organization? ===
  
=== If you chose "veteran" in the checkbox, please summarize your involvement in Google Summer of Code and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ===
+
Yes, we are affiliated with GNU.
  
Our first year in GSoC as an independent organization was 2014 and we had 3 participating students, who pursued work in approximate matrix factorization, efficient handling of sparse matrices, and finite element methods for solving partial differential equations. While there were some challenges related to mentor availability in one case, all 3 of the students passed and made contributions which have been incorporated into Octave. We also had one student enrolled under [http://sophia.estec.esa.int/socis/ ESA Summer of Code in Space (SoCiS)] who successfully improved Octave's ordinary differential equation solvers.
+
=== What year was your project started? ===
  
In addition, we also mentored GSoC and SoCiS students on the years 2011, 2012, and 2013 under the umbrella of the GNU project. In total, counting both GSoC and SoCiS, we have mentored a total of 16 students. Students working with us have made valuable contributions which are live and in our main source tree. These contributions improving Octave's usability and functionality in many different areas, from low-level instrument control and just-in-time compilation, to new algorithms for processing N dimensional images and least-squares spectral analysis. The Octave GUI started as a GSoC project and its further refinement has been the major feature of the last Octave release. Several of the students continued their involvement with the project and the community, four have become core developers, and two have become mentors for new students.
+
1992
  
The challenges include managing very diverse problem domains and finding people who are competent in all of them.  We have not had trouble keeping students interested, although we have seen lulls in their productive output at times, which were always thankfully remedied with a little prodding.
+
=== Organization ID ===
  
Summarizing, we have previously mentored a total of 16 summer students, all of them having educational experiences which created useful code for the project and community. Because of this, we believe that Octave is a suitable organization for GSoC with the capability to mentor students and benefit from their contribution.
+
octave
  
=== If you chose "new" in the dropdown above, have you applied in the past? If so, for what year(s)? ===
+
=== Organization name ===
  
N/A
+
GNU Octave
  
=== Why is your organization applying to participate in Google Summer of Code? What do you hope to gain by participating? ===
+
=== Tagline (80 characters) ===
  
We hope to establish collaborations with talented new contributors.  We also want to raise awareness of Octave in the free software community.
+
Free Your Numbers
  
Google Summer of Code represents a unique opportunity to bring new perspectives to the Octave community.  As a somewhat older project, we benefit from having new and younger contributors among our developers.  We have been able to retain several GSoC participants as contributors to the Octave project and we hope to improve in the future by engaging more effectively with students during both the application and mentoring processes, setting clear standards for what is required for acceptance, and maintaining those standards throughout the project.
+
=== Technology Tags (the primary specific technologies your organization uses) ===
  
=== What is the URL for your Ideas page? ===
+
C++, hg
  
http://wiki.octave.org/Summer_of_Code_Project_Ideas
+
=== Topic Tags (general topics that describe your organization) ===
  
=== What is the main development mailing list for your organization? ===
+
mathematics, math, numerical, matlab, scientific, computing
  
octave-maintainers@gnu.org (https://lists.gnu.org/mailman/listinfo/octave-maintainers)
 
  
=== What is the main IRC channel for your organization? ===
+
=== Proposal Tags (for applicants to use) ===
  
irc://irc.freenode.net/octave [url: https://webchat.freenode.net/?channels=#octave ]
+
New feature, Performance, Matlab compatibility, Octave Forge
  
=== How many potential mentors do you have for this year's program? What criteria did you use to select them? ===
+
=== Description (180 chars) ===
  
We have about 10 contributors who are potential mentors. They have participated in previous
+
GNU Octave is a high-level interpreted language, primarily intended for numerical computations.
SoC projects, either as students or mentors, and are all active participants in the Octave community. All
 
have previously contributed code, have commit access to either the Octave or
 
Octave Forge source tree, and are active in the mailing lists. Many also keep a
 
constant presence in the IRC channel.
 
  
Each project will include at least one core Octave developer as mentor. These
+
=== Description (2000 chars) ===
are proven, veteran members of the project, active in its development, and familiar
 
with the code base. Also, GNU Octave is a project with applications in very diverse domains so each
 
project should include mentors with expertise in the relevant field.
 
  
=== What is your plan for dealing with disappearing students? ===
+
GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.
  
Disappearing students haven't been a problem for us in previous years. To prevent disappearances, we aim to make all reasonable efforts to accommodate students and make them feel
+
Octave is continually being upgraded. The current version 4.0 includes a graphical user interface, support for classdef object-oriented programming, and many new and improved functions. SoC projects may also involve developing or upgrading Octave Forge packages, which can be loaded by users to provide additional specialized functions that supplement those provided in Core Octave.
welcome. We will engage students frequently by email and IRC, provide prompt response to student queries,
 
and expect periodic reports from mentors about the project status. We will also
 
encourage the students to participate on the public mailing list and IRC channel,
 
with or without the mentor. Their progress should be regularly applied to our source
 
tree, if necessary in a side branch. All of these have shown to be effective
 
with students.
 
  
Should this fail and a student disappears (which we
+
=== Organization urls ===
hope will be very unlikely, since it has never happened before and nobody
 
vanishes without good reason), make
 
reasonable attempts to contact them via alternative channels up to a private
 
phone number. If more than 2 weeks have passed without a response, we will consider the student as having dropped out and
 
analyse the code submitted thus far for integration into our
 
source tree.
 
  
=== What is your plan for dealing with disappearing mentors? ===
+
http://www.octave.org
  
Distribute the workload among the remaining mentors. The mailing list is active enough and questions almost never go unanswered. Reassign the student to a backup mentor. In the worst case, the project admin can become a mentor for the student until another mentor is found.
+
Logo: http://hg.savannah.gnu.org/hgweb/octave/raw-file/155d8e90ee1f/doc/icons/octave-logo.svg (generate 256x256 PNG with Gimp)
  
This situation has been infrequent, and we hope to make it even less likely by selecting mentors with proven involvement in Octave and free software and by aligning project topics with the priorities of the core developer team. The vast majority of our mentors have been involved in Octave development for several years, and new mentors will be paired with more experienced ones.
+
Blog: http://planet.octave.org/
  
=== What steps will you take to encourage students to interact with your project's community before and during the program? ===
+
Feed: http://planet.octave.org/atom.xml
 
 
We will encourage them to join us on our IRC channel and mailing list.  We will set clear expectations on the minimum frequency of email progress updates of every two to three days. Students also set up a blog for longer updates which is 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 copy the maintainers mailing list.
 
 
 
Our annual conference, OctConf, is held in the summer. Students will be invited to attend and present on their work. Previous OctConfs had several such student presenters.
 
 
 
For some projects, there may be a way to bridge directly with industry interests. We hope that we can increase student participation this way.
 
 
 
=== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ===
 
 
 
We will constantly merge their code into our codebase. GNU Octave is a
 
project with many tester-users who give constant feedback on new features and report bugs. As participants in the mailing lists and bug tracker, students get the feeling of doing
 
something that is being used by others and that is useful to the community from
 
the very start.
 
 
 
In addition, many GSoC students will likely use Octave during their academic
 
year and in their professional careers. As such, they are prone to
 
stay involved with its development, even if at a lower level than during the
 
summer.
 
  
Finally, we organize a developers' summit during the summer and have in previous
+
IRC Channel: http://webchat.freenode.net/?channels=octave&uio=MT1mYWxzZSYyPXRydWUmMTI9dHJ1ZQda
years provided support for GSoC students to attend. This strengthens
 
relationships between community members and the new students. In fact, several previous SoC students have continued with
 
regular contributions to GNU Octave, and most remain available to help us with any problems related to the code they wrote for the project.
 
  
=== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ===
+
Mailing List: http://wiki.octave.org/FAQ#How_can_I_get_involved_in_Octave_development.3F
  
Yes, GNU can vouch for us.
+
General Email: help@octave.org
  
=== 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. ===
+
Ideas: http://wiki.octave.org/Summer_of_Code_Project_Ideas
  
No.
+
Application instructions: http://wiki.octave.org/Summer_of_Code_Project_Ideas#Steps_Toward_a_Successful_Application

Latest revision as of 08:21, 18 February 2016


Octave's application for GSoC 2016.

Why does your org want to participate in Google Summer of Code?[edit]

We hope to establish collaborations with talented new contributors. We also want to raise awareness of Octave in the free software community.

Google Summer of Code represents a unique opportunity to bring new perspectives to the Octave community. As a somewhat older project, we benefit from having new and younger contributors among our developers. We have been able to retain several GSoC participants as contributors to the Octave project and we hope to improve in the future by engaging more effectively with students during both the application and mentoring processes, setting clear standards for what is required for acceptance, and maintaining those standards throughout the project.

How many potential mentors have agreed to mentor this year?[edit]

6-10

We have about 10 contributors who are potential mentors. They have participated in previous SoC projects, either as students or mentors, and are all active participants in the Octave community. All have previously contributed code, have commit access to either the Octave or Octave Forge source tree, and are active in the mailing lists. Many also keep a constant presence in the IRC channel.

How will you keep mentors engaged with their students?[edit]

We will select mentors with proven involvement in Octave and free software and align project topics with the priorities of the core developer team. The vast majority of our mentors have been involved in Octave development for several years, and new mentors will be paired with more experienced ones.

Each project will include at least one core Octave developer as mentor. These are proven, veteran members of the project, active in its development, and familiar with the code base. GNU Octave is a project with applications in very diverse domains so each project should also include a mentor with expertise in the relevant field.

How will you help your students stay on schedule to complete their projects?[edit]

Previous contributions to Octave by the student will be a condition for acceptance. In this way, we hope to select students who are familiar with the Octave codebase and able to start with their project quickly.

A tentative project timeline is required as part of the application, and is checked by mentors for realism as part of the applicant evaluation process. Once a student is selected, the mentor will work with them to come up with a more detailed summer timeline, including clear expectations for progress by the midterm and final evaluation periods.

During the summer, mentors will check in with students at least weekly to make sure they are staying on schedule and help with any obstacles that might arise. Students are also expected to regularly update their mentors and the Octave maintainers community on their progress via e-mails and blog posts.

Overall, about 80% of previous SoC students have finished successfully, making substantive contributions to Octave that have been integrated into our code base.

How will you get your students involved in your community during GSoC?[edit]

Students will be urged to participate on our IRC channel and mailing list. We will set clear expectations on the minimum frequency of email progress updates, typically every two to three days. Students will also set up a blog for longer, weekly, updates which is 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 copy the maintainers mailing list.

Finally, we organize a developers' summit, OctConf, during the summer and have in previous years provided support for GSoC students to attend and present. This strengthens relationships between community members and the new students.

How will you keep students involved with your community after GSoC?[edit]

We will typically merge their code into our codebase during or soon after the summer. GNU Octave is a project with many tester-users who give constant feedback on new features and report bugs. As participants in the mailing lists and bug tracker, students get the feeling of doing something that is useful to the community from the very start.

Many of our GSoC students use Octave during the academic year or in their professional careers. As such, they are prone to stay involved with its development, even if at a lower level than during the summer.

Several previous SoC students have continued with regular contributions to GNU Octave, and most remain available to help us with any problems related to the code they wrote for the project.

Has your org been accepted as a mentoring org in Google Summer of Code before?[edit]

Yes. We have a nice trajectory mentoring projects since 2011 (both as an independent organization and as part of GNU). This page lists the successful projects that have been executed under our mentoring.

Are you part of a foundation/umbrella organization?[edit]

Yes, we are affiliated with GNU.

What year was your project started?[edit]

1992

Organization ID[edit]

octave

Organization name[edit]

GNU Octave

Tagline (80 characters)[edit]

Free Your Numbers

Technology Tags (the primary specific technologies your organization uses)[edit]

C++, hg

Topic Tags (general topics that describe your organization)[edit]

mathematics, math, numerical, matlab, scientific, computing


Proposal Tags (for applicants to use)[edit]

New feature, Performance, Matlab compatibility, Octave Forge

Description (180 chars)[edit]

GNU Octave is a high-level interpreted language, primarily intended for numerical computations.

Description (2000 chars)[edit]

GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation. Octave is normally used through its interactive command line interface, but it can also be used to write non-interactive programs. The Octave language is quite similar to Matlab so that most programs are easily portable.

Octave is continually being upgraded. The current version 4.0 includes a graphical user interface, support for classdef object-oriented programming, and many new and improved functions. SoC projects may also involve developing or upgrading Octave Forge packages, which can be loaded by users to provide additional specialized functions that supplement those provided in Core Octave.

Organization urls[edit]

http://www.octave.org

Logo: http://hg.savannah.gnu.org/hgweb/octave/raw-file/155d8e90ee1f/doc/icons/octave-logo.svg (generate 256x256 PNG with Gimp)

Blog: http://planet.octave.org/

Feed: http://planet.octave.org/atom.xml

IRC Channel: http://webchat.freenode.net/?channels=octave&uio=MT1mYWxzZSYyPXRydWUmMTI9dHJ1ZQda

Mailing List: http://wiki.octave.org/FAQ#How_can_I_get_involved_in_Octave_development.3F

General Email: help@octave.org

Ideas: http://wiki.octave.org/Summer_of_Code_Project_Ideas

Application instructions: http://wiki.octave.org/Summer_of_Code_Project_Ideas#Steps_Toward_a_Successful_Application