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