Check with email@example.com, for a possibly more current
copy. You can also ftp it from a GNU FTP host in directory
`/pub/gnu/tasks' - These files in different formats are available:
`tasks.text', `tasks.texi', `tasks.info', and
`tasks.dvi'. It is also available on the GNU World Wide Web
If you start working steadily on a project, please let gnu@prep
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.
In general, a new program that does a completely new job advances the
GNU project more than an improvement to an existing program.
An over-the-ethernet debugger stub that will allow the kernel to be
debugged from GDB running on another machine.
This stub needs its own self-contained implementation of all protocols
to be used, since the GNU system will use user processes to implement
all but the lowest levels, and the stub won't be able to use those
processes. If a simple self-contained implementation of IP and TCP is
impractical, it might be necessary to design a new, simple protocol
based directly on ethernet. It's not crucial to support high speed or
communicating across gateways.
It might be possible to use the Mach ethernet driver code, but it would
need some changes.
A shared memory X11 server to run under MACH is very desirable. The
machine specific parts should be kept well separated.
An implementation of CIFS, the "Common Internet File System," for the
HURD. This protocol is an offshoot of SMB.
Enhance GCC. See files `PROJECTS' and `PROBLEMS' in the GCC
Rewrite GNU sed completely, to make it cleaner.
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.
Finish the partially-implemented C interpreter project.
Help with the development of GNUStep, a GNU implementation of the
Add features to GNU Make to record the precise rule with which each file
was last recompiled; then recompile any file if its rule in the makefile
Add a few features to GNU diff, such as handling large input
files without reading entire files into core.
An nroff macro package to simplify 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
firstname.lastname@example.org about this.
Smail also needs a new chief maintainer.
Enhanced cross-reference browsing tools. (We now have something at
about the level of cxref.) We also could use something like
ctrace. (Some people are now working on this project.)
If you think of others that should be added, please
send them to email@example.com.
A free program for public-key encryption.
This program should use the Diffie-Helman algorithm for public key
encryption, not the RSA algorithm, because the Diffie-Helman patent in
the US will expire in 1997. It should use triple-DES, not IDEA, for
block encryption because IDEA is patented in many countries and the
patents will not expire soon. In other respects, it should be like PGP.
This program needs to be written by someone who is not a US citizen,
outside the US, to avoid problems with US export control law.
Many people believe that PGP is free software, but that is not actually
true. The distribution terms set by the copyright holders do not allow
everyone to use and redistribute it.
A program to convert compiled programs represented in OSF ANDF
("Architecture Neutral Distribution Format") into ANSI C.
An imitation of Page Maker or Ventura Publisher.
An imitation of dbase2 or dbase3 (How dbased!)
A program to reformat Fortran programs in a way that is pretty.
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 general ledger program, including support for accounts payable,
account receivables, payroll, inventory control, order processing, etc.
A teleconferencing program which does the job of CU-SeeMe (which is,
alas, not free software).
A program to typeset C code for printing.
For ideas on what to do, see the book,
Human Factors and Typography for More Readable Programs,
Ronald M. Baecker and Aaron Marcus,
Addison-Wesley, ISBN 0-201-10745-7
(I don't quite agree with a few of the details they propose.)
Speech-generation programs (there is a program from Brown U that you
Speech-recognition programs (single-speaker, disconnected speech is sufficient).
A program to play sound distributed in "Real Audio" format.
A program to generate "Real Audio" format from audio input.
More scientific mathematical subroutines.
(A clone of SPSS is being written already.)
Software to replace card catalogues in libraries.
Grammar and style checking programs.
An implementation of the S language (an interpreted language used for
A translator from Scheme to C.
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.
A program to scan a line drawing and convert it to Postscript.
A program to recognize handwriting.
A pen based interface.
CAD software, such as a vague imitation of Autocad.
Software for comparing DNA sequences, and finding matches and
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. (C, C++, and
Objective-C are done; Fortran 77 is mostly done; Ada, Pascal, and Java
are being worked on.)
You can get the status of the Fortran front end with this command: