summaryrefslogtreecommitdiff
path: root/etc/tasks.texi
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1993-11-23 07:00:40 +0000
committerRichard M. Stallman <rms@gnu.org>1993-11-23 07:00:40 +0000
commit0b7649a04df6b96bd21b8f64af47acd8710f5018 (patch)
treebd7c3bacfbb3f60e8cba97818ff65daf67ef3231 /etc/tasks.texi
parent3b6d7a70d3341b12dea691b07d8393fe6c1741a9 (diff)
downloademacs-0b7649a04df6b96bd21b8f64af47acd8710f5018.tar.gz
Initial revision
Diffstat (limited to 'etc/tasks.texi')
-rw-r--r--etc/tasks.texi440
1 files changed, 440 insertions, 0 deletions
diff --git a/etc/tasks.texi b/etc/tasks.texi
new file mode 100644
index 00000000000..d408203a1f6
--- /dev/null
+++ b/etc/tasks.texi
@@ -0,0 +1,440 @@
+\input texinfo @c -*-texinfo-*-
+@c %**start of header
+@setfilename tasks.info
+@settitle GNU Task List
+@c UPDATE THIS DATE WHENEVER YOU MAKE CHANGES!
+@set lastupdate 16 July 1993
+@c %**end of header
+
+@setchapternewpage off
+
+@ifinfo
+Copyright (C) 1993 Free Software Foundation
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+@ignore
+Permission is granted to process this file through TeX and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+@end ignore
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation approved
+by the Free Software Foundation.
+@end ifinfo
+
+@titlepage
+@title GNU Task List
+@author Richard Stallman
+@author last updated @value{lastupdate}
+@page
+
+@vskip 0pt plus 1filll
+Copyright @copyright{} 1993 Free Software Foundation
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation approved
+by Free Software Foundation.
+@end titlepage
+
+@ifinfo
+@node Top, Documentation, (dir), (dir)
+@top Version
+
+Last updated @value{lastupdate}.
+@end ifinfo
+
+Check with 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 gnu@@prep before you start writing it.
+
+@menu
+* Documentation::
+* Unix-related projects::
+* Kernel-related projects::
+* Extensions to existing GNU software::
+* X windows projects::
+* Other random projects::
+* Compilers for other batch languages::
+* Games and recreations::
+@end menu
+
+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.
+
+@node Documentation, Unix-related projects, Top, Top
+@chapter Documentation
+
+We very urgently need documentation for some parts of the system
+that already exist or will exist very soon:
+
+@itemize @bullet
+
+@item
+A C reference manual. (RMS has written half of one which you could
+start with).
+
+@item
+A manual for Ghostscript.
+
+@item
+A manual for CSH.
+
+@item
+A manual for PIC (the graphics formatting language).
+
+@item
+A manual for Perl. (The manual that exists is not free, and
+is thus not available to be part of the GNU system.)
+
+@item
+A manual for Oleo.
+
+@item
+A book on how GCC works and why various machine descriptions
+are written as they are.
+
+@item
+A manual for programming X-window applications.
+
+@item
+Manuals for various X window managers.
+
+@item
+Reference cards for those manuals that don't have them: Gawk, C
+Compiler, Make, Texinfo, Termcap and maybe the C Library.
+
+@item
+Many utilities need documentation, including @code{grep}, @code{cpio},
+@code{find}, @code{less}, and the other small utilities.
+
+@end itemize
+
+@node Unix-related projects, Kernel-related projects, Documentation, Top
+@chapter Unix-related projects
+
+@itemize
+
+@item
+We could use an emulation of Unix @code{spell}, which would run by
+invoking @code{ispell}.
+
+@item
+Less urgent: @code{diction}, @code{explain}, @code{style}.
+
+@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
+mib@@gnu.ai.mit.edu about this project.
+
+@item
+Modify the GNU @code{dc} program to use the math routines of GNU
+@code{bc}.
+
+@item
+A @code{grap} preprocessor program for @code{troff}.
+
+@item
+Various other libraries.
+
+@item
+An emulation of SCCS that works using RCS.
+
+@end itemize
+
+@node Kernel-related projects, Extensions to existing GNU software, Unix-related projects, Top
+@chapter Kernel-related projects
+
+@itemize
+
+@item
+An over-the-ethernet debugger that will allow the kernel to be
+debugged from GDB running on another machine.
+
+@item
+A shared memory X11 server to run under MACH is very desirable. The
+machine specific parts should be kept well separated.
+
+@end itemize
+
+@node Extensions to existing GNU software, X windows projects, Kernel-related projects, Top
+@chapter Extensions to existing GNU software
+
+@itemize
+
+@item
+Enhance GCC. See files PROJECTS and PROBLEMS in the GCC distribution.
+
+@item
+GNU @code{sed} probably needs to be rewritten completely just to make it
+cleaner.
+
+@item
+Add a few features to GNU @code{diff}, such as handling large input
+files without reading entire files into core.
+
+@item
+Extend GDB with an X-based graphical interface better than @code{xxgdb}.
+
+@item
+An @code{nroff} macro package to simplify @code{texi2roff}.
+
+@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
+tron@@veritas.com about this.
+
+@item
+Cross-referencing, flow graph, and execution trace programs for C and
+other languages, like @code{cxref}, @code{cflow}, and @code{ctrace}.
+
+@end itemize
+
+@node X windows projects, Other random projects, Extensions to existing GNU software, Top
+@chapter X windows projects
+
+@itemize
+
+@item
+An emulator for Macintosh graphics calls on top of X Windows.
+
+@item
+An emulator for Microsoft windows calls on top of X Windows. (A
+commercial program to do this took just three months to write.)
+
+@item
+A music playing and editing system.
+
+@item
+A program to edit dance notation (such as labanotation) and display
+dancers moving on the screen.
+
+@item
+A library for displaying circle-shaped menus with X windows.
+
+@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.
+
+@item
+A desktop program with icons and such, for X-windows.
+
+@item
+A paint program, supporting both bitmap-oriented operations and
+component-oriented operations. @code{xpaint} exists, but isn't very
+usable.
+
+@end itemize
+
+@node Other random projects, Compilers for other batch languages, X windows projects, Top
+@chapter Other random projects
+
+If you think of others that should be added, please
+send them to gnu@@prep.ai.mit.edu.
+
+@itemize
+
+@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.
+
+@item
+A program to convert compiled programs represented in OSF ANDF
+(``Architecture Neutral Distribution Format'') into ANSI C.
+
+@item
+An imitation of Page Maker or Ventura Publisher.
+
+@item
+An imitation of @code{dbase2} or @code{dbase3} (How dbased!)
+
+@item
+A program to reformat Fortran programs in a way that is pretty.
+
+@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.
+
+@item
+A general ledger program.
+
+@item
+A single command language that could be suitable for use in a shell, in
+GDB for programming debugging commands, in a program like @code{awk}, in
+a calculator like @code{bc}, and so on. The fact that all these
+programs are similar but different in peculiar details is a great source
+of confusion. We are stuck with maintaining compatibility with Unix in
+our shell, @code{awk}, and @code{bc}, but nothing prevents us from
+having alternative programs using our new, uniform language. This would
+make GNU far better for new users.
+
+@item
+A program to typeset C code for printing.
+For ideas on what to do, see the forthcoming book,
+
+@display
+Human Factors and Typography for More Readable Programs,
+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.)
+
+@item
+Speech-generation programs (there is a program from Brown U that you
+could improve).
+
+@item
+Speech-recognition programs (single-speaker, disconnected speech).
+
+@item
+Scientific mathematical subroutines, including clones of SPSS.
+
+@item
+Statistical tools.
+
+@item
+Software to replace card catalogues in libraries.
+
+@item
+Grammar and style checking programs.
+
+@item
+An implementation of the S language.
+
+@item
+A translator from Scheme to C.
+
+@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.
+
+You don't need scanning hardware to work on OCR. We can send you
+bitmaps you can use as test data.
+
+@item
+A program to scan a line drawing and convert it to Postscript.
+
+@item
+A program to recognize handwriting.
+
+@item
+A pen based interface.
+
+@item
+Software suitable for creating virtual reality user interfaces.
+
+@item
+CAD software, such as a vague imitation of Autocad.
+
+@item
+Software for displaying molecules.
+
+@item
+Software for comparing DNA sequences, and finding matches and
+alignments.
+
+@end itemize
+
+@node Compilers for other batch languages, Games and recreations, Other random projects, Top
+@chapter Compilers for other batch 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++ is done, and
+Ada, Fortran, Pascal and Modula are being worked on.)
+
+@node Games and recreations, , Compilers for other batch languages, Top
+@chapter Games and recreations
+
+@itemize
+
+@item
+Video-oriented games should work with the X window system.
+
+@item
+Empire (there is a free version but it needs upgrading)
+
+@item
+Imitations of popular video games:
+
+@itemize
+@item
+Space war, Asteroids, Pong, Columns.
+@item
+Defending cities from missiles.
+@item
+Plane shoots at lots of other planes.
+@item
+Wizard fights fanciful monster.
+@item
+A golf game.
+@item
+Program a robot by sticking building blocks together,
+then watch it explore a world.
+@item
+Biomorph evolution (as in Scientific American).
+@item
+A program to display effects of moving at relativistic speeds.
+@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