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: |
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 |
28 | The GNU task list, last updated @value{lastupdate}. | |
29 | ||
30 | Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, | |
31 | 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. | |
32 | ||
33 | @quotation | |
34 | Copying and distribution of this file, with or without modification, | |
35 | are permitted in any medium without royalty provided the copyright | |
36 | notice 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 | ||
57 | See 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 | 81 | If you did not obtain this file directly from the GNU project and |
9459fac1 JG |
82 | recently, please check for a newer version. You can ftp the task list |
83 | from any GNU FTP host in directory @file{/pub/gnu/tasks/}. The task | |
7c4978a8 | 84 | list 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 | 87 | The 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 | 90 | If you start working steadily on a project, please let @email{gvc@@gnu.org} |
d9e60f52 DM |
91 | know. We might have information that could help you; we'd also like to |
92 | send you the GNU coding standards. | |
bb5d4e1a | 93 | |
c05524ad RS |
94 | Because of the natural tendency for most volunteers to write programming |
95 | tools or programming languages, we have a comparative shortage of | |
96 | applications useful for non-programmer users. Therefore, we ask you to | |
97 | consider writing such a program. | |
bb5d4e1a | 98 | |
d17fd035 RS |
99 | Typically, a new program that does a completely new job advances |
100 | the GNU project, and the free software community, more than an | |
101 | improvement to an existing program. | |
102 | ||
103 | Typically, new features or new programs advance the free software | |
104 | community more, in the long run, than porting existing programs. One | |
105 | reason is that portable new features and programs benefit people on many | |
106 | platforms, not just one. At the same time, there tend to be many | |
107 | volunteers for porting---so your help will be more valuable in other | |
108 | areas, where volunteers are more scarce. | |
109 | ||
110 | Typically, it is more useful to extend a program in functionality than | |
111 | to improve performance. Users who use the new functionality will | |
112 | appreciate it very much, if they use it; but even when they benefit from | |
113 | a performance improvement, they may not consider it very important. | |
bb5d4e1a | 114 | |
76eebffc GM |
115 | Finally, if you think of an important job that free software cannot |
116 | solve yet that is typically solved by proprietary software, please send | |
117 | a short description of that job to @email{tasks@@gnu.org} so that we can | |
118 | add it to this task list. | |
119 | ||
6af1f598 | 120 | @node Highest Priority, Documentation, Intro, Top |
7c4978a8 RS |
121 | @chapter Highest Priority |
122 | ||
123 | This task list mentions a large number of tasks that would be more or | |
124 | less useful. With luck, at least one of them will inspire you to start | |
125 | writing. It's better for you to work on any task that inspires you than | |
126 | not write free software at all. | |
127 | ||
128 | But if you would like to work on what we need most, here is a list of | |
129 | high priority projects. | |
130 | ||
131 | @itemize @bullet | |
76eebffc | 132 | |
7c4978a8 | 133 | @item |
541d49e1 | 134 | |
454b4dd0 DL |
135 | If you are good at writing documentation, please do that. Pick a system |
136 | or program you like, and write a Free tutorial or manual for it. | |
541d49e1 JG |
137 | |
138 | @item | |
541d49e1 | 139 | |
454b4dd0 DL |
140 | Help to finish the missing features of the @command{docbook2texi} so |
141 | that as many Docbook tags as possible can be translated into reasonable | |
142 | Texinfo. See @uref{http://docbook2x.sourceforge.net/todo.html} for a | |
143 | task list of what needs to be done. | |
541d49e1 JG |
144 | |
145 | @item | |
454b4dd0 DL |
146 | If you are very good at C programming and interested in kernels, you |
147 | can help develop the GNU HURD, the kernel for the GNU system. Please | |
148 | have a look at @uref{http://www.gnu.org/software/hurd/hurd.html}, and | |
149 | then join the HURD mailing lists at | |
150 | @uref{http://www.debian.org/ports/hurd/hurd-contact}. | |
7c4978a8 RS |
151 | |
152 | @item | |
541d49e1 | 153 | If you are a Scheme fan, you can help develop Guile. Please have a look |
fff05d88 | 154 | at the URL @uref{http://www.gnu.org/software/guile/guile.html} |
454b4dd0 | 155 | and then contact the Guile developers at @email{guile-devel@@gnu.org}. |
7c4978a8 | 156 | |
76eebffc GM |
157 | @item |
158 | Improve the facilities for translating other languages into Scheme, | |
159 | so that Guile can provide support for a variety of languages. | |
160 | ||
9dde84c6 RS |
161 | @item |
162 | A package to convert programs written using MS Access into Scheme, | |
163 | making use of a free data base system and the GTK toolkit. | |
164 | ||
7c4978a8 | 165 | @item |
454b4dd0 DL |
166 | A general-purpose document viewing program that can handle PostScript, |
167 | DVI, PDF, HTML, RTF, Word format and Word Perfect format. | |
7c4978a8 RS |
168 | |
169 | @item | |
fff05d88 | 170 | Help develop software to emulate Windows NT on top of GNU systems. |
454b4dd0 DL |
171 | For example, you could help work on Wine. |
172 | See @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 | 178 | A free replacement for pdflib. This is a library for generating PDF. |
f00afe93 | 179 | @end ignore |
7c4978a8 RS |
180 | |
181 | @item | |
454b4dd0 DL |
182 | Add gettext support to GNU programs that don't have it already. (Please |
183 | contact the developers of the specific packages that you want to work | |
184 | on.) | |
fff05d88 | 185 | |
7c4978a8 RS |
186 | @item |
187 | Develop a substitute, which runs on GNU systems, for some very popular | |
188 | or very important application that many non-programmers use on Windows, | |
189 | and 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 |
195 | We very urgently need documentation for many existing parts of the |
196 | system. | |
197 | ||
198 | Note that there are proprietary manuals for many of these topics, but | |
0f82d9d8 RS |
199 | proprietary manuals do not count, for the same reason proprietary |
200 | software does not count: we are not free to copy and modify them. | |
201 | We do not recommend any non-free materials as documentation. | |
bb5d4e1a RS |
202 | |
203 | @itemize @bullet | |
5f87b051 DL |
204 | |
205 | @item | |
206 | A reference document for SQL for use as a standard for implementors of | |
207 | free software versions of SQL. | |
208 | ||
242621f3 | 209 | @item |
24fad2a2 | 210 | A 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 |
216 | A 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 |
222 | A manual for Docbook SGML format. |
223 | @end ignore | |
0f82d9d8 RS |
224 | |
225 | @item | |
f1679dc8 | 226 | A tutorial introduction to Midnight Commander. |
0f82d9d8 RS |
227 | |
228 | @item | |
229 | A thorough manual for RCS. | |
230 | ||
231 | @item | |
232 | A reference manual for Mach. | |
233 | ||
234 | @item | |
235 | A reference manual for the GNU Hurd features in GNU libc. | |
236 | ||
237 | @item | |
238 | A manual for writing Hurd servers. | |
239 | ||
454b4dd0 DL |
240 | @ignore |
241 | @c this is done. | |
acb0ff5c BY |
242 | @item |
243 | A manual for GNU sed. | |
454b4dd0 | 244 | @end ignore |
acb0ff5c | 245 | |
fff05d88 | 246 | @item |
0f82d9d8 RS |
247 | Reference manuals for C++, Objective C, Pascal, Fortran 77, and Java. |
248 | ||
249 | @item | |
250 | A tutorial manual for the C++ STL (standard template library). | |
251 | ||
3c307b90 | 252 | @item |
1eb87eaf | 253 | A tutorial manual for Gforth. |
3c307b90 | 254 | |
0f82d9d8 RS |
255 | @item |
256 | GNU Objective-C Runtime Library Manual; this would be a reference manual | |
257 | for the runtime library functions, structures, and classes. Some work | |
258 | has been done on this job. | |
259 | ||
260 | @item | |
261 | Manuals for GNUstep: developer tutorial, developer programming manual, | |
262 | developer reference manual, and user manual. | |
fff05d88 | 263 | |
bb5d4e1a RS |
264 | @item |
265 | A manual for Ghostscript. | |
c05524ad | 266 | |
c05524ad RS |
267 | @item |
268 | A manual for TCSH. | |
bb5d4e1a RS |
269 | |
270 | @item | |
dc32c4fa RS |
271 | A coherent free reference manual for Perl. Most of the Perl on-line |
272 | reference documentation can be used as a starting point, but work is | |
273 | needed 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 |
280 | A good free Perl language tutorial introduction. The existing Perl |
281 | introductions are published with restrictions on copying and | |
454b4dd0 DL |
282 | modification, so that they cannot be part of a GNU system. bkuhn made a |
283 | start at a free tutorial, but a lot of work is needed. | |
284 | ||
fff05d88 RS |
285 | |
286 | @item | |
287 | A manual for PIC (the graphics formatting language). | |
bb5d4e1a RS |
288 | |
289 | @item | |
290 | A book on how GCC works and why various machine descriptions | |
291 | are written as they are. | |
292 | ||
293 | @item | |
0f82d9d8 | 294 | A manual for programming applications for X11. |
bb5d4e1a RS |
295 | |
296 | @item | |
297 | Manuals for various X window managers. | |
298 | ||
299 | @item | |
261597d4 | 300 | Reference cards for those manuals that don't have them: C |
454b4dd0 | 301 | Compiler, Texinfo, Termcap, and maybe the C Library. |
bb5d4e1a RS |
302 | |
303 | @item | |
76eebffc | 304 | Many 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 |
313 | Modify 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 |
318 | Rewrite @code{indent} from scratch to make it cleaner. | |
319 | ||
320 | @item | |
321 | Write a free software replacement for the @code{agrep} program. | |
322 | ||
454b4dd0 DL |
323 | @item |
324 | Less urgent: make a replacement for the ``writer's workbench'' program | |
325 | @code{style}, or something to do the same kind of job. Compatibility | |
326 | with 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 | 335 | An over-the-ethernet debugger stub that will allow the kernel to be |
bb5d4e1a RS |
336 | debugged from GDB running on another machine. |
337 | ||
5aba97f2 RS |
338 | This stub needs its own self-contained implementation of all protocols |
339 | to be used, since the GNU system will use user processes to implement | |
340 | all but the lowest levels, and the stub won't be able to use those | |
341 | processes. If a simple self-contained implementation of IP and TCP is | |
342 | impractical, it might be necessary to design a new, simple protocol | |
343 | based directly on ethernet. It's not crucial to support high speed or | |
344 | communicating across gateways. | |
345 | ||
346 | It might be possible to use the Mach ethernet driver code, but it would | |
347 | need some changes. | |
348 | ||
bb5d4e1a RS |
349 | @item |
350 | A shared memory X11 server to run under MACH is very desirable. The | |
351 | machine specific parts should be kept well separated. | |
c05524ad RS |
352 | |
353 | @item | |
354 | An implementation of CIFS, the ``Common Internet File System,'' for the | |
355 | HURD. This protocol is an offshoot of SMB. | |
c6d6677e RS |
356 | |
357 | @item | |
358 | Support (in Linux?) for dumping the non-textual contents of an SVGA | |
359 | console. | |
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 |
367 | Enhance GCC. See files @file{PROJECTS} and @file{PROBLEMS} in the GCC |
368 | distribution. | |
bb5d4e1a | 369 | |
a81ed99e RS |
370 | @item |
371 | Interface GDB to Guile, so that users can write debugging commands in | |
372 | Scheme. This would also make it possible to write, in Scheme, a | |
fff05d88 RS |
373 | graphical interface that uses GTK and is tightly integrated into GDB. |
374 | ||
375 | @item | |
376 | Extend Octave to support programs that were written | |
377 | to run on Khoros. | |
a81ed99e | 378 | |
2eebaacd | 379 | @item |
d71de6f9 JWI |
380 | Rewrite Automake in Scheme, so it can run in Guile. Right now it is |
381 | written in Perl. There are also other programs, not terribly long, | |
382 | which we would also like to have rewritten in Scheme. | |
fff05d88 | 383 | |
b6a061a8 RS |
384 | @item |
385 | Finish the partially-implemented C interpreter project. | |
2eebaacd RS |
386 | |
387 | @item | |
fff05d88 | 388 | Help with the development of GNUstep, a GNU implementation of the |
2eebaacd RS |
389 | OpenStep specification. |
390 | ||
5aba97f2 RS |
391 | @item |
392 | Add features to GNU Make to record the precise rule with which each file | |
393 | was last recompiled; then recompile any file if its rule in the makefile | |
394 | has changed. | |
395 | ||
bb5d4e1a RS |
396 | @item |
397 | Add a few features to GNU @code{diff}, such as handling large input | |
398 | files without reading entire files into core. | |
399 | ||
bb5d4e1a RS |
400 | @item |
401 | An @code{nroff} macro package to simplify @code{texi2roff}. | |
402 | ||
403 | @item | |
404 | A queueing system for the mailer Smail that groups pending work by | |
405 | destination rather than by original message. This makes it possible | |
406 | to 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 | |
417 | The GNU Classpath Extensions project is looking for help. classpathx | |
418 | builds free versions of Sun's java extension libraries, the packages | |
419 | in the javax namespace. | |
420 | ||
421 | @item | |
422 | Write a replacement for the javadoc utility. The Classpath | |
423 | (@uref{http://www.gnu.org/software/classpath}) team has already made a | |
424 | start 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 |
434 | An 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 |
439 | A 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 | |
441 | appearance provided by MFC. Instead, it would be best to use GTK, so as | |
442 | to give coherence with GNOME. | |
454b4dd0 | 443 | @end ignore |
76eebffc GM |
444 | |
445 | @ignore | |
446 | @c GNOME Basic is doing this | |
0f82d9d8 RS |
447 | @item |
448 | A compatible replacement for Visual Basic, running on top of X11. | |
449 | It need not match the screen appearance of Visual C++. Instead, | |
450 | it 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 | 456 | A music playing and editing system. This should work with LilyPond, a |
fff05d88 | 457 | GNU program for music typesetting. |
76eebffc | 458 | @end ignore |
0f82d9d8 | 459 | |
acb0ff5c | 460 | @ignore @c GNUskies should do this |
fff05d88 RS |
461 | @item |
462 | An ephemeris program to replace xephem (which is, alas, too restricted | |
463 | to 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 | 472 | Make sure the Vibrant toolkit works with LessTif instead of Motif. |
b10fca68 | 473 | |
bb5d4e1a RS |
474 | @item |
475 | A program to display and edit Hypercard stacks. | |
476 | ||
acb0ff5c BY |
477 | @item |
478 | A two-dimensional outliner program, which lets you draw | |
479 | graph structures of textual items, and then display them | |
480 | in various ways. | |
481 | ||
76eebffc | 482 | @ignore @c done |
c05524ad RS |
483 | @item |
484 | A program for graphic morphing of scanned photographs. | |
76eebffc | 485 | @end ignore |
0f82d9d8 | 486 | |
454b4dd0 | 487 | @ignore @c Done by gLabels |
0f82d9d8 RS |
488 | @item |
489 | Software 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 |
500 | A teleconferencing program which does the job of CU-SeeMe (which is, | |
501 | alas, 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 |
507 | A free ICQ-compatible server program. (The ICQ server itself is not | |
508 | free 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 | |
514 | Free software like Stalker for operating a web server for email | |
515 | services. | |
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 |
523 | These projects need to be written outside the US by people who are not |
524 | US 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 |
530 | A free library for public-key encryption. This library can probably be |
531 | developed 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 |
537 | An implementation of SSLv3 (more precisely, TLSv1) which has |
538 | distribution terms compatible with the GNU GPL. We know of a | |
539 | GPL-covered implemention of a version of SSL that you can use as a | |
540 | starting 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 | 547 | Free software for doing secure commercial transactions on the web. |
454b4dd0 DL |
548 | This 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 | 556 | If you think of others that should be added, please |
76eebffc | 557 | send 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 | |
565 | A library for automatic graph layout. VCG version 1.0, which was free | |
566 | software, might provide a base for this. | |
567 | @end ignore | |
568 | ||
569 | @item | |
570 | A data visualization program along the lines of xgobi or ggobi. | |
571 | ||
572 | @item | |
573 | A graph visualization program, which would use that library and | |
574 | provide a front end for manual and interactive intervention so as to | |
575 | provide a full substitute for equivalent proprietory software. It | |
576 | would be good to support DOT format as input, and perhaps other | |
577 | formats. | |
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 | ||
590 | A ``one stop shopping system'' for advocates involved with social | |
591 | justice or other non-profit campaigns. The idea would be to create an | |
592 | easy-to-use interface to software that would allow someone to register a | |
593 | domain for their organisation, build a website, and set up mailing | |
594 | lists. The software would need options to easily do all this, and be | |
595 | made easy for non-hackers. Mainly the work would involve bringing | |
596 | together a number of existing tools with an overriding configuration | |
597 | program. | |
598 | ||
599 | @ignore LinuxBIOS is doing this | |
fff05d88 RS |
600 | @item |
601 | A simple PC BIOS. On most new PCs, the BIOS is stored in writable | |
602 | memory (misleadingly known as ``flash ROM''). In order to have a wholly | |
603 | free system on these PCs, we need a free BIOS. | |
604 | ||
605 | This task is made simpler by the fact that this BIOS need only support | |
606 | enough features to enable a boot-loader such as LILO or GRUB to finish | |
607 | loading the kernel. Neither Linux nor Mach actually uses the BIOS once | |
608 | it starts up. Also, it is not absolutely necessary to do all the many | |
609 | diagnostics that an ordinary BIOS does (though it would be useful to do | |
610 | some of them). However, there may be a need to configure certain data | |
611 | in the computer in a way that is specific to each model of computer. | |
c6d6677e | 612 | @end ignore |
fff05d88 | 613 | |
bb5d4e1a RS |
614 | @item |
615 | An imitation of Page Maker or Ventura Publisher. | |
616 | ||
617 | @item | |
f5c525cd | 618 | An imitation of @code{dbase2} or @code{dbase3}. (How dbased!) |
76eebffc GM |
619 | Harbour, 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 | 624 | A general ledger program, including support for accounts payable, |
c05524ad | 625 | account receivables, payroll, inventory control, order processing, etc. |
acb0ff5c | 626 | @end ignore |
c05524ad | 627 | |
bb5d4e1a | 628 | @item |
fff05d88 | 629 | A free replacement for Glimpse, which is not free software. |
5f87b051 | 630 | Swish does some parts of the job, but not all. |
fff05d88 | 631 | |
0f82d9d8 RS |
632 | @item |
633 | Software for desktop publishing. We are extending Emacs into a WYSIWYG | |
634 | word processor, to handle primarily linear text; what this item proposes | |
635 | is software focused on page layout. | |
636 | ||
283fd8a7 | 637 | @ignore It looks like TruePrint will fill this gap |
fff05d88 RS |
638 | @item |
639 | A program to typeset C code for printing, to make it easier to read on | |
640 | paper. For ideas on what to do, see the book, | |
bb5d4e1a RS |
641 | |
642 | @display | |
643 | Human Factors and Typography for More Readable Programs, | |
644 | Ronald M. Baecker and Aaron Marcus, | |
645 | Addison-Wesley, ISBN 0-201-10745-7 | |
646 | @end display | |
647 | ||
fff05d88 | 648 | But 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 |
654 | A program to convert Microsoft Word documents to text/enriched, TeX, |
655 | LaTeX, 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 | 662 | A free replacement for siff (sometimes called sif). This would be a |
fff05d88 RS |
663 | program to find similar files in a large file system, ``similar'' |
664 | meaning that the files contain a significant number of common substrings | |
665 | that are of a certain size or greater. You can find some information | |
666 | about 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 |
673 | A 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 |
680 | High-quality music compression software. | |
76eebffc | 681 | (Talk with @email{mt@@sulaco.org} for relevant suggestions.) |
c6d6677e RS |
682 | Unfortunately we cannot implement the popular MP3 format |
683 | due to patents, so this job includes working out some other | |
684 | non-patented format and compression method. | |
76eebffc | 685 | @end ignore |
ca0afed9 RS |
686 | |
687 | @item | |
454b4dd0 DL |
688 | A program to play sound distributed in ``Real Audio'' format, if only |
689 | because there is a large corpus of data encoded in this format. We | |
690 | ask that you encode audio data in Ogg/Vorbis format since it is | |
691 | publically documented and there are Free Software encoders and | |
692 | decoders 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 |
697 | A program to generate ``Real Audio'' format from audio input. | |
454b4dd0 | 698 | @end ignore |
ca0afed9 | 699 | |
fff05d88 RS |
700 | @item |
701 | Programs 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 |
705 | An MPEG III audio encoder/decoder (but it is necessary to check, first, | |
706 | whether 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 |
712 | Speech-generation programs that are faster than the Festival engine. |
713 | This might be done by optimizing Festival. | |
bb5d4e1a | 714 | |
ab9ca9c7 | 715 | @c We have a project now. |
bb5d4e1a | 716 | @item |
948c942f | 717 | Speech-recognition programs (single-speaker, disconnected speech is sufficient). |
ab9ca9c7 | 718 | @end ignore |
948c942f | 719 | |
1c5d31a7 JWI |
720 | @item |
721 | A braille translation and formatting system which can convert marked up | |
722 | documents into braille. This should let the user customize the braille | |
723 | translation rules; it would be good to divide it into a | |
724 | device-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 | |
729 | A program to display text word by word, always showing just one word at | |
730 | a time. This method permits much faster reading than ordinary text | |
731 | display. If you want to work on this, contact @email{stutz@@dsl.org} to | |
732 | learn more. | |
733 | @end ignore | |
734 | ||
bb5d4e1a | 735 | @item |
b6a061a8 RS |
736 | More scientific mathematical subroutines. |
737 | (A clone of SPSS is being written already.) | |
bb5d4e1a | 738 | |
eee331a5 RS |
739 | @item |
740 | A scientific data collection and processing tool, | |
741 | perhaps something like Scientific Workbench and/or Khoros, | |
742 | ||
454b4dd0 DL |
743 | @item |
744 | A free replacement for SciRun, which is not free software. | |
745 | ||
dd7dc1f9 JG |
746 | @item |
747 | A program to calculate properties of molecules by solving | |
748 | the 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 | 756 | Software to replace card catalogs in libraries. |
454b4dd0 DL |
757 | @end ignore |
758 | ||
bb5d4e1a | 759 | |
3ab93df3 BY |
760 | @item |
761 | A 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 | |
768 | A 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 |
779 | A package for editing genealogical records conveniently. | |
780 | This could perhaps be done as a Gnome program, or perhaps | |
c04006ac | 781 | as 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 |
790 | A project-scheduling package that accepts a list of project sub-tasks | |
791 | with their interdependencies, and generates Gantt charts and Pert charts | |
792 | and all the other standard project progress reports. | |
76eebffc | 793 | @end ignore |
ca0afed9 | 794 | |
bb5d4e1a RS |
795 | @item |
796 | Grammar and style checking programs. | |
797 | ||
608369ba JG |
798 | @item |
799 | A diagnostic program to test a hard disk. | |
800 | ||
bb5d4e1a RS |
801 | @item |
802 | Optical character recognition programs; especially if suitable for | |
803 | scanning documents with multiple fonts and capturing font info as well | |
261597d4 | 804 | as 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 |
811 | A program to scan a line drawing and convert it to editable Postscript, |
812 | or some other editable format. | |
bb5d4e1a RS |
813 | |
814 | @item | |
454b4dd0 | 815 | A program to recognize handwriting (we don't believe PocketLinux's |
5f87b051 DL |
816 | handwriting capability is ready for non-PocketLinux environments, yet). |
817 | ||
bb5d4e1a | 818 | |
76eebffc GM |
819 | @item |
820 | A program that can translate from one natural language, into another. | |
821 | For example, a program to translate French into English. | |
822 | ||
bb5d4e1a RS |
823 | @item |
824 | CAD software, such as a vague imitation of Autocad. | |
ca0afed9 RS |
825 | |
826 | @item | |
827 | A program to receive data from a serial-line tap to facilitate the | |
828 | reverse-engineering of communication protocols. | |
76eebffc GM |
829 | |
830 | @item | |
831 | A database program designed to store and retrieve patent information. | |
832 | ||
833 | @item | |
834 | A free software package to run on a Palm Pilot in place of its usual | |
835 | software, doing more or less the usual jobs. (Linux, the kernel, has | |
836 | apparently been ported, but according to what we hear this port is not | |
837 | useful yet.) | |
838 | ||
bb5d4e1a RS |
839 | @end itemize |
840 | ||
5f87b051 | 841 | @node Languages, Education, Other Projects, Top |
0f82d9d8 | 842 | @chapter Programming Languages |
bb5d4e1a | 843 | |
d9e60f52 | 844 | Volunteers are needed to write parsers/front ends for languages such as |
0b2a408e | 845 | Algol 60, Algol 68, PL/I, Cobol, Fortran 90, Delphi, Modula 2, Modula 3, |
595ab6b8 JE |
846 | RPG, and any other languages designed for compilation, to be used with |
847 | the 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 | 853 | You can get the status of the Fortran front end with this command: |
cab856b0 | 854 | |
2eebaacd | 855 | @example |
fff05d88 | 856 | finger -l fortran@@gnu.org |
cab856b0 | 857 | @end example |
454b4dd0 | 858 | @end ignore |
bb5d4e1a | 859 | |
0f82d9d8 | 860 | We would like to have translators from various languages into Scheme. |
dc32c4fa | 861 | These languages include TCL, Python, Perl, Java, Javascript, and Rexx. |
76eebffc | 862 | Perhaps Clipper as well. |
0f82d9d8 | 863 | |
5f87b051 DL |
864 | @node Education, Games and Recreations, Languages, Top |
865 | @chapter Education | |
866 | ||
867 | Programs for studying, teaching or doing administrative tasks in schools. | |
868 | See @uref{http://www.gnu.org/education/} for additional information. | |
869 | ||
870 | @itemize @bullet | |
871 | @item | |
454b4dd0 | 872 | A program to organize automatically the schedule of a school given |
5f87b051 DL |
873 | constraints about teachers, rooms, times, and students. |
874 | ||
875 | @item | |
876 | A program to edit dance notation (such as labanotation) and display | |
877 | dancers 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 |
885 | Video-oriented games that work with the X window system. |
886 | ||
d9e60f52 | 887 | @itemize @bullet |
bb5d4e1a RS |
888 | @item |
889 | Empire (there is a free version but it needs upgrading) | |
890 | ||
2eebaacd RS |
891 | @item |
892 | An ``empire builder'' system that makes it easy to write various kinds of | |
893 | simulation games. | |
894 | ||
c05524ad | 895 | @item |
454b4dd0 | 896 | Improve GnuGo @uref{http://www.gnu.org/software/gnugo/gnugo.html}. |
c05524ad | 897 | |
0f82d9d8 RS |
898 | @item |
899 | Network servers and clients for board and card games for which such | |
900 | software does not yet exist. | |
901 | ||
bb5d4e1a | 902 | @item |
fff05d88 RS |
903 | A Hierarchical Task Network package which can be used |
904 | to program play the computer's side in various strategic games. | |
905 | ||
76eebffc GM |
906 | @item |
907 | A game like Mill/Nine Men's Morris. | |
908 | ||
454b4dd0 DL |
909 | @item |
910 | A realistic train-driving simulator. | |
911 | ||
fff05d88 RS |
912 | @item |
913 | Write imitations of some popular video games: | |
bb5d4e1a | 914 | |
d9e60f52 | 915 | @itemize - |
bb5d4e1a RS |
916 | @item |
917 | Space war, Asteroids, Pong, Columns. | |
918 | @item | |
919 | Defending cities from missiles. | |
920 | @item | |
2eebaacd | 921 | Plane shoots at lots of other planes, tanks, etc. |
bb5d4e1a | 922 | @item |
fff05d88 | 923 | Wizard fights fanciful monsters. |
454b4dd0 | 924 | @ignore Peter Sundling peter.sundling@telia.com expressed interest in this. |
bb5d4e1a RS |
925 | @item |
926 | A golf game. | |
fff05d88 | 927 | @ignore Being done by jhall1@isd.net |
bb5d4e1a RS |
928 | @item |
929 | Program a robot by sticking building blocks together, | |
930 | then watch it explore a world. | |
fff05d88 | 931 | @end ignore |
bb5d4e1a | 932 | @item |
7c4978a8 RS |
933 | Biomorph evolution (as in Scientific American and @cite{The Blind |
934 | Watchmaker}). | |
bb5d4e1a | 935 | @end itemize |
bb5d4e1a RS |
936 | @end itemize |
937 | ||
938 | We 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 | 954 | Local variables: |
454b4dd0 DL |
955 | eval: (add-hook 'write-file-hooks 'time-stamp) |
956 | time-stamp-start: "@set lastupdate " | |
957 | time-stamp-end: "$" | |
958 | time-stamp-format: "%:b %:d, %:y" | |
5f87b051 | 959 | compile-command: "make just-tasks" |
fff05d88 | 960 | End: |