1 Overview
**********


The GNU hello program
(<http://www.gnu.org/software/hello/>) produces a familiar,
friendly greeting.  It allows nonprogrammers to use a classic computer
science tool which would otherwise be unavailable to them.  Because it
is protected by the GNU General Public License, users are free (in
perpetuity) to share and change it.

Not to spoil the joke, but of course the practical purpose of GNU
Hello is to serve as a minimal example of a GNU package.  So, although
most manuals don't need to discuss the implementation of the programs
they document, that is part of the goal here.

First, GNU Hello follows the GNU coding standards
(see Preface in GNU Coding Standards) and GNU
maintainer standards (see Preface in Information for GNU Maintainers).  These are the basic documents which all GNU
packages should adhere to.

The Hello package also implements recommended development practices
not embodied in the standards, using other GNU packages and features:

* It uses Automake (see Introduction in GNU Automake) and
hence also Autoconf (see Introduction in GNU Autoconf)
for configuration.

* It uses Gnulib (see Gnulib in GNU Gnulib) to enhance
portability and avoid duplication of common sources.

* GNU Gettext (see Introduction in GNU Gettext) is used
for internationalization support.  Hello's greeting has been translated
into many languages.

* Internally, Hello uses the GNU getopt_long function
(see Getopt Long Options in GNU C Library) to parse options,
thus supporting GNU-style long options such as `--help'.

* Man pages are generated with GNU help2man
(see Overview in GNU help2man) from the
`--help' output.  This relieves the maintainers of the burden
of maintaining man documentation separately, yet provides a reasonable
overview for man devotees.

* Finally, Texinfo (see Introduction in Texinfo) is the
documentation format for this manual.  It supports output in Info,
HTML, PDF, DVI, plain text, XML, and other formats.


GNU Hello is implemented in C.  GNU Gettext contains "hello world"
examples in a variety of other programming languages; see the Gettext
home page at <http://www.gnu.org/software/gettext/>.  

GNU Hello was written by Mike Haertel, David MacKenzie, Jan
Brittenson, Charles Hannum, Roland McGrath, Noah Friedman, Karl
Eichwalder, Karl Berry, and The King.


