Octave is a capable free software system for numerical computing developed primarily by a community of volunteers. As good as it is, there are certainly some flaws and a lot of room for improvement. Most people who use Octave understand these things and know that if they work together with the community bugs will be fixed, features will be added, and Octave will improve over time. Working with people who have this kind of attitude is fun and rewarding.
Unfortunately, there are a few people who behave as though the community owes them support as well as a 100% Matlab compatible system, all at zero cost. It shouldn’t really be necessary, but we’ll say it anyway: working with these people is no fun. If you approach the Octave community this way, you are sure to be disappointed. You should also not be surprised when your requests for help are ignored.
People sometimes think that Octave is developed by some large team
of well-paid programmers. Nothing could be further from the truth.
Most of the initial development of Octave was done by one person
over several years. Since then, there have been at most a half-dozen
or so volunteers working on Octave at any one time.
You can see who has done most of the work by looking through the
development history (prior to February 2008 it is best to look
in the old
ChangeLog files). Currently, none of the Octave developers
are paid to work on Octave directly.
If you would like to see Octave moving forward more quickly, then contribute to its development, either by working on the project yourself, or by donating funds. With sufficient funding, we would be able to pay a few developers to work on Octave full time.
When asking for help on the mailing list or IRC channel, or reporting a bug, remember that the people helping you are Octave users just like you who are volunteering their time. They are not paid support staff. Use meaningful subject lines. Try to ask clear questions. Be precise about the problems you are having.
No software is perfect, and Octave is no exception. You can search the list of bug reports to see what problems have been reported. In looking at the list, you might also noticed the number of problems that have been fixed. Nearly all of these problems have been fixed by volunteers. If you find a problem, you are encouraged to report it. Your report can help to improve Octave, but you should not think of the bug tracker as your personal support line.
If you depend on Octave and absolutely must have prompt responses to problem reports, you should consider paying for commercial support.
When we say that Octave is “mostly compatible” with Matlab, we mean that the language that it accepts is similar enough that a substantial amount of code written for Matlab can also run in Octave without needing to be changed. But Octave does not have all the features of Matlab, and it is unlikely that it ever will. Given that Matlab is developed in secret and Octave developers only find out about new Matlab features when new versions of Matlab are released, it is clearly impossible for Octave to have new Matlab features as soon as they are available in Matlab.
In most cases, Octave has the features that it does because someone decided to add them because they needed them. If you have the programming skills perhaps you can add the features you need. If you not, then consider paying for someone to implement the feature for you. Most people who provide commercial support services for Octave will also take on custom programming projects.
Even if you don’t have the expertise required to implement new features or can’t pay for someone to do the work for you, you may submit feature requests to the bug tracker. But you should understand that unless you are paying for someone to to add the feature, no one is obligated to do it for you.