GSoC 2022 application

From Octave
Jump to navigation Jump to search


Octave's application for GSoC 2022.

Organization name[edit]

GNU Octave

OSI approved license?[edit]

Yes

Has your organization participated in Google Summer of Code before?[edit]

Yes

Please select all years in which your organization participated prior to 2022[edit]

2016-2021, 2014

Website URL[edit]

https://www.octave.org

Logo (Must be a 24-bit PNG, minimum height 256 pixels.)[edit]

https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/Gnu-octave-logo.svg/283px-Gnu-octave-logo.svg.png (or generate 256x256 PNG from http://hg.savannah.gnu.org/hgweb/octave/raw-file/155d8e90ee1f/doc/icons/octave-logo.svg with inkscape -z -e octave-logo.png -w 256 -h 256 octave-logo.svg)

Tagline (50 characters)[edit]

Free Your Numbers

Primary License[edit]

GPL 3.0

What year was your project started?[edit]

1992

Source code location[edit]

https://hg.savannah.gnu.org/hgweb/octave


Organization Category[edit]

Programming Languages, Science


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

C++, hg

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

mathematics, numerical computation, numerical methods, matlab, scientific computing


Description[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. Student projects may also involve developing or upgrading Octave Forge packages, which can be loaded to provide additional specialized functions that supplement those provided in Core Octave.


Contributor guidance / Idea List[edit]

https://wiki.octave.org/gsoc

Contact methods[edit]

Chat: https://octave.discourse.group/

Mailing list: https://lists.gnu.org/mailman/listinfo/octave-maintainers

Email: octave-maintainers@gnu.org

Why does your org want to participate in Google Summer of Code? (1000 chars)[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 who have become important contributors to the Octave project and we hope to continue this in the future by engaging 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.

What would your org consider to be a successful summer? (500 chars)[edit]

We would consider a program successful if we selected promising students, provided adequate mentor supervision, developed desired features in Octave, and facilitated a satisfying experience for the students and mentors. We are more interested in the quality of interactions and contributions than in quantity, although, all else being equal, we would be happy to have more talented students join us.




Is your organization part of any government?[edit]

No



How will you keep mentors engaged with their students? (1000 chars)[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 who are familiar with the code base and with engaging the maintainer and user community. 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? (1000 chars)[edit]

Previous contributions to Octave (which can be small) are a condition for acceptance. In this way, we hope to select students who are familiar with the codebase and able to start their project quickly.

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

During the summer, mentors will check 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, the vast majority of our over 30 previous SoC students have finished successfully, making substantive contributions to Octave that have been integrated into our codebase.

How will you get your students involved in your community during GSoC? (1000 chars)[edit]

Students will be urged to participate in our chat 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 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 copy the maintainers mailing list.

Finally, we organize an annual developers' summit, OctConf, and have in previous years provided support for GSoC students to attend and present. We also hold monthly online developer meetings to discuss Octave's direction and future activities, to which GSoC students would be invited. Such meetings strengthen relationships between community members and the new students.