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