We always need more help improving Octave and there are many ways you can contribute. You can help by fixing bugs, developing new features, answering questions on the mailing list or IRC channel, helping to improve the web pages.

If you are wondering what to work on, we have a standard answer: what would you like to work on? We try not to tell contributors what to work on as most people do their best work when they are within their own field of interest. So, we would love your help, but would also love for you to work on what you love.

For some inspiration, we do maintain a list of possible projects on the Wiki.

If you have an idea on what to contribute, then join the maintainers@octave.org mailing list or the IRC #octave channel in Freenode and discuss your ideas there. That way others can provide input early on, which makes your contribution more likely to get accepted.

Please do not send help requests or bug reports to the maintainers@octave.org mailing list. Refer to the bug tracker or other support options instead.

Using the Development Sources

The latest development sources of Octave are also available via Mercurial (hg) archive.

The primary archive address is https://www.octave.org/hg/octave, which currently redirects to https://hg.savannah.gnu.org/hgweb/octave.

If you decide to use the development sources from the Mercurial archive, please read the file etc/HACKING that is available with the source files.

Assuming you have Mercurial and git installed on your machine you may obtain the latest development version of Octave sources with the following command:

hg clone https://www.octave.org/hg/octave

This will clone two repositories, one of which is subrepository of the main Octave repository. Once you have these, you can resync with the archive by doing from within the cloned directory (cd octave):

hg -v pull
hg -v update

The -v option is not required but provides extra information about what was pulled and updated. The Octave manual has more information about contributing to Octave’s development.

Octave Forge

The community-developed Octave-Forge packages expand Octave’s core functionality by providing field specific features via Octave’s package system. For example, image and signal processing, fuzzy logic, instrument control, and statistics packages are examples of individual Octave-Forge packages.