[image of the typing GNU webmaster]

[ English | Español ]

Table of contents


To maintain the GNU project web server, we use a lot of different free software. Most of them are already available on the Internet, but we also have some software which has been developed by GNU volunteers and has never been released as GNU software, because they are somewhat specific to our needs. Still, we feel that those programs should also be made available so that others can make use of them. This page is a list of such programs.


Incidentally, for web pages that are programmatically generated, we recommend that the script generates XML data, preferably using an existing and widely spread DTD when possible. For the actual layout of the page, an XSLT file should be written in order to generate an XHTML page. The XSLT, XML and XHTML files should be made available on the web site so that XSL aware web browsers can use them. For a real and still simple example check the Job Pages and the corresponding software.

CVS Tree

We recommend storing the scripts in the CVS tree. This allows easier sharing between GNU machines that maintain a full or partial image of the web. In order to retrieve a read-only copy of the existing scripts use the following:

    cvs -d login
      just type return when asked for the password
    cvs -d co www
If you are a registered member of the www project you can also get a read-write copy using the following:
    cvs -d co www
You can also browse the available scripts from the CVS web interface.


This is a shell script with the purpose of rotating accounting logs and to optionally compress old log files. A somewhat more limited script similar in operation to this is included in most Debian GNU/Linux distributions.


This is another shell script with the purpose of making diff's of files when they change and to send an email informing about the change to a list of recipients. This script is used to keep administrators aware of changes to the configuration of the webserver and other servers. It is also used to inform editors of translations of GNU web pages into other languages about changes to the original English document.


This is a program made in Emacs LISP that is used to check references in HTML documents. It takes the file input.txt as input which contains a list of HTML documents and outputs te file output.txt. The output file contains information of documents which can not be reached at all and documents which can only be reached by following more than two links. We use this to make sure that all important documents can be reached fairly easy from the main page.


This shell script creates a webpage with a list of the last 25 software releases and their ChangeLog on the FSF's FTP server.


The primary goal is to cope with the inability of CVS to deal with symbolic files. By adding special files (".symlinks") into the CVS tree that are interpreted as specficiations to build symbolic links. The "symlinks" script can be run immediately after a "cvs update" to fix the symbolic links according to the specifications included in the ".symlinks" files.

Complete information about this script can be found in the Symbolic Links section of the GNU Webmaster Guidelines.


It is convenient to use Savannah ( to manage accounts on a machine that is completly unrelated to Savannah itself. For instance, the project lists all the users who should have a shell account on the france.fsfeu- machine.

A cron job on the target machine ( in this case) can fetch the list of users from Savannah and update the password files accordingly. Adding a user to the machine can then simply be done by adding the user as a developer of the project.

By default savannahusers only use a limited range of uid (10000 to 20000) to avoid interferences with existing users.

Complete information about this script can be found in the manual page.

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to There are also other ways to contact the FSF.

Please send comments on these web pages to, send other questions to

Copyright (C) 1999, 2000, 2006 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: $Date: 2006/04/21 13:22:34 $ $Author: ramprasadb $