@setfilename tasks.info
@settitle GNU Task List
@c This date is automagically updated when you save this file:
-@set lastupdate August 1, 1998
+@set lastupdate January 15, 2001
@c %**end of header
@setchapternewpage off
@top GNU Task List
This file is updated automatically from @file{tasks.texi}, which was
-last updated on @value{lastupdate}.
+last updated on @value{lastupdate}. See also
+@uref{http://www.gnu.org/help/help.html#helpgnu} for other suggested
+tasks.
@end ifinfo
@menu
-* Intro::
-* Highest Priority::
-* Documentation::
-* Unix-Related Projects::
-* Kernel Projects::
-* Extensions::
-* X Windows Projects::
-* Encryption Projects::
-* Other Projects::
-* Compilers::
-* Games and Recreations::
+* Intro::
+* Highest Priority::
+* Documentation::
+* Unix-Related Projects::
+* Kernel Projects::
+* Extensions::
+* X Windows Projects::
+* Network Projects::
+* Encryption Projects::
+* Other Projects::
+* Languages::
+* Education::
+* Games and Recreations::
@end menu
-@node Intro
+@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
appreciate it very much, if they use it; but even when they benefit from
a performance improvement, they may not consider it very important.
-@node Highest Priority
+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
high priority projects.
@itemize @bullet
+
+@item
+A new maintainer is needed for Goose
+@uref{http://www.gnu.org/software/goose/goose.html}.
+
@item
If you are good at writing documentation, please do that.
@uref{ftp://ftp.gnu.org/pub/gnu/tasks/tasks.hurd}, via anonymous FTP.
@item
-@email{gnu@@gnu.org} via e-mail.
+@email{gvc@@gnu.org} via e-mail.
@end itemize
and then contact the Guile developers at @email{guile@@gnu.org}.
@item
-Help develop XmHTML.
+Improve the facilities for translating other languages into Scheme,
+so that Guile can provide support for a variety of languages.
+
+@item
+A package to convert programs written using MS Access into Scheme,
+making use of a free data base system and the GTK toolkit.
+
+@ignore
+@item
+Help develop XmHTML. See @uref{http://www.xs4all.nl/~ripley/XmHTML/}.
+@end ignore
@item
Help develop software to emulate Windows NT on top of GNU systems.
For example, you could help work on Willows Twin.
+See @uref{http://www.willows.com/}.
+
+@item
+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.)
+@ignore The Kermit developers say they will provide a free program
+to do this.
@item
Implement the Kermit data transfer protocol. (See below.)
+@end ignore
@ignore This is being done (Harmony)
@item
the only solution. Hence the high degree of urgency of this project.
@end ignore
-@item
-Develop a free replacement for a semi-free program such as Xv or POV.
-These semi-free programs are less restricted than typical proprietary
-programs, but too restricted to be part of any free operating system.
-
@item
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 Documentation
+@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, because we are not free to copy and
-modify them along with the software they document. For this reason,
-we do not recommend any non-free manuals.
+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
+A reference document for SQL for use as a standard for implementors of
+free software versions of SQL.
+
+@item
+A manual for libstdc++.
+
+@item
+A unified manual for La@TeX{}. (Existing documentation is non-free.)
+
+@item
+A manual for Docbook SGML format.
+
+@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.
+
+@item
+A manual for GNU sed.
+
@item
-A C reference manual. (RMS made a try at one, which you could start
-with).
+Reference manuals for C++, Objective C, Pascal, Fortran 77, and Java.
@item
-Reference manuals for C++, Pascal, Fortran 77, and Java.
+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.
A manual for TCSH.
@item
-A good free reference manual for Perl. The free Perl on-line reference
-documentation is good, for what it is--a list of functions and a
-description of each--but that is not the same as a reference manual.
-(Compare, for example, the Emacs Lisp Reference Manual with the
-collection of documentation strings of Emacs Lisp functions.)
+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.
+@ignore
+@c Bradley M. Kuhn is working on this. <bkuhn@ebb.org>
@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.
+@end ignore
@item
A manual for PIC (the graphics formatting language).
are written as they are.
@item
-A manual for programming X-window applications.
+A manual for programming applications for X11.
@item
Manuals for various X window managers.
Compiler, Make, Texinfo, Termcap, and maybe the C Library.
@item
-Many utilities need documentation, including @code{grep} and others.
+Many utilities still need documentation.
@end itemize
-@node Unix-Related Projects
+@node Unix-Related Projects, Kernel Projects, Documentation, Top
@chapter Unix-Related Projects
@itemize @bullet
-@item
-An improved version of the POSIX utility @code{pax}. There is one on
-Usenet, but it is said to be poorly written. Talk with
-@email{thomas@@gnu.org}, @email{pinard@@iro.umontreal.ca} and
-@email{juo@@klinzhai.rutgers.edu} for advice about this project.
-
@ignore
@item
Modify the GNU @code{dc} program to use the math routines of GNU
@code{bc}.
@end ignore
-@item
-A @code{grap} preprocessor program for @code{troff}.
-
@item
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 programs.
+with Unix is not especially important for this program.
+
+@item
+Rewrite @code{indent} from scratch to make it cleaner.
+
+@item
+Write a free software replacement for the @code{agrep} program.
+
@end itemize
-@node Kernel Projects
+@node Kernel Projects, Extensions, Unix-Related Projects, Top
@chapter Kernel-Related Projects
@itemize @bullet
@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, X Windows Projects, Kernel Projects, Top
@chapter Extensions to Existing GNU Software
@itemize @bullet
to run on Khoros.
@item
-Rewrite GNU @code{sed} completely, to make it cleaner.
-
-@item
-Rewrite Automake and Deja-GNU in Scheme, so they can run in Guile.
-Right now they are written in Perl and TCL, respectively. There are
-also other programs, not terribly long, which we would also like
-to have rewritten in Scheme.
-
-Deja-GNU uses TCL via Expect. It may be easy to adapt Expect
-to work with Scheme instead of TCL.
+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
Finish the partially-implemented C interpreter project.
@item
An @code{nroff} macro package to simplify @code{texi2roff}.
-@item
-An implementation of XML (see @uref{http://www.w3.org/XML/}).
-
@item
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
-@email{tron@@veritas.com} about this.
-
-Smail also needs a new chief maintainer.
+@email{tron@@veritas.com} and @email{woods@@weird.com} about this.
-@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.)
@end itemize
-@node X Windows Projects
+@node X Windows Projects, Network Projects, Extensions, Top
@chapter X Windows Projects
@itemize @bullet
@item
An emulator for Macintosh graphics calls on top of X Windows.
+@item
+
+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.
+
+@ignore
+@c GNOME Basic is doing this
+@item
+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 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
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 program to edit dance notation (such as labanotation) and display
-dancers moving on the screen.
@item
Make sure the Vibrant toolkit works with LessTif instead of Motif.
A program to display and edit Hypercard stacks.
@item
-An interactive 3D modeling utility with rendering/raytracing capabilities.
+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
+
+@item
+Software for designing and printing business cards.
@end itemize
-@node Encryption Projects
+@node Network Projects, Encryption Projects, X Windows Projects, Top
+@chapter Network Projects
+
+@itemize @bullet
+@ignore
+@c www.openh323.org is doing this. Craig Southeren <craigs@equival.com.au>
+@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
+
+@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
@itemize @bullet
@item
-A free library for public-key encryption.
-
-This library should use the Diffie-Helman algorithm for public key
-encryption, not the RSA algorithm, because the Diffie-Helman patent in
-the US expired in 1997. This library can probably be developed from
-the code for the GNU Privacy Guard (now in development).
-
+A free library for public-key encryption. This library can probably be
+developed from the code for the GNU Privacy Guard.
+
@item
-A free secure telnet program more or less like ssh/sshd. Since this
-requires a public key encryption algorithm, it should be based
-on the library above.
-
-This program should follow the draft standard for ssh. As always, it
-cannot implement the RSA algorithm, but must instead support the
-alternatives that will be patent-free in late 1997. It cannot support
-IDEA, but can use triple-DES and/or Blowfish or other non-patented
-alternatives.
+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.
@item
Free software for doing secure commercial transactions on the web.
This too needs public key encryption.
@end itemize
-A free replacement for PGP is no longer listed here because the GNU
-Privacy Guard will do that job.
-
-@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 @email{gnu@@gnu.org}.
+send them to @email{tasks@@gnu.org}.
@itemize @bullet
+@ignore OpenBIOS 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
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.
-
-@item
-A free program that can transfer files on a serial line
-using the same protocol that Kermit uses.
+@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 general ledger program, including support for accounts payable,
account receivables, payroll, inventory control, order processing, etc.
+@end ignore
@item
-A teleconferencing program which does the job of CU-SeeMe (which is,
-alas, not free software).
+A free replacement for Glimpse, which is not free software.
+Swish does some parts of the job, but not all.
@item
-A free replacement for Glimpse, which is not free software.
+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, to make it easier to read on
paper. For ideas on what to do, see the book,
@end display
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
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
High-quality music compression software.
-(Talk with @email{phr@@netcom.com} for relevant suggestions.)
+(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
A program to play sound distributed in ``Real Audio'' format.
@item
An MPEG III audio encoder/decoder (but it is necessary to check, first,
whether patents make this impossible).
-@end ignore
+@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
-Speech-generation programs (there is a program from Brown U that you
-could improve).
+Speech-generation programs that are faster than the Festival engine.
+This might be done by optimizing Festival.
+@c We have a project now.
@item
Speech-recognition programs (single-speaker, disconnected speech is sufficient).
+@end ignore
+
+@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
More scientific mathematical subroutines.
(A clone of SPSS is being written already.)
-@item
-Statistical tools.
-
@item
A scientific data collection and processing tool,
perhaps something like Scientific Workbench and/or Khoros,
@item
-Software to replace card catalogues in libraries.
+A program to calculate properties of molecules by solving
+the Schroedinger equation.
@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.
+Software to replace card catalogs in libraries.
@item
-Grammar and style checking programs.
+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
@item
-A translator from Scheme to C.
+A package for editing genealogical records conveniently.
+This could perhaps be done as a Gnome program, or perhaps
+as an Emacs extension.
+
+@ignore
+@c ToutDoux aims to do this.
+
+@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
-A fast emulator for the i386 which works by translating
-machine instructions into the machine language of the host machine.
-(Support for emulation of other machines would enhance the program
-but might make it much more difficult.)
+Grammar and style checking programs.
@item
-A map display or geographic information system.
+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 Postscript.
+A program to scan a line drawing and convert it to editable Postscript,
+or some other editable format.
@item
-A program to recognize handwriting.
+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
A pen based interface.
@item
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
+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, Cobol, Fortran 90, or whatever, to be
-used with the code generation phases of the GNU C compiler.
+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@gnu.org and the volunteer coordinators
@c don't have to answer the question -len
finger -l fortran@@gnu.org
@end example
-@node 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
+A programm 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.
simulation games.
@item
-Improve GnuGo, which is not yet very sophisticated.
+Improve GnuGo @uref{http://www.gnu.org/software/gnugo/gnugo.html}, which is not yet very sophisticated.
+
+@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
Write imitations of some popular video games:
@item
Biomorph evolution (as in Scientific American and @cite{The Blind
Watchmaker}).
-@item
-A program to display effects of moving at relativistic speeds.
@end itemize
@end itemize
@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:
update-date-leading-regexp: "@c This date is automagically updated when you save this file:\n@set lastupdate "
update-date-trailing-regexp: ""
eval: (load "/gd/gnuorg/update-date.el")
eval: (add-hook 'write-file-hooks 'update-date)
+compile-command: "make just-tasks"
End: