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