Add arch taglines
[bpt/emacs.git] / etc / tasks.texi
index 72af633..c4ecca4 100644 (file)
 @c %**start of header
 @setfilename tasks.info
 @settitle GNU Task List
-@c UPDATE THIS DATE WHENEVER YOU MAKE CHANGES!
-@set lastupdate 31 March 1995
+@c This date is automagically updated when you save this file:
+@set lastupdate October 24, 2002
 @c %**end of header
 
+@c On behalf of the Volunteer Coordinators, I humbly request that anyone
+@c who adds an entry to this file please add a pointer to some more info
+@c about that project.  People ask us (gvc@gnu.org) for more information
+@c about these projects and it's embarrassing to ask around and find out
+@c that nobody remembers what the project was supposed to be, or do.
+@c We don't need a huge elaborate ISO-9001 document, just a couple of
+@c paragraphs or a URL or something that explains what the e.g. ``stalker''
+@c project should do.  It will save us all time in the future.
+@c Thanks, toby@gnu.org
+@c April 27, 2002
+
+@dircategory GNU organization
+@direntry
+* Tasks: (tasks).               GNU task list.
+@end direntry
+
 @setchapternewpage off
 
+@copying
+The GNU task list, last updated @value{lastupdate}.
+
+Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
+1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+
+@quotation
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+@end quotation
+@end copying
+
 @titlepage
 @title GNU Task List
 @author Free Software Foundation
 @author last updated @value{lastupdate}
+@page
+@vskip 0pt plus 1filll
+@insertcopying
 @end titlepage
 
-@ifinfo
-@node Top, Documentation, (dir), (dir)
+@contents
+
+@ifnottex
+@node Top, Intro, (dir), (dir)
 @top GNU Task List
 
-This file is updated automatically from @file{tasks.texi}, which was
-last updated on @value{lastupdate}.
-@end ifinfo
+@insertcopying
 
-Check with @code{gnu@@prep.ai.mit.edu}, for a possibly more current copy.
-This task list is not exclusive; any other useful program might be a
-good project---but it might instead be something we already have, so
-check with @code{gnu@@prep} before you start writing it.
+See also
+@uref{http://www.gnu.org/help/help.html#helpgnu} for other suggested tasks.
+@end ifnottex
 
 @menu
+* Intro::
+* Highest Priority::
 * Documentation::
 * Unix-Related Projects::
 * Kernel Projects::
 * Extensions::
+* Java Projects::
 * X Windows Projects::
+* Network Projects::
+* Encryption Projects::
 * Other Projects::
-* Compilers::
+* Languages::
+* Education::
 * Games and Recreations::
 @end menu
 
-If you start working steadily on a project, please let @code{gnu@@prep}
+@node Intro, Highest Priority, Top, Top
+@chapter About the GNU Task List
+
+If you did not obtain this file directly from the GNU project and
+recently, please check for a newer version.  You can ftp the task list
+from any GNU FTP host in directory @file{/pub/gnu/tasks/}.  The task
+list is available there in several different formats: @file{tasks.text},
+@file{tasks.texi}, @file{tasks.info}, and @file{tasks.dvi}.
+@c to fix an overfill, join the paragraphs -len
+The task list is also available on the GNU World Wide Web server:
+@uref{http://www.gnu.org/prep/tasks_toc.html}.
+
+If you start working steadily on a project, please let @email{gvc@@gnu.org}
 know.  We might have information that could help you; we'd also like to
 send you the GNU coding standards.
 
-Because of the natural tendency for most volunteers to write
-programming tools or programming languages, we have a comparative
-shortage of applications useful for non-programmer users.  Therefore,
-we ask you to consider writing such a program.
+Because of the natural tendency for most volunteers to write programming
+tools or programming languages, we have a comparative shortage of
+applications useful for non-programmer users.  Therefore, we ask you to
+consider writing such a program.
 
-In general, a new program that does a completely new job advances the
-GNU project more than an improvement to an existing program.
+Typically, a new program that does a completely new job advances
+the GNU project, and the free software community, more than an
+improvement to an existing program.
 
-@node Documentation
-@chapter Documentation
+Typically, new features or new programs advance the free software
+community more, in the long run, than porting existing programs.  One
+reason is that portable new features and programs benefit people on many
+platforms, not just one.  At the same time, there tend to be many
+volunteers for porting---so your help will be more valuable in other
+areas, where volunteers are more scarce.
 
-We very urgently need documentation for some parts of the system
-that already exist or will exist very soon:
+Typically, it is more useful to extend a program in functionality than
+to improve performance.  Users who use the new functionality will
+appreciate it very much, if they use it; but even when they benefit from
+a performance improvement, they may not consider it very important.
+
+Finally, if you think of an important job that free software cannot
+solve yet that is typically solved by proprietary software, please send
+a short description of that job to @email{tasks@@gnu.org} so that we can
+add it to this task list.
+
+@node Highest Priority, Documentation, Intro, Top
+@chapter Highest Priority
+
+This task list mentions a large number of tasks that would be more or
+less useful.  With luck, at least one of them will inspire you to start
+writing.  It's better for you to work on any task that inspires you than
+not write free software at all.
+
+But if you would like to work on what we need most, here is a list of
+high priority projects.
 
 @itemize @bullet
+
 @item
-Completion of the documentation for CC-mode, a new C/C++ mode for
-Emacs Lisp.
+
+If you are good at writing documentation, please do that.  Pick a system
+or program you like, and write a Free tutorial or manual for it.
 
 @item
-A C reference manual.  (RMS has written half of one which you could
-start with).
+
+Help to finish the missing features of the @command{docbook2texi} so
+that as many Docbook tags as possible can be translated into reasonable
+Texinfo.  See @uref{http://docbook2x.sourceforge.net/todo.html} for a
+task list of what needs to be done.
 
 @item
-A manual for Ghostscript.
-@c
-@c @item
-@c A manual for CSH.
-@c Ick, do we want to encourage using THAT?  -djm
+If you are very good at C programming and interested in kernels, you
+can help develop the GNU HURD, the kernel for the GNU system.  Please
+have a look at @uref{http://www.gnu.org/software/hurd/hurd.html}, and
+then join the HURD mailing lists at
+@uref{http://www.debian.org/ports/hurd/hurd-contact}.
 
 @item
-A manual for PIC (the graphics formatting language).
+If you are a Scheme fan, you can help develop Guile.  Please have a look
+at the URL @uref{http://www.gnu.org/software/guile/guile.html}
+and then contact the Guile developers at @email{guile-devel@@gnu.org}.
 
 @item
-A manual for Perl.  (The books that exist are not free, and
-thus not available to be part of the GNU system.)
+Improve the facilities for translating other languages into Scheme,
+so that Guile can provide support for a variety of languages.
 
 @item
-A manual for Oleo.
+A package to convert programs written using MS Access into Scheme,
+making use of a free data base system and the GTK toolkit.
 
 @item
-A book on how GCC works and why various machine descriptions
-are written as they are.
+A general-purpose document viewing program that can handle PostScript,
+DVI, PDF, HTML, RTF, Word format and Word Perfect format.
 
 @item
-A manual for programming X-window applications.
+Help develop software to emulate Windows NT on top of GNU systems.
+For example, you could help work on Wine.
+See @uref{http://www.winehq.org/}.
 
+@ignore
+@c panda is a PDF generator library released under the GPL
+@c http://www.stillhq.com/cgi-bin/getpage?area=panda&page=index.htm
 @item
-Manuals for various X window managers.
+A free replacement for pdflib. This is a library for generating PDF.
+@end ignore
 
 @item
-Reference cards for those manuals that don't have them: Gawk, C
-Compiler, Make, Texinfo, Termcap and maybe the C Library.
+Add gettext support to GNU programs that don't have it already.  (Please
+contact the developers of the specific packages that you want to work
+on.)
 
 @item
-Many utilities need documentation, including @code{grep}, @code{cpio},
-and other small utilities.
+Develop a substitute, which runs on GNU systems, for some very popular
+or very important application that many non-programmers use on Windows,
+and which has no comparable free equivalent now.
 @end itemize
 
-@node Unix-Related Projects
-@chapter Unix-Related Projects
+@node Documentation, Unix-Related Projects, Highest Priority, Top
+@chapter Documentation
+
+We very urgently need documentation for many existing parts of the
+system.
+
+Note that there are proprietary manuals for many of these topics, but
+proprietary manuals do not count, for the same reason proprietary
+software does not count: we are not free to copy and modify them.
+We do not recommend any non-free materials as documentation.
 
 @itemize @bullet
+
 @item
-We could use an emulation of Unix @code{spell}, which would run by
-invoking @code{ispell}.
+A reference document for SQL for use as a standard for implementors of
+free software versions of SQL.
 
 @item
-Less urgent: @code{diction}, @code{explain}, @code{style}.
+A manual for libstdc++.
 
+
+@ignore
+@c the Indian TeX Users Group has completed a freely distributable version of a LaTex manual - http://www.tug.org.in/tutorials.html
 @item
-An improved version of the POSIX utility @code{pax}.  There is one on
-the Usenet, but it is said to be poorly written.  Talk with
-@code{mib@@gnu.ai.mit.edu} about this project.
+A unified manual for La@TeX{}.  (Existing documentation is non-free.)
+@end ignore
 
+@ignore
+@c docbook definitive guide http://www.docbook.org/tdg/en/html/ is now FDL
+@item
+A manual for Docbook SGML format.
+@end ignore
+
+@item
+A tutorial introduction to Midnight Commander.
+
+@item
+A thorough manual for RCS.
+
+@item
+A reference manual for Mach.
+
+@item
+A reference manual for the GNU Hurd features in GNU libc.
+
+@item
+A manual for writing Hurd servers.
+
+@ignore
+@c this is done.
+@item
+A manual for GNU sed.
+@end ignore
+
+@item
+Reference manuals for C++, Objective C, Pascal, Fortran 77, and Java.
+
+@item
+A tutorial manual for the C++ STL (standard template library).
+
+@item
+A tutorial manual for Gforth.
+
+@item
+GNU Objective-C Runtime Library Manual; this would be a reference manual
+for the runtime library functions, structures, and classes.  Some work
+has been done on this job.
+
+@item
+Manuals for GNUstep: developer tutorial, developer programming manual,
+developer reference manual, and user manual.
+
+@item
+A manual for Ghostscript.
+
+@item
+A manual for TCSH.
+
+@item
+A coherent free reference manual for Perl.  Most of the Perl on-line
+reference documentation can be used as a starting point, but work is
+needed to weld them together into a coherent manual.
+
+@c Bradley M. Kuhn is working on this. <bkuhn@gnu.org>  Refer volunteers to
+@c  him.
+
+@item
+
+A good free Perl language tutorial introduction.  The existing Perl
+introductions are published with restrictions on copying and
+modification, so that they cannot be part of a GNU system.  bkuhn made a
+start at a free tutorial, but a lot of work is needed.
+
+
+@item
+A manual for PIC (the graphics formatting language).
+
+@item
+A book on how GCC works and why various machine descriptions
+are written as they are.
+
+@item
+A manual for programming applications for X11.
+
+@item
+Manuals for various X window managers.
+
+@item
+Reference cards for those manuals that don't have them: C
+Compiler, Texinfo, Termcap, and maybe the C Library.
+
+@item
+Many utilities still need documentation.
+@end itemize
+
+@node Unix-Related Projects, Kernel Projects, Documentation, Top
+@chapter Unix-Related Projects
+
+@itemize @bullet
 @ignore
 @item
 Modify the GNU @code{dc} program to use the math routines of GNU
@@ -124,16 +315,19 @@ Modify the GNU @code{dc} program to use the math routines of GNU
 @end ignore
 
 @item
-A @code{grap} preprocessor program for @code{troff}.
+Rewrite @code{indent} from scratch to make it cleaner.
 
 @item
-Various other libraries.
+Write a free software replacement for the @code{agrep} program.
 
 @item
-An emulation of SCCS that works using RCS.
+Less urgent: make a replacement for the ``writer's workbench'' program
+@code{style}, or something to do the same kind of job.  Compatibility
+with Unix is not especially important for this program.
+
 @end itemize
 
-@node Kernel Projects
+@node Kernel Projects, Extensions, Unix-Related Projects, Top
 @chapter Kernel-Related Projects
 
 @itemize @bullet
@@ -155,9 +349,17 @@ need some changes.
 @item
 A shared memory X11 server to run under MACH is very desirable.  The
 machine specific parts should be kept well separated.
+
+@item
+An implementation of CIFS, the ``Common Internet File System,'' for the
+HURD.  This protocol is an offshoot of SMB.
+
+@item
+Support (in Linux?) for dumping the non-textual contents of an SVGA
+console.
 @end itemize
 
-@node Extensions
+@node Extensions, Java Projects, Kernel Projects, Top
 @chapter Extensions to Existing GNU Software
 
 @itemize @bullet
@@ -166,11 +368,21 @@ Enhance GCC.  See files @file{PROJECTS} and @file{PROBLEMS} in the GCC
 distribution.
 
 @item
-GNU @code{sed} probably needs to be rewritten completely just to make it
-cleaner.
+Interface GDB to Guile, so that users can write debugging commands in
+Scheme.  This would also make it possible to write, in Scheme, a
+graphical interface that uses GTK and is tightly integrated into GDB.
+
+@item
+Extend Octave to support programs that were written
+to run on Khoros.
+
+@item
+Rewrite Automake in Scheme, so it can run in Guile.  Right now it is
+written in Perl.  There are also other programs, not terribly long,
+which we would also like to have rewritten in Scheme.
 
 @item
-Work on the partially-implemented C interpreter project.
+Finish the partially-implemented C interpreter project.
 
 @item
 Help with the development of GNUstep, a GNU implementation of the
@@ -192,105 +404,240 @@ An @code{nroff} macro package to simplify @code{texi2roff}.
 A queueing system for the mailer Smail that groups pending work by
 destination rather than by original message.  This makes it possible
 to schedule retries coherently for each destination.  Talk to
-@code{tron@@veritas.com} about this.
+@email{tron@@veritas.com} and @email{woods@@weird.com} about this.
 
-Smail also needs a new chief maintainer.
+@end itemize
+
+@node  Java Projects, X Windows Projects, Extensions, Top
+@chapter Java Projects
+
+@itemize @bullet
 
 @item
-Enhanced cross-reference browsing tools.  (We now have something at
-about the level of @code{cxref}.)  We also could use something like
-@code{ctrace}.  (Some people are now working on this project.)
+The GNU Classpath Extensions project is looking for help.  classpathx
+builds free versions of Sun's java extension libraries, the packages
+in the javax namespace.
+
+@item
+Write a replacement for the javadoc utility.  The Classpath
+(@uref{http://www.gnu.org/software/classpath}) team has already made a
+start to one.
+
+
 @end itemize
 
-@node X Windows Projects
+@node X Windows Projects, Network Projects, Java Projects, Top
 @chapter X Windows Projects
 
 @itemize @bullet
 @item
 An emulator for Macintosh graphics calls on top of X Windows.
 
+@ignore
+@c winelib does this http://www.winehq.org/
 @item
-A music playing and editing system.
+A package that emulates the API of Visual C++'s Foundation Classes
+(MFC), but operates on top of X11.  It need not match the screen
+appearance provided by MFC.  Instead, it would be best to use GTK, so as
+to give coherence with GNOME.
+@end ignore
 
+@ignore
+@c GNOME Basic is doing this
 @item
-A "disk jockey" program to keep track of a collection of recorded music
-samples (songs, etc), and queue up a sequence of them for playing.  This
-program could use rplay to do the actual playing.
+A compatible replacement for Visual Basic, running on top of X11.
+It need not match the screen appearance of Visual C++.  Instead,
+it would be best to use GTK, so as to give coherence with GNOME.
+@end ignore
 
+@ignore
+@c Denemo is doing this.
 @item
-A program to edit dance notation (such as labanotation) and display
-dancers moving on the screen.
+A music playing and editing system.  This should work with LilyPond, a
+GNU program for music typesetting.
+@end ignore
 
+@ignore  @c GNUskies should do this
 @item
-Port the Vibrant toolkit to work on X without using Motif.
+An ephemeris program to replace xephem (which is, alas, too restricted
+to qualify as free software).
+@end ignore
+
+@c Gepetto (@url{http://laurent.riesterer.free.fr/gepetto/intro-main.html},
+@c @email{laurent.riesterer@@free.fr}), according to @email{gnueval@@gnu.org},
+@c does the job of displaing dancers but does not allow editing notation.
+
 
 @item
-A widget for displaying circle-shaped menus ("pie menus") with X
-windows.
+Make sure the Vibrant toolkit works with LessTif instead of Motif.
 
 @item
 A program to display and edit Hypercard stacks.
 
 @item
-An interface-builder program to make it easy to design graphical
-interfaces for applications.  This could work with the dynamic linker
-DLD and C++, loading in the same class definitions that will be used
-by the application program.
+A two-dimensional outliner program, which lets you draw
+graph structures of textual items, and then display them
+in various ways.
+
+@ignore  @c done
+@item
+A program for graphic morphing of scanned photographs.
+@end ignore
+
+@ignore  @c Done by gLabels
+@item
+Software for designing and printing business cards.
+@end ignore
+@end itemize
+
+@node Network Projects, Encryption Projects, X Windows Projects, Top
+@chapter Network Projects
+
+@itemize @bullet
+@ignore
+@c Cornell has released a program for this.
+@item
+A teleconferencing program which does the job of CU-SeeMe (which is,
+alas, not free software).
+@end ignore
+
+@ignore
+@c Bishop Bettini <bishop@synxcti.com> is working on this.
+@item
+A free ICQ-compatible server program.  (The ICQ server itself is not
+free software.)
+@end ignore
 
+@ignore
+@c if anyone knows what this means please send email to gvc@gnu.org
 @item
-A "desktop" program with drag-and-drop icons and such.
+Free software like Stalker for operating a web server for email
+services.
+@end ignore
 
+@end itemize
+
+@node Encryption Projects, Other Projects, Network Projects, Top
+@chapter Encryption Projects
+
+These projects need to be written outside the US by people who are not
+US citizens, to avoid problems with US export control law.
+
+@itemize @bullet
+@ignore
+@c libcrypt is doing this.
+@item
+A free library for public-key encryption.  This library can probably be
+developed from the code for the GNU Privacy Guard.
+@end ignore
+
+@ignore
 @item
-A paint program, supporting both bitmap-oriented operations and
-component-oriented operations.  @code{xpaint} exists, but isn't very
-usable.
+@c GNUtls is doing this.
+An implementation of SSLv3 (more precisely, TLSv1) which has
+distribution terms compatible with the GNU GPL.  We know of a
+GPL-covered implemention of a version of SSL that you can use as a
+starting point.
+@end ignore
 
+@ignore
+@c akopia interchange appears to do this.  if you'd like to re-open this
+@c item please let the GVC know what you want (in some detail)
 @item
-A program for manipulating photographs---something vaguely like Photo
-Shop (though not exactly like it).
+Free software for doing secure commercial transactions on the web.
+This should be based on libgcrypt and GNUtls.
+@end ignore
+
 @end itemize
 
-@node Other Projects
+@node Other Projects, Languages, Encryption Projects, Top
 @chapter Other Projects
 
 If you think of others that should be added, please
-send them to @code{gnu@@prep.ai.mit.edu}.
+send them to @email{tasks@@gnu.org}.
 
 @itemize @bullet
+
+@ignore
+@c vcg as of version 1.30 (current as of 2002-10-24) is GPL
+@c toby 2002-10-24
 @item
-[This seems to be being done:]
-A program to convert Postscript to plain ASCII text.  Ghostscript will
-soon have a mode to output all the text strings in a document, each with
-its coordinates.  You could write a program to start with this output
-and ``layout the page'' in ASCII.  The program will be both easier and
-more useful if you don't worry pedantically about how the output text
-should be formatted.  Instead, try to make it look reasonable as plain
-ASCII.
+A library for automatic graph layout.  VCG version 1.0, which was free
+software, might provide a base for this.
+@end ignore
 
 @item
-A program to convert compiled programs represented in OSF ANDF
-(``Architecture Neutral Distribution Format'') into ANSI C.
+A data visualization program along the lines of xgobi or ggobi.
+
+@item
+A graph visualization program, which would use that library and
+provide a front end for manual and interactive intervention so as to
+provide a full substitute for equivalent proprietory software.  It
+would be good to support DOT format as input, and perhaps other
+formats.
+
+@c Such proprietary software is daVinci and graphviz, but are uncommon enough
+@c that we don't mention them here publicly.
+@c http://www.research.att.com/~erg/graphviz/info/lang.html
+@c Some useful information about graph drawing programs can be found here
+@c http://www.research.att.com/sw/tools/graphviz/gdlinks.html
+
+@c At the time of making this entry, VCG's website was
+@c    http://rw4.cs.uni-sb.de/users/sander/html/gsvcg1.html
+
+@item
+
+A ``one stop shopping system'' for advocates involved with social
+justice or other non-profit campaigns.  The idea would be to create an
+easy-to-use interface to software that would allow someone to register a
+domain for their organisation, build a website, and set up mailing
+lists.  The software would need options to easily do all this, and be
+made easy for non-hackers.  Mainly the work would involve bringing
+together a number of existing tools with an overriding configuration
+program.
+
+@ignore LinuxBIOS is doing this
+@item
+A simple PC BIOS.  On most new PCs, the BIOS is stored in writable
+memory (misleadingly known as ``flash ROM'').  In order to have a wholly
+free system on these PCs, we need a free BIOS.
+
+This task is made simpler by the fact that this BIOS need only support
+enough features to enable a boot-loader such as LILO or GRUB to finish
+loading the kernel.  Neither Linux nor Mach actually uses the BIOS once
+it starts up.  Also, it is not absolutely necessary to do all the many
+diagnostics that an ordinary BIOS does (though it would be useful to do
+some of them).  However, there may be a need to configure certain data
+in the computer in a way that is specific to each model of computer.
+@end ignore
 
 @item
 An imitation of Page Maker or Ventura Publisher.
 
 @item
-An imitation of @code{dbase2} or @code{dbase3} (How dbased!)
+An imitation of @code{dbase2} or @code{dbase3}.  (How dbased!)
+Harbour, a free replacement for Clipper, would provide a useful start.
+@uref{http://www.harbour-project.org/}.
 
+@ignore  @c being done by Jonas etc.
 @item
-A program to reformat Fortran programs in a way that is pretty.
+A general ledger program, including support for accounts payable,
+account receivables, payroll, inventory control, order processing, etc.
+@end ignore
 
 @item
-A bulletin board system.  There are a few free ones, but they don't have
-all the features that people want in such systems.  It would make sense
-to start with an existing one and add the other features.
+A free replacement for Glimpse, which is not free software.
+Swish does some parts of the job, but not all.
 
 @item
-A general ledger program.
+Software for desktop publishing.  We are extending Emacs into a WYSIWYG
+word processor, to handle primarily linear text; what this item proposes
+is software focused on page layout.
 
+@ignore It looks like TruePrint will fill this gap
 @item
-A program to typeset C code for printing.
-For ideas on what to do, see the forthcoming book,
+A program to typeset C code for printing, to make it easier to read on
+paper.  For ideas on what to do, see the book,
 
 @display
 Human Factors and Typography for More Readable Programs,
@@ -298,94 +645,246 @@ Ronald M. Baecker and Aaron Marcus,
 Addison-Wesley, ISBN 0-201-10745-7
 @end display
 
-(I don't quite agree with a few of the details they propose.)
+But you don't have to do exactly what they propose.
+@end ignore
 
+@ignore
+@c This is now being worked on -- rms, 22 June 1998
 @item
-Speech-generation programs (there is a program from Brown U that you
-could improve).
+A program to convert Microsoft Word documents to text/enriched, TeX,
+LaTeX, Texinfo, or some other format that free software can edit.
+@end ignore
+
+@ignore
+@c People are helping the developer of siff release it as free software.
 
 @item
-Speech-recognition programs (single-speaker, disconnected speech).
+A free replacement for siff (sometimes called sif).  This would be a
+program to find similar files in a large file system, ``similar''
+meaning that the files contain a significant number of common substrings
+that are of a certain size or greater.  You can find some information
+about siff (which is, unfortunately, not free software) at
+@uref{ftp://ftp.cs.arizona.edu/reports/1993/TR93-33.ps.Z}.
+@end ignore
 
+@ignore
+@c This is being developed -- rms, 3 May 1998
 @item
-Scientific mathematical subroutines, including clones of SPSS.
+A free replacement for the semi-free Qt library.
+@end ignore
+
+@ignore
+@c Ogg Vorbis is doing this, see @url{http://www.xiph.org/ogg/vorbis/index.html} or contact @email{Monty <monty@xiph.org>}.
 
 @item
-Statistical tools.
+High-quality music compression software.
+(Talk with @email{mt@@sulaco.org} for relevant suggestions.)
+Unfortunately we cannot implement the popular MP3 format
+due to patents, so this job includes working out some other
+non-patented format and compression method.
+@end ignore
 
 @item
-Software to replace card catalogues in libraries.
+A program to play sound distributed in ``Real Audio'' format, if only
+because there is a large corpus of data encoded in this format.  We
+ask that you encode audio data in Ogg/Vorbis format since it is
+publically documented and there are Free Software encoders and
+decoders available.
 
+@ignore
+@c we do NOT want to provide software to encode data into proprietary secret formats.  People should use ogg/vorbis or another well-documented format instead
 @item
-Grammar and style checking programs.
+A program to generate ``Real Audio'' format from audio input.
+@end ignore
 
 @item
-An implementation of the S language (an interpreted languages used for
-statistics).
+Programs to handle audio in RTSP format.
 
+@ignore  @c Software patents have made this domain off limits to free software.
 @item
-A translator from Scheme to C.
+An MPEG III audio encoder/decoder (but it is necessary to check, first,
+whether patents make this impossible).
 
+@c Chris Hofstader is working on a non-Festival speech-generation program.
+@c Mario Lang <lang@zid.tu-graz.ac.at> reports that Festival needs only
+@c to be 2-5 times faster to work well with Emacspeak.
 @item
-Optical character recognition programs; especially if suitable for
-scanning documents with multiple fonts and capturing font info as well
-as character codes.  This may not be very difficult if you let it
-@emph{train} on part of the individual document to be scanned, so as to
-learn what fonts are in use in that document.  We would particularly
-like to scan the Century Dictionary, an unabridged dictionary now in the
-public domain.
+Speech-generation programs that are faster than the Festival engine.
+This might be done by optimizing Festival.
 
-You don't need scanning hardware to work on OCR.  We can send you
-bitmaps you can use as test data.
+@c We have a project now.
+@item
+Speech-recognition programs (single-speaker, disconnected speech is sufficient).
+@end ignore
 
-We may soon have an OCR program, but it will need lots of additional work.
+@item
+A braille translation and formatting system which can convert marked up
+documents into braille.  This should let the user customize the braille
+translation rules; it would be good to divide it into a
+device-independent part plus drivers.  Contact Jason White,
+@email{jasonw@@ariel.ucs.unimelb.EDU.AU}.
+
+@ignore Being done
+@item
+A program to display text word by word, always showing just one word at
+a time.  This method permits much faster reading than ordinary text
+display.  If you want to work on this, contact @email{stutz@@dsl.org} to
+learn more.
+@end ignore
+
+@item
+More scientific mathematical subroutines.
+(A clone of SPSS is being written already.)
+
+@item
+A scientific data collection and processing tool,
+perhaps something like Scientific Workbench and/or Khoros,
 
 @item
-A program to scan a line drawing and convert it to Postscript.
+A free replacement for SciRun, which is not free software.
 
 @item
-A program to recognize handwriting.
+A program to calculate properties of molecules by solving
+the Schroedinger equation.
+
+
+@ignore
+@c the Koha project appears to satisfy this need.  see www.koha.org
+@c toby 2002-06-21
 
 @item
-A pen based interface.
+Software to replace card catalogs in libraries.
+@end ignore
+
 
 @item
-Software suitable for creating virtual reality user interfaces.
+A simulator for heating and air conditioning systems for buildings.
+
+@ignore
+@c Pat Deegan @email{pat@@psychogenic.com} is working on this.
+@c no URL yet, the status is updated in @file{volunteers}
+
+@item
+A program for voting and tabulating election results.
+
+@end ignore
+
+@ignore
+@c at least 4 GPL program exist for this purpose (one of
+@c which, gramps, has a GNOME UI):
+@c http://www.gnu.org/search/fsd-search.py?q=geneology
+@c 2002-06-27 toby
+
+@item
+A package for editing genealogical records conveniently.
+This could perhaps be done as a Gnome program, or perhaps
+as an Emacs extension.
+
+@end ignore
+
+@ignore
+@c ToutDoux aims to do this.
+@c also Minkowsky (at least simple project management) - toby
+
+@item
+A project-scheduling package that accepts a list of project sub-tasks
+with their interdependencies, and generates Gantt charts and Pert charts
+and all the other standard project progress reports.
+@end ignore
+
+@item
+Grammar and style checking programs.
+
+@item
+A diagnostic program to test a hard disk.
+
+@item
+Optical character recognition programs; especially if suitable for
+scanning documents with multiple fonts and capturing font info as well
+as character codes.  Work is being done on this, but more help is needed.
+
+@c Some of the OCR work being done:
+@c   Luis Cearra <luisjc@lem.eui.upm.es>, http://lem.eui.upm.es/ocre.html
+@c The status of these projects is updated in @file{/gd/gnuorg/volunteers}
+
+@item
+A program to scan a line drawing and convert it to editable Postscript,
+or some other editable format.
+
+@item
+A program to recognize handwriting (we don't believe PocketLinux's
+handwriting capability is ready for non-PocketLinux environments, yet).
+
+
+@item
+A program that can translate from one natural language, into another.
+For example, a program to translate French into English.
 
 @item
 CAD software, such as a vague imitation of Autocad.
 
 @item
-Software for displaying molecules.
+A program to receive data from a serial-line tap to facilitate the
+reverse-engineering of communication protocols.
+
+@item
+A database program designed to store and retrieve patent information.
 
 @item
-Software for comparing DNA sequences, and finding matches and
-alignments.
+A free software package to run on a Palm Pilot in place of its usual
+software, doing more or less the usual jobs.  (Linux, the kernel, has
+apparently been ported, but according to what we hear this port is not
+useful yet.)
+
 @end itemize
 
-@node Compilers
-@chapter Compilers for Other Batch Languages
+@node Languages, Education, Other Projects, Top
+@chapter Programming Languages
 
 Volunteers are needed to write parsers/front ends for languages such as
-Algol 60, Algol 68, PL/I, or whatever, to be used with the code
-generation phases of the GNU C compiler.  (C++ and Objective C are done,
-Fortran is now in beta test, and Ada and Pascal are being worked on.
+Algol 60, Algol 68, PL/I, Cobol, Fortran 90, Delphi, Modula 2, Modula 3,
+RPG, and any other languages designed for compilation, to be used with
+the code generation phases of the GNU C compiler.
 
-@c Fortran status is here so gnu@prep and the volunteer coordinators
+@ignore
+@c Fortran status is here so gnu@gnu.org and the volunteer coordinators
 @c don't have to answer the question -len
+@c as of 2002-09 this doesn't work anymore - toby
 You can get the status of the Fortran front end with this command:
 
 @example
-finger -l fortran@@gnu.ai.mit.edu
+finger -l fortran@@gnu.org
 @end example
+@end ignore
 
-@node Games and Recreations
-@chapter Games and Recreations
+We would like to have translators from various languages into Scheme.
+These languages include TCL, Python, Perl, Java, Javascript, and Rexx.
+Perhaps Clipper as well.
+
+@node Education, Games and Recreations, Languages, Top
+@chapter Education
+
+Programs for studying, teaching or doing administrative tasks in schools.
+See @uref{http://www.gnu.org/education/} for additional information.
 
 @itemize @bullet
 @item
-Video-oriented games should work with the X window system.
+A program to organize automatically the schedule of a school given
+constraints about teachers, rooms, times, and students.
 
+@item
+A program to edit dance notation (such as labanotation) and display
+dancers moving on the screen.  Gepetto does some of this work.  Contact
+@email{gvc@@gnu.org} if you are interested in helping finish the job.
+
+@end itemize
+
+@node Games and Recreations,  , Education, Top
+@chapter Games and Recreations
+
+Video-oriented games that work with the X window system.
+
+@itemize @bullet
 @item
 Empire (there is a free version but it needs upgrading)
 
@@ -394,7 +893,24 @@ An ``empire builder'' system that makes it easy to write various kinds of
 simulation games.
 
 @item
-Imitations of popular video games:
+Improve GnuGo @uref{http://www.gnu.org/software/gnugo/gnugo.html}.
+
+@item
+Network servers and clients for board and card games for which such
+software does not yet exist.
+
+@item
+A Hierarchical Task Network package which can be used
+to program play the computer's side in various strategic games.
+
+@item
+A game like Mill/Nine Men's Morris.
+
+@item
+A realistic train-driving simulator.
+
+@item
+Write imitations of some popular video games:
 
 @itemize -
 @item
@@ -404,26 +920,45 @@ Defending cities from missiles.
 @item
 Plane shoots at lots of other planes, tanks, etc.
 @item
-Wizard fights fanciful monster.
+Wizard fights fanciful monsters.
+@ignore Peter Sundling peter.sundling@telia.com expressed interest in this.
 @item
 A golf game.
+@ignore Being done by jhall1@isd.net
 @item
 Program a robot by sticking building blocks together,
 then watch it explore a world.
+@end ignore
 @item
-Biomorph evolution (as in Scientific American).
-@item
-A program to display effects of moving at relativistic speeds.
+Biomorph evolution (as in Scientific American and @cite{The Blind
+Watchmaker}).
 @end itemize
-
-@item
-Intriguing screen-saver programs to make interesting pictures.
-Other such programs that are simply entertaining to watch.
-For example, an aquarium.
 @end itemize
 
 We do not need @code{rogue}, as we have @code{hack}.
 
-@contents
 
 @bye
+@c  LocalWords:  dir texi lastupdate uref http www org html helpgnu ifinfo ftp
+@c  LocalWords:  dvi hurd toc gvc URL GTK XmHTML xs nl ripley NT com gettext Qt
+@c  LocalWords:  GUI libstdc Docbook SGML libc sed STL Gforth GNUstep TCSH Perl
+@c  LocalWords:  Ghostscript PIC GCC Texinfo grep dc bc ethernet GDB IP CIFS CU
+@c  LocalWords:  SMB SVGA Khoros Automake OpenStep diff roff Smail tron veritas
+@c  LocalWords:  cxref ctrace API LilyPond xephem labanotation LessTif outliner
+@c  LocalWords:  Hypercard morphing SeeMe ICQ Diffie Helman RSA SSLv TLSv GPL
+@c  LocalWords:  OpenBIOS BIOS LILO dbase dbased Harbour harbour WYSIWYG ISBN
+@c  LocalWords:  TruePrint Baecker siff sif cs arizona edu TR ps mt sulaco MP
+@c  LocalWords:  RTSP MPEG jasonw ariel ucs unimelb AU stutz dsl TCL Javascript
+@c  LocalWords:  Rexx GnuGo jhall isd Biomorph regexp eval gd gnuorg
+
+Local variables:
+eval: (add-hook 'write-file-hooks 'time-stamp)
+time-stamp-start: "@set lastupdate "
+time-stamp-end: "$"
+time-stamp-format: "%:b %:d, %:y"
+compile-command: "make just-tasks"
+End:
+
+@ignore
+   arch-tag: 7ed10085-fa7c-47d4-9ed5-39e885603e5c
+@end ignore