Next: , Previous: , Up: Top   [Contents][Index]

1 Overview

The GNU hello program ( 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:

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

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


Make a diff from the previous release, assuming the current tarball is in the current tarball.


Verify that all source files using _() are included for translation in po/, so translators will have all the messages.


Sample procedure for updating the manual on the GNU web site, in this case

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

Next: , Previous: , Up: Top   [Contents][Index]