@setfilename standards.info
@settitle GNU Coding Standards
@c This date is automagically updated when you save this file:
-@set lastupdate March 23, 2010
+@set lastupdate April 12, 2010
@c %**end of header
@dircategory GNU organization
@url{http://lists.gnu.org/mailman/listinfo/gnustandards-commit}.
Archives are also available there.
-@cindex @code{maintainers@@gnu.org} email address
+@cindex @code{bug-standards@@gnu.org} email address
+@cindex Savannah repository for gnustandards
+@cindex gnustandards project repository
Please send corrections or suggestions for this document to
@email{bug-standards@@gnu.org}. If you make a suggestion, please
include a suggested new wording for it, to help us consider the
@node Graphical Interfaces
@section Standards for Graphical Interfaces
@cindex graphical user interface
+@cindex interface styles
+@cindex user interface styles
-@cindex gtk+
+@cindex GTK+
When you write a program that provides a graphical user interface,
please make it work with the X Window System and the GTK+ toolkit
unless the functionality specifically requires some alternative (for
separate program which invokes the command-line program.) This is
so that the same jobs can be done from scripts.
-@cindex corba
-@cindex gnome
-Please also consider providing a CORBA interface (for use from GNOME), a
-library interface (for use from C), and perhaps a keyboard-driven
-console interface (for use by users from console mode). Once you are
-doing the work to provide the functionality and the graphical interface,
-these won't be much extra work.
+@cindex CORBA
+@cindex GNOME
+@cindex D-bus
+@cindex keyboard interface
+@cindex library interface
+Please also consider providing a D-bus interface for use from other
+running programs, such as within GNOME. (GNOME used to use CORBA
+for this, but that is being phased out.) In addition, consider
+providing a library interface (for use from C), and perhaps a
+keyboard-driven console interface (for use by users from console
+mode). Once you are doing the work to provide the functionality and
+the graphical interface, these won't be much extra work.
@node Command-Line Interfaces
@item LGPL
GNU Lesser General Public License, @url{http://www.gnu.org/@/licenses/@/lgpl.html}.
-@item GPL/Guile
-GNU GPL with the exception for Guile; for example, GPLv3+/Guile means
-the GNU GPL version 3 or later, with the extra exception for Guile.
-
@item GPL/Ada
GNU GPL with the exception for Ada.
The license for Python, @url{http://www.python.org/@/2.0.1/@/license.html}.
@item RBSD
-The revised (3-clause) BSD, compatible with the GNU GPL,
+The revised (3-clause) BSD, compatible with the GNU GPL,@*
@url{http://www.xfree86.org/@/3.3.6/@/COPYRIGHT2.html#5}.
@item X11