Next: , Previous: Top, Up: Top


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) and GNU maintainer standards (see Preface). 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:

GNU Hello is implemented in C. The GNU Gettext distribution contains “hello world” examples in many other programming languages; see the Gettext home page at http://www.gnu.org/software/gettext/.

The top-level Makefile.am in Hello also contains a few special targets for other projects to adapt as desired:

diff
Make a diff from the previous release, assuming the current tarball is in the current tarball.
po-check
Verify that all source files using _() are included for translation in po/POTFILES.in, so translators will have all the messages.
wwwdoc
Sample procedure for updating the manual on the GNU web site, in this case http://www.gnu.org/software/hello/manual/.

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