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