*** empty log message ***
[bpt/emacs.git] / etc / tasks.texi
CommitLineData
bb5d4e1a
RS
1\input texinfo @c -*-texinfo-*-
2@c %**start of header
3@setfilename tasks.info
4@settitle GNU Task List
fff05d88 5@c This date is automagically updated when you save this file:
76eebffc 6@set lastupdate October 11, 2000
bb5d4e1a
RS
7@c %**end of header
8
9@setchapternewpage off
10
bb5d4e1a
RS
11@titlepage
12@title GNU Task List
d6eb79ad 13@author Free Software Foundation
bb5d4e1a 14@author last updated @value{lastupdate}
bb5d4e1a
RS
15@end titlepage
16
17@ifinfo
55616d18 18@node Top, Intro, (dir), (dir)
d9e60f52 19@top GNU Task List
bb5d4e1a 20
d6eb79ad 21This file is updated automatically from @file{tasks.texi}, which was
0848ab8f
BY
22last updated on @value{lastupdate}. See also
23@uref{http://www.gnu.org/help/help.html#helpgnu} for other suggested
24tasks.
bb5d4e1a
RS
25@end ifinfo
26
bb5d4e1a 27@menu
6af1f598
JWI
28* Intro::
29* Highest Priority::
30* Documentation::
31* Unix-Related Projects::
32* Kernel Projects::
33* Extensions::
34* X Windows Projects::
35* Network Projects::
36* Encryption Projects::
37* Other Projects::
38* Languages::
39* Games and Recreations::
bb5d4e1a
RS
40@end menu
41
6af1f598 42@node Intro, Highest Priority, Top, Top
c05524ad
RS
43@chapter About the GNU Task List
44
7c4978a8 45If you did not obtain this file directly from the GNU project and
9459fac1
JG
46recently, please check for a newer version. You can ftp the task list
47from any GNU FTP host in directory @file{/pub/gnu/tasks/}. The task
7c4978a8 48list is available there in several different formats: @file{tasks.text},
541d49e1
JG
49@file{tasks.texi}, @file{tasks.info}, and @file{tasks.dvi}. The GNU
50HURD task list is also there in file @file{tasks.hurd}.
51@c to fix an overfill, join the paragraphs -len
7c4978a8 52The task list is also available on the GNU World Wide Web server:
fff05d88 53@uref{http://www.gnu.org/prep/tasks_toc.html}.
c05524ad 54
fff05d88 55If you start working steadily on a project, please let @email{gvc@@gnu.org}
d9e60f52
DM
56know. We might have information that could help you; we'd also like to
57send you the GNU coding standards.
bb5d4e1a 58
c05524ad
RS
59Because of the natural tendency for most volunteers to write programming
60tools or programming languages, we have a comparative shortage of
61applications useful for non-programmer users. Therefore, we ask you to
62consider writing such a program.
bb5d4e1a 63
d17fd035
RS
64Typically, a new program that does a completely new job advances
65the GNU project, and the free software community, more than an
66improvement to an existing program.
67
68Typically, new features or new programs advance the free software
69community more, in the long run, than porting existing programs. One
70reason is that portable new features and programs benefit people on many
71platforms, not just one. At the same time, there tend to be many
72volunteers for porting---so your help will be more valuable in other
73areas, where volunteers are more scarce.
74
75Typically, it is more useful to extend a program in functionality than
76to improve performance. Users who use the new functionality will
77appreciate it very much, if they use it; but even when they benefit from
78a performance improvement, they may not consider it very important.
bb5d4e1a 79
76eebffc
GM
80Finally, if you think of an important job that free software cannot
81solve yet that is typically solved by proprietary software, please send
82a short description of that job to @email{tasks@@gnu.org} so that we can
83add it to this task list.
84
6af1f598 85@node Highest Priority, Documentation, Intro, Top
7c4978a8
RS
86@chapter Highest Priority
87
88This task list mentions a large number of tasks that would be more or
89less useful. With luck, at least one of them will inspire you to start
90writing. It's better for you to work on any task that inspires you than
91not write free software at all.
92
93But if you would like to work on what we need most, here is a list of
94high priority projects.
95
96@itemize @bullet
76eebffc
GM
97
98@item
99A new maintainer is needed for Goose
100@url{http://www.gnu.org/software/goose/goose.html}.
101
7c4978a8 102@item
632c6364 103If you are good at writing documentation, please do that.
7c4978a8
RS
104
105@item
106If you are very good at C programming and interested in kernels, you can
541d49e1 107help develop the GNU HURD, the kernel for the GNU system. Please have a
fff05d88 108look at @uref{http://www.gnu.org/software/hurd/hurd.html}, and
541d49e1
JG
109then get a copy of the latest HURD task list from:
110
111@itemize @bullet
112
113@item
fff05d88 114@uref{http://www.gnu.org/prep/tasks.hurd.html}, via the World Wide
541d49e1
JG
115Web.
116
117@item
fff05d88 118@uref{ftp://ftp.gnu.org/pub/gnu/tasks/tasks.hurd}, via anonymous FTP.
541d49e1
JG
119
120@item
76eebffc 121@email{gvc@@gnu.org} via e-mail.
541d49e1
JG
122
123@end itemize
7c4978a8
RS
124
125@item
541d49e1 126If you are a Scheme fan, you can help develop Guile. Please have a look
fff05d88
RS
127at the URL @uref{http://www.gnu.org/software/guile/guile.html}
128and then contact the Guile developers at @email{guile@@gnu.org}.
7c4978a8 129
76eebffc
GM
130@item
131Improve the facilities for translating other languages into Scheme,
132so that Guile can provide support for a variety of languages.
133
9dde84c6
RS
134@item
135A package to convert programs written using MS Access into Scheme,
136making use of a free data base system and the GTK toolkit.
137
acb0ff5c 138@ignore
7c4978a8 139@item
0f82d9d8 140Help develop XmHTML. See @uref{http://www.xs4all.nl/~ripley/XmHTML/}.
acb0ff5c 141@end ignore
7c4978a8
RS
142
143@item
fff05d88
RS
144Help develop software to emulate Windows NT on top of GNU systems.
145For example, you could help work on Willows Twin.
0f82d9d8 146See @uref{http://www.willows.com/}.
7c4978a8 147
76eebffc
GM
148@item
149Add gettext support to GNU programs that don't have it already. (Please
150contact the developers of the specific packages that you want to work
151on.)
152
f00afe93
RS
153@ignore The Kermit developers say they will provide a free program
154to do this.
7c4978a8
RS
155@item
156Implement the Kermit data transfer protocol. (See below.)
f00afe93 157@end ignore
7c4978a8 158
fff05d88 159@ignore This is being done (Harmony)
7c4978a8 160@item
632c6364
RS
161Develop a free compatible replacement for Qt, a GUI toolkit library. Qt
162is not free software, because users are prohibited from distributing
163modified versions. Thus, Qt cannot be included in a free operating
164system (adding it would make the system as a whole non-free).
165
166But some developers are writing free applications that use Qt and cannot
167run without it. These programs, although free software, are useless for
168free operating systems because there is no way to make them run.
169
170This is leading to a serious problem, and a free replacement for Qt is
171the only solution. Hence the high degree of urgency of this project.
fff05d88
RS
172@end ignore
173
7c4978a8
RS
174@item
175Develop a substitute, which runs on GNU systems, for some very popular
176or very important application that many non-programmers use on Windows,
177and which has no comparable free equivalent now.
178@end itemize
179
6af1f598 180@node Documentation, Unix-Related Projects, Highest Priority, Top
bb5d4e1a
RS
181@chapter Documentation
182
fff05d88
RS
183We very urgently need documentation for many existing parts of the
184system.
185
186Note that there are proprietary manuals for many of these topics, but
0f82d9d8
RS
187proprietary manuals do not count, for the same reason proprietary
188software does not count: we are not free to copy and modify them.
189We do not recommend any non-free materials as documentation.
bb5d4e1a
RS
190
191@itemize @bullet
242621f3 192@item
24fad2a2 193A manual for libstdc++.
242621f3 194
0f82d9d8
RS
195@item
196A unified manual for La@TeX{}. (Existing documentation is non-free.)
197
198@item
f1679dc8 199A manual for Docbook SGML format.
0f82d9d8
RS
200
201@item
f1679dc8 202A tutorial introduction to Midnight Commander.
0f82d9d8
RS
203
204@item
205A thorough manual for RCS.
206
207@item
208A reference manual for Mach.
209
210@item
211A reference manual for the GNU Hurd features in GNU libc.
212
213@item
214A manual for writing Hurd servers.
215
acb0ff5c
BY
216@item
217A manual for GNU sed.
218
fff05d88 219@item
0f82d9d8
RS
220Reference manuals for C++, Objective C, Pascal, Fortran 77, and Java.
221
222@item
223A tutorial manual for the C++ STL (standard template library).
224
3c307b90 225@item
1eb87eaf 226A tutorial manual for Gforth.
3c307b90 227
0f82d9d8
RS
228@item
229GNU Objective-C Runtime Library Manual; this would be a reference manual
230for the runtime library functions, structures, and classes. Some work
231has been done on this job.
232
233@item
234Manuals for GNUstep: developer tutorial, developer programming manual,
235developer reference manual, and user manual.
fff05d88 236
bb5d4e1a
RS
237@item
238A manual for Ghostscript.
c05524ad 239
c05524ad
RS
240@item
241A manual for TCSH.
bb5d4e1a
RS
242
243@item
dc32c4fa
RS
244A coherent free reference manual for Perl. Most of the Perl on-line
245reference documentation can be used as a starting point, but work is
246needed to weld them together into a coherent manual.
bb5d4e1a 247
76eebffc
GM
248@ignore
249@c Bradley Kuhn is working on this. <bkuhn@ebb.org>
bb5d4e1a 250@item
fff05d88
RS
251A good free Perl language tutorial introduction. The existing Perl
252introductions are published with restrictions on copying and
253modification, so that they cannot be part of a GNU system.
76eebffc 254@end ignore
fff05d88
RS
255
256@item
257A manual for PIC (the graphics formatting language).
bb5d4e1a
RS
258
259@item
260A book on how GCC works and why various machine descriptions
261are written as they are.
262
263@item
0f82d9d8 264A manual for programming applications for X11.
bb5d4e1a
RS
265
266@item
267Manuals for various X window managers.
268
269@item
261597d4 270Reference cards for those manuals that don't have them: C
c05524ad 271Compiler, Make, Texinfo, Termcap, and maybe the C Library.
bb5d4e1a
RS
272
273@item
76eebffc 274Many utilities still need documentation.
bb5d4e1a
RS
275@end itemize
276
6af1f598 277@node Unix-Related Projects, Kernel Projects, Documentation, Top
d9e60f52 278@chapter Unix-Related Projects
bb5d4e1a 279
d9e60f52 280@itemize @bullet
5aba97f2 281@ignore
bb5d4e1a
RS
282@item
283Modify the GNU @code{dc} program to use the math routines of GNU
284@code{bc}.
5aba97f2 285@end ignore
bb5d4e1a 286
bb5d4e1a 287@item
fff05d88
RS
288Less urgent: make a replacement for the ``writer's workbench'' program
289@code{style}, or something to do the same kind of job. Compatibility
f5c525cd 290with Unix is not especially important for this program.
76eebffc
GM
291
292@item
293Rewrite @code{indent} from scratch to make it cleaner.
294
295@item
296Write a free software replacement for the @code{agrep} program.
297
bb5d4e1a
RS
298@end itemize
299
6af1f598 300@node Kernel Projects, Extensions, Unix-Related Projects, Top
d9e60f52 301@chapter Kernel-Related Projects
bb5d4e1a 302
d9e60f52 303@itemize @bullet
bb5d4e1a 304@item
5aba97f2 305An over-the-ethernet debugger stub that will allow the kernel to be
bb5d4e1a
RS
306debugged from GDB running on another machine.
307
5aba97f2
RS
308This stub needs its own self-contained implementation of all protocols
309to be used, since the GNU system will use user processes to implement
310all but the lowest levels, and the stub won't be able to use those
311processes. If a simple self-contained implementation of IP and TCP is
312impractical, it might be necessary to design a new, simple protocol
313based directly on ethernet. It's not crucial to support high speed or
314communicating across gateways.
315
316It might be possible to use the Mach ethernet driver code, but it would
317need some changes.
318
bb5d4e1a
RS
319@item
320A shared memory X11 server to run under MACH is very desirable. The
321machine specific parts should be kept well separated.
c05524ad
RS
322
323@item
324An implementation of CIFS, the ``Common Internet File System,'' for the
325HURD. This protocol is an offshoot of SMB.
c6d6677e
RS
326
327@item
328Support (in Linux?) for dumping the non-textual contents of an SVGA
329console.
bb5d4e1a
RS
330@end itemize
331
6af1f598 332@node Extensions, X Windows Projects, Kernel Projects, Top
d9e60f52 333@chapter Extensions to Existing GNU Software
bb5d4e1a 334
d9e60f52 335@itemize @bullet
bb5d4e1a 336@item
d9e60f52
DM
337Enhance GCC. See files @file{PROJECTS} and @file{PROBLEMS} in the GCC
338distribution.
bb5d4e1a 339
a81ed99e
RS
340@item
341Interface GDB to Guile, so that users can write debugging commands in
342Scheme. This would also make it possible to write, in Scheme, a
fff05d88
RS
343graphical interface that uses GTK and is tightly integrated into GDB.
344
345@item
346Extend Octave to support programs that were written
347to run on Khoros.
a81ed99e 348
2eebaacd 349@item
d71de6f9
JWI
350Rewrite Automake in Scheme, so it can run in Guile. Right now it is
351written in Perl. There are also other programs, not terribly long,
352which we would also like to have rewritten in Scheme.
fff05d88 353
b6a061a8
RS
354@item
355Finish the partially-implemented C interpreter project.
2eebaacd
RS
356
357@item
fff05d88 358Help with the development of GNUstep, a GNU implementation of the
2eebaacd
RS
359OpenStep specification.
360
5aba97f2
RS
361@item
362Add features to GNU Make to record the precise rule with which each file
363was last recompiled; then recompile any file if its rule in the makefile
364has changed.
365
bb5d4e1a
RS
366@item
367Add a few features to GNU @code{diff}, such as handling large input
368files without reading entire files into core.
369
bb5d4e1a
RS
370@item
371An @code{nroff} macro package to simplify @code{texi2roff}.
372
373@item
374A queueing system for the mailer Smail that groups pending work by
375destination rather than by original message. This makes it possible
376to schedule retries coherently for each destination. Talk to
76eebffc 377@email{tron@@veritas.com} and @email{woods@@weird.com} about this.
bb5d4e1a 378
5aba97f2
RS
379@item
380Enhanced cross-reference browsing tools. (We now have something at
381about the level of @code{cxref}.) We also could use something like
382@code{ctrace}. (Some people are now working on this project.)
bb5d4e1a
RS
383@end itemize
384
6af1f598 385@node X Windows Projects, Network Projects, Extensions, Top
d9e60f52 386@chapter X Windows Projects
bb5d4e1a 387
d9e60f52 388@itemize @bullet
bb5d4e1a
RS
389@item
390An emulator for Macintosh graphics calls on top of X Windows.
391
0f82d9d8 392@item
0f82d9d8 393
76eebffc
GM
394A package that emulates the API of Visual C++'s Foundation Classes
395(MFC), but operates on top of X11. It need not match the screen
396appearance provided by MFC. Instead, it would be best to use GTK, so as
397to give coherence with GNOME.
398
399@ignore
400@c GNOME Basic is doing this
0f82d9d8
RS
401@item
402A compatible replacement for Visual Basic, running on top of X11.
403It need not match the screen appearance of Visual C++. Instead,
404it would be best to use GTK, so as to give coherence with GNOME.
76eebffc 405@end ignore
0f82d9d8 406
76eebffc
GM
407@ignore
408@c Denemo is doing this.
bb5d4e1a 409@item
ca0afed9 410A music playing and editing system. This should work with LilyPond, a
fff05d88 411GNU program for music typesetting.
76eebffc 412@end ignore
0f82d9d8 413
acb0ff5c 414@ignore @c GNUskies should do this
fff05d88
RS
415@item
416An ephemeris program to replace xephem (which is, alas, too restricted
417to qualify as free software).
acb0ff5c 418@end ignore
7263f2f7 419
76eebffc
GM
420@c Gepetto (@url{http://laurent.riesterer.free.fr/gepetto/intro-main.html},
421@c @email{laurent.riesterer@@free.fr}), according to @email{gnueval@@gnu.org},
422@c does the job of displaing dancers but does not allow editing notation.
423
bb5d4e1a
RS
424@item
425A program to edit dance notation (such as labanotation) and display
76eebffc
GM
426dancers moving on the screen. Gepetto done some of this work. Contact
427@email{gvc@@gnu.org} if you are interested in helping finish the job.
bb5d4e1a 428
b10fca68 429@item
fff05d88 430Make sure the Vibrant toolkit works with LessTif instead of Motif.
b10fca68 431
bb5d4e1a
RS
432@item
433A program to display and edit Hypercard stacks.
434
acb0ff5c
BY
435@item
436A two-dimensional outliner program, which lets you draw
437graph structures of textual items, and then display them
438in various ways.
439
76eebffc 440@ignore @c done
c05524ad
RS
441@item
442A program for graphic morphing of scanned photographs.
76eebffc 443@end ignore
0f82d9d8
RS
444
445@item
446Software for designing and printing business cards.
bb5d4e1a
RS
447@end itemize
448
6af1f598 449@node Network Projects, Encryption Projects, X Windows Projects, Top
ab9ca9c7
JWI
450@chapter Network Projects
451
452@itemize @bullet
3b72e81d
JE
453@ignore
454@c www.openh323.org is doing this. Craig Southeren <craigs@equival.com.au>
ab9ca9c7
JWI
455@item
456A teleconferencing program which does the job of CU-SeeMe (which is,
457alas, not free software).
3b72e81d 458@end ignore
ab9ca9c7 459
2f845c34
KH
460@ignore
461@c Bishop Bettini <bishop@synxcti.com> is working on this.
ab9ca9c7
JWI
462@item
463A free ICQ-compatible server program. (The ICQ server itself is not
464free software.)
2f845c34
KH
465@end ignore
466
ab9ca9c7
JWI
467@end itemize
468
6af1f598 469@node Encryption Projects, Other Projects, Network Projects, Top
ca0afed9 470@chapter Encryption Projects
bb5d4e1a 471
ca0afed9
RS
472These projects need to be written outside the US by people who are not
473US citizens, to avoid problems with US export control law.
bb5d4e1a 474
d9e60f52 475@itemize @bullet
c05524ad 476@item
76eebffc
GM
477A free library for public-key encryption. This library can probably be
478developed from the code for the GNU Privacy Guard.
479
dc32c4fa 480@item
76eebffc
GM
481An implementation of SSLv3 (more precisely, TLSv1) which has
482distribution terms compatible with the GNU GPL. We know of a
483GPL-covered implemention of a version of SSL that you can use as a
484starting point.
dc32c4fa 485
bb5d4e1a 486@item
eee331a5
RS
487Free software for doing secure commercial transactions on the web.
488This too needs public key encryption.
ca0afed9
RS
489@end itemize
490
6af1f598 491@node Other Projects, Languages, Encryption Projects, Top
ca0afed9 492@chapter Other Projects
bb5d4e1a 493
ca0afed9 494If you think of others that should be added, please
76eebffc 495send them to @email{tasks@@gnu.org}.
ca0afed9
RS
496
497@itemize @bullet
c6d6677e 498@ignore OpenBIOS is doing this
fff05d88
RS
499@item
500A simple PC BIOS. On most new PCs, the BIOS is stored in writable
501memory (misleadingly known as ``flash ROM''). In order to have a wholly
502free system on these PCs, we need a free BIOS.
503
504This task is made simpler by the fact that this BIOS need only support
505enough features to enable a boot-loader such as LILO or GRUB to finish
506loading the kernel. Neither Linux nor Mach actually uses the BIOS once
507it starts up. Also, it is not absolutely necessary to do all the many
508diagnostics that an ordinary BIOS does (though it would be useful to do
509some of them). However, there may be a need to configure certain data
510in the computer in a way that is specific to each model of computer.
c6d6677e 511@end ignore
fff05d88 512
bb5d4e1a
RS
513@item
514An imitation of Page Maker or Ventura Publisher.
515
516@item
f5c525cd 517An imitation of @code{dbase2} or @code{dbase3}. (How dbased!)
76eebffc
GM
518Harbour, a free replacement for Clipper, would provide a useful start.
519@uref{http://www.harbour-project.org/}.
bb5d4e1a 520
acb0ff5c 521@ignore @c being done by Jonas etc.
bb5d4e1a 522@item
c05524ad
RS
523A general ledger program, including support for accounts payable,
524account receivables, payroll, inventory control, order processing, etc.
acb0ff5c 525@end ignore
c05524ad 526
bb5d4e1a 527@item
fff05d88
RS
528A free replacement for Glimpse, which is not free software.
529
0f82d9d8
RS
530@item
531Software for desktop publishing. We are extending Emacs into a WYSIWYG
532word processor, to handle primarily linear text; what this item proposes
533is software focused on page layout.
534
283fd8a7 535@ignore It looks like TruePrint will fill this gap
fff05d88
RS
536@item
537A program to typeset C code for printing, to make it easier to read on
538paper. For ideas on what to do, see the book,
bb5d4e1a
RS
539
540@display
541Human Factors and Typography for More Readable Programs,
542Ronald M. Baecker and Aaron Marcus,
543Addison-Wesley, ISBN 0-201-10745-7
544@end display
545
fff05d88 546But you don't have to do exactly what they propose.
283fd8a7 547@end ignore
bb5d4e1a 548
fff05d88
RS
549@ignore
550@c This is now being worked on -- rms, 22 June 1998
7c4978a8 551@item
541d49e1
JG
552A program to convert Microsoft Word documents to text/enriched, TeX,
553LaTeX, Texinfo, or some other format that free software can edit.
fff05d88
RS
554@end ignore
555
556@ignore
557@c People are helping the developer of siff release it as free software.
7c4978a8 558
fff05d88 559@item
50b9d07d 560A free replacement for siff (sometimes called sif). This would be a
fff05d88
RS
561program to find similar files in a large file system, ``similar''
562meaning that the files contain a significant number of common substrings
563that are of a certain size or greater. You can find some information
564about siff (which is, unfortunately, not free software) at
565@uref{ftp://ftp.cs.arizona.edu/reports/1993/TR93-33.ps.Z}.
566@end ignore
567
568@ignore
569@c This is being developed -- rms, 3 May 1998
7c4978a8
RS
570@item
571A free replacement for the semi-free Qt library.
fff05d88 572@end ignore
7c4978a8 573
76eebffc
GM
574@ignore
575@c Ogg Vorbis is doing this, see @url{http://www.xiph.org/ogg/vorbis/index.html} or contact @email{Monty <monty@xiph.org>}.
576
ca0afed9
RS
577@item
578High-quality music compression software.
76eebffc 579(Talk with @email{mt@@sulaco.org} for relevant suggestions.)
c6d6677e
RS
580Unfortunately we cannot implement the popular MP3 format
581due to patents, so this job includes working out some other
582non-patented format and compression method.
76eebffc 583@end ignore
ca0afed9
RS
584
585@item
586A program to play sound distributed in ``Real Audio'' format.
587
588@item
589A program to generate ``Real Audio'' format from audio input.
590
fff05d88
RS
591@item
592Programs to handle audio in RTSP format.
593
632c6364 594@ignore @c Software patents have made this domain off limits to free software.
ca0afed9
RS
595@item
596An MPEG III audio encoder/decoder (but it is necessary to check, first,
597whether patents make this impossible).
598
76eebffc
GM
599@c Chris Hofstader is working on a non-Festival speech-generation program.
600@c Mario Lang <lang@zid.tu-graz.ac.at> reports that Festival needs only
601@c to be 2-5 times faster to work well with Emacspeak.
bb5d4e1a 602@item
76eebffc
GM
603Speech-generation programs that are faster than the Festival engine.
604This might be done by optimizing Festival.
bb5d4e1a 605
ab9ca9c7 606@c We have a project now.
bb5d4e1a 607@item
948c942f 608Speech-recognition programs (single-speaker, disconnected speech is sufficient).
ab9ca9c7 609@end ignore
948c942f 610
1c5d31a7
JWI
611@item
612A braille translation and formatting system which can convert marked up
613documents into braille. This should let the user customize the braille
614translation rules; it would be good to divide it into a
615device-independent part plus drivers. Contact Jason White,
0fd51ae1 616@email{jasonw@@ariel.ucs.unimelb.EDU.AU}.
1c5d31a7 617
fff05d88
RS
618@ignore Being done
619@item
620A program to display text word by word, always showing just one word at
621a time. This method permits much faster reading than ordinary text
622display. If you want to work on this, contact @email{stutz@@dsl.org} to
623learn more.
624@end ignore
625
bb5d4e1a 626@item
b6a061a8
RS
627More scientific mathematical subroutines.
628(A clone of SPSS is being written already.)
bb5d4e1a 629
eee331a5
RS
630@item
631A scientific data collection and processing tool,
632perhaps something like Scientific Workbench and/or Khoros,
633
dd7dc1f9
JG
634@item
635A program to calculate properties of molecules by solving
636the Schroedinger equation.
637
bb5d4e1a 638@item
76eebffc 639Software to replace card catalogs in libraries.
bb5d4e1a 640
3ab93df3
BY
641@item
642A simulator for heating and air conditioning systems for buildings.
643
76eebffc
GM
644@ignore
645@c Pat Deegan @email{pat@@psychogenic.com} is working on this.
646@c no URL yet, the status is updated in @file{volunteers}
647
648@item
649A program for voting and tabulating election results.
650
651@end ignore
652
d2c1d7a8
KH
653@item
654A package for editing genealogical records conveniently.
655This could perhaps be done as a Gnome program, or perhaps
c04006ac 656as an Emacs extension.
d2c1d7a8 657
76eebffc
GM
658@ignore
659@c ToutDoux aims to do this.
660
ca0afed9
RS
661@item
662A project-scheduling package that accepts a list of project sub-tasks
663with their interdependencies, and generates Gantt charts and Pert charts
664and all the other standard project progress reports.
76eebffc 665@end ignore
ca0afed9 666
bb5d4e1a
RS
667@item
668Grammar and style checking programs.
669
608369ba
JG
670@item
671A diagnostic program to test a hard disk.
672
bb5d4e1a
RS
673@item
674Optical character recognition programs; especially if suitable for
675scanning documents with multiple fonts and capturing font info as well
261597d4 676as character codes. Work is being done on this, but more help is needed.
5aba97f2 677
76eebffc
GM
678@c Some of the OCR work being done:
679@c Luis Cearra <luisjc@lem.eui.upm.es>, http://lem.eui.upm.es/ocre.html
680@c The status of these projects is updated in @file{/gd/gnuorg/volunteers}
681
bb5d4e1a
RS
682@item
683A program to scan a line drawing and convert it to Postscript.
684
685@item
686A program to recognize handwriting.
687
76eebffc
GM
688@item
689A program that can translate from one natural language, into another.
690For example, a program to translate French into English.
691
bb5d4e1a
RS
692@item
693A pen based interface.
694
bb5d4e1a
RS
695@item
696CAD software, such as a vague imitation of Autocad.
ca0afed9
RS
697
698@item
699A program to receive data from a serial-line tap to facilitate the
700reverse-engineering of communication protocols.
76eebffc
GM
701
702@item
703A database program designed to store and retrieve patent information.
704
705@item
706A free software package to run on a Palm Pilot in place of its usual
707software, doing more or less the usual jobs. (Linux, the kernel, has
708apparently been ported, but according to what we hear this port is not
709useful yet.)
710
bb5d4e1a
RS
711@end itemize
712
6af1f598 713@node Languages, Games and Recreations, Other Projects, Top
0f82d9d8 714@chapter Programming Languages
bb5d4e1a 715
d9e60f52 716Volunteers are needed to write parsers/front ends for languages such as
0b2a408e 717Algol 60, Algol 68, PL/I, Cobol, Fortran 90, Delphi, Modula 2, Modula 3,
595ab6b8
JE
718RPG, and any other languages designed for compilation, to be used with
719the code generation phases of the GNU C compiler.
2eebaacd 720
fff05d88 721@c Fortran status is here so gnu@gnu.org and the volunteer coordinators
cab856b0 722@c don't have to answer the question -len
2eebaacd 723You can get the status of the Fortran front end with this command:
cab856b0 724
2eebaacd 725@example
fff05d88 726finger -l fortran@@gnu.org
cab856b0 727@end example
bb5d4e1a 728
0f82d9d8 729We would like to have translators from various languages into Scheme.
dc32c4fa 730These languages include TCL, Python, Perl, Java, Javascript, and Rexx.
76eebffc 731Perhaps Clipper as well.
0f82d9d8 732
6af1f598 733@node Games and Recreations, , Languages, Top
d6eb79ad 734@chapter Games and Recreations
bb5d4e1a 735
c05524ad
RS
736Video-oriented games that work with the X window system.
737
d9e60f52 738@itemize @bullet
bb5d4e1a
RS
739@item
740Empire (there is a free version but it needs upgrading)
741
2eebaacd
RS
742@item
743An ``empire builder'' system that makes it easy to write various kinds of
744simulation games.
745
c05524ad
RS
746@item
747Improve GnuGo, which is not yet very sophisticated.
748
0f82d9d8
RS
749@item
750Network servers and clients for board and card games for which such
751software does not yet exist.
752
bb5d4e1a 753@item
fff05d88
RS
754A Hierarchical Task Network package which can be used
755to program play the computer's side in various strategic games.
756
76eebffc
GM
757@item
758A game like Mill/Nine Men's Morris.
759
fff05d88
RS
760@item
761Write imitations of some popular video games:
bb5d4e1a 762
d9e60f52 763@itemize -
bb5d4e1a
RS
764@item
765Space war, Asteroids, Pong, Columns.
766@item
767Defending cities from missiles.
768@item
2eebaacd 769Plane shoots at lots of other planes, tanks, etc.
bb5d4e1a 770@item
fff05d88 771Wizard fights fanciful monsters.
bb5d4e1a
RS
772@item
773A golf game.
fff05d88 774@ignore Being done by jhall1@isd.net
bb5d4e1a
RS
775@item
776Program a robot by sticking building blocks together,
777then watch it explore a world.
fff05d88 778@end ignore
bb5d4e1a 779@item
7c4978a8
RS
780Biomorph evolution (as in Scientific American and @cite{The Blind
781Watchmaker}).
bb5d4e1a 782@end itemize
bb5d4e1a
RS
783@end itemize
784
785We do not need @code{rogue}, as we have @code{hack}.
786
787@contents
788
789@bye
76eebffc
GM
790@c LocalWords: dir texi lastupdate uref http www org html helpgnu ifinfo ftp
791@c LocalWords: dvi hurd toc gvc URL GTK XmHTML xs nl ripley NT com gettext Qt
792@c LocalWords: GUI libstdc Docbook SGML libc sed STL Gforth GNUstep TCSH Perl
793@c LocalWords: Ghostscript PIC GCC Texinfo grep dc bc ethernet GDB IP CIFS CU
794@c LocalWords: SMB SVGA Khoros Automake OpenStep diff roff Smail tron veritas
795@c LocalWords: cxref ctrace API LilyPond xephem labanotation LessTif outliner
796@c LocalWords: Hypercard morphing SeeMe ICQ Diffie Helman RSA SSLv TLSv GPL
797@c LocalWords: OpenBIOS BIOS LILO dbase dbased Harbour harbour WYSIWYG ISBN
798@c LocalWords: TruePrint Baecker siff sif cs arizona edu TR ps mt sulaco MP
799@c LocalWords: RTSP MPEG jasonw ariel ucs unimelb AU stutz dsl TCL Javascript
800@c LocalWords: Rexx GnuGo jhall isd Biomorph regexp eval gd gnuorg
fff05d88
RS
801Local variables:
802update-date-leading-regexp: "@c This date is automagically updated when you save this file:\n@set lastupdate "
803update-date-trailing-regexp: ""
804eval: (load "/gd/gnuorg/update-date.el")
805eval: (add-hook 'write-file-hooks 'update-date)
806End: