FAQ: Difference between revisions

3,379 bytes removed ,  21 January 2014
→‎GUI: update section about GUI
(→‎GUI: update section about GUI)
Line 831: Line 831:


==Does Octave has a GUI?==
==Does Octave has a GUI?==
No. But keep reading.
Yes. It was released with Octave 3.8.0 but is considered experimental. To start Octave with the GUI, use the {{Codeline|--force-gui}} option.


==Is there a GUI planned for Octave?==
==When will the GUI stop being experimental?==
Yes, and is already in development. You can download the [http://www.gnu.org/software/octave/get-involved.html Octave repository] and compile the development branch yourself (it seems to be stable enough for use and the 3.6.2 binaries for windows already have it). Testing is always welcomed, and patches even more. Note that despite being called Octave GUI, it is ''not'' a separate project. It is simply the ''Octave GUI'', the Octave Graphical User Interface, just like the Octave prompt, Octave interpreter, etc are not separate projects (not to be confused with the completely unrelated but similarly named, GUI Octave project).
The plan is for the GUI to be considered stable with version 4.0.


==How come there's still no GUI for Octave?==
==Why are you working on yet another GUI instead of making one that already exists better?==
The Octave prompt is really really good and that's what the Octave developers use. Octave is a community project which means that it has the functionalities that its users are willing to spend time implementing. Since Octave developers do not need a GUI (some actually would not use one if it existed), they have no reason to make one. Also, many people on the community are of the opinion that using a GUI slows down the learning of the language.
None of the GUIs for Octave that have been developed thus far are part of Octave and there is a reason for it. All of them fail at a very important point, integration with Octave. They treat Octave as a foreign black box using pipes for communication, an approach that is bound to fail with each new version. Any fix made to make them work with new Octave versions would only be temporary. This included QtOctave (now abandoned and incompatible with newer versions of Octave), Xoctave (which is proprietary and commercial) and GUI Octave (which is proprietary).


==I want Octave developers to work on a GUI?==
QtOctave was great and very useful tool. It looked beautiful and we are thankful to its developers for working on such a nice tool plus making it libre. However, it would ''never'' be stable.
If you would like the Octave developers to implement a GUI for you, consider the same route taken by others that want a specific function/capability to be implemented. Some of the Octave developers will work as coders for hire. Ask on the [http://www.gnu.org/software/octave/get-involved.html maintainers mailing list]. This is not unlike paying a builder to add an extra room to your house. The fact there is no GUI in Octave only shows that there is not enough interest for it (despite the amount of time people asking for it).


==What about all the Octave GUIs I find on Google?==
Quint was a project for an Octave GUI that actually tried to do it right. Eventually it was merged into the Octave repository and is no longer a separate project. Also, many bits from QtOctave were reused in the GUI.
None of the GUIs for Octave that have been developed thus far are part of Octave and there is a reason for it. All of them fail at a very important point, integration with Octave. They treat Octave as a foreign black box using pipes for communication, an approach that is bound to eventually fail. This includes QtOctave (now abandoned and incompatible with newer versions of Octave), Xoctave (which is proprietary and commercial) and GUI Octave (which is proprietary and the author is not interested to share his code to preserve its "artistic integrity").
 
Quint was a project for an Octave GUI that actually tried to do it right. Eventually it was merged into the Octave repository and is now under development under the name Octave GUI (this is not a separate project anymore, it is simply the ''Octave GUI'' and not to be confused with the completely unrelated but similarly-named, GUI Octave project).
 
==QtOctave has been abandoned. Why are you working on yet another GUI rather than trying to fix QtOctave?==
Read previous question. The approach taken by QtOctave for interacting with Octave is bound to fail. Yes, it could be fixed and made to work again for the latest octave release but this would not be a permanent fix and would eventually fail again. A [http://octave-gsoc2012.blogspot.ie/2012/06/why-not-take-existing-gui.html longer explanation] has already been written as part of GSoC2012.
 
Yes, QtOctave is a useful tool, looks beautiful and we are thankful to its developers for working on such a nice tool plus making it libre. We are in no way saying the opposite. However, it will ''never'' be stable. The Octave GUI being developed now uses code from many different projects, we are trying to not reinvent the wheel. But we want something that will achieve stability.
 
==What about GUI Octave?==
GUI Octave is not part of the Octave project despite its very deceptive name. Not only is a different project, it is also very inappropriate for this piece of closed-source software to occupy the name "GUI Octave" with the hostile anti free-software stance the developer has taken. It advertises itself as a "completely free" wrapper to "GNU Octave". It must be explicit that it is not free software as understood by GNU. This is deceptive.
 
==How can I know more about Octave GUI?==
This is being developed as part of the Octave project so subscribe to the [http://www.gnu.org/software/octave/get-involved.html maintainers mailing list]. When you checkout the Octave repository, you'll find the GUI source on the development/default [http://hg.savannah.gnu.org/hgweb/octave/branches branch].
 
<!-- You may also read [http://octave-gsoc2012.blogspot.ca/ Jacob's blog posts about the topic.] -->
 
==I'm having problem XXX using GUI Octave, XOctave, QtOctave, etc?==
Install Octave only, without any of the non-supported GUIs and see if the problem disappears.