diff options
| author | Richard M. Stallman | 1993-11-23 07:00:40 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1993-11-23 07:00:40 +0000 |
| commit | bb5d4e1a381cbf632b05f6fc5b2415d70ec9c68e (patch) | |
| tree | e073990330d2505c3614ec49f28d9645ed6124c1 /etc | |
| parent | acb93e31f5a88e2461b1fa283bd341b4f66d599b (diff) | |
| download | emacs-bb5d4e1a381cbf632b05f6fc5b2415d70ec9c68e.tar.gz emacs-bb5d4e1a381cbf632b05f6fc5b2415d70ec9c68e.zip | |
Initial revision
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/tasks.texi | 440 |
1 files changed, 440 insertions, 0 deletions
diff --git a/etc/tasks.texi b/etc/tasks.texi new file mode 100644 index 00000000000..d408203a1f6 --- /dev/null +++ b/etc/tasks.texi | |||
| @@ -0,0 +1,440 @@ | |||
| 1 | \input texinfo @c -*-texinfo-*- | ||
| 2 | @c %**start of header | ||
| 3 | @setfilename tasks.info | ||
| 4 | @settitle GNU Task List | ||
| 5 | @c UPDATE THIS DATE WHENEVER YOU MAKE CHANGES! | ||
| 6 | @set lastupdate 16 July 1993 | ||
| 7 | @c %**end of header | ||
| 8 | |||
| 9 | @setchapternewpage off | ||
| 10 | |||
| 11 | @ifinfo | ||
| 12 | Copyright (C) 1993 Free Software Foundation | ||
| 13 | |||
| 14 | Permission is granted to make and distribute verbatim copies of | ||
| 15 | this manual provided the copyright notice and this permission notice | ||
| 16 | are preserved on all copies. | ||
| 17 | |||
| 18 | @ignore | ||
| 19 | Permission is granted to process this file through TeX and print the | ||
| 20 | results, provided the printed document carries copying permission | ||
| 21 | notice identical to this one except for the removal of this paragraph | ||
| 22 | (this paragraph not being relevant to the printed manual). | ||
| 23 | @end ignore | ||
| 24 | |||
| 25 | Permission is granted to copy and distribute modified versions of this | ||
| 26 | manual under the conditions for verbatim copying, provided that the entire | ||
| 27 | resulting derived work is distributed under the terms of a permission | ||
| 28 | notice identical to this one. | ||
| 29 | |||
| 30 | Permission is granted to copy and distribute translations of this manual | ||
| 31 | into another language, under the above conditions for modified versions, | ||
| 32 | except that this permission notice may be stated in a translation approved | ||
| 33 | by the Free Software Foundation. | ||
| 34 | @end ifinfo | ||
| 35 | |||
| 36 | @titlepage | ||
| 37 | @title GNU Task List | ||
| 38 | @author Richard Stallman | ||
| 39 | @author last updated @value{lastupdate} | ||
| 40 | @page | ||
| 41 | |||
| 42 | @vskip 0pt plus 1filll | ||
| 43 | Copyright @copyright{} 1993 Free Software Foundation | ||
| 44 | |||
| 45 | Permission is granted to make and distribute verbatim copies of | ||
| 46 | this manual provided the copyright notice and this permission notice | ||
| 47 | are preserved on all copies. | ||
| 48 | |||
| 49 | Permission is granted to copy and distribute modified versions of this | ||
| 50 | manual under the conditions for verbatim copying, provided that the entire | ||
| 51 | resulting derived work is distributed under the terms of a permission | ||
| 52 | notice identical to this one. | ||
| 53 | |||
| 54 | Permission is granted to copy and distribute translations of this manual | ||
| 55 | into another language, under the above conditions for modified versions, | ||
| 56 | except that this permission notice may be stated in a translation approved | ||
| 57 | by Free Software Foundation. | ||
| 58 | @end titlepage | ||
| 59 | |||
| 60 | @ifinfo | ||
| 61 | @node Top, Documentation, (dir), (dir) | ||
| 62 | @top Version | ||
| 63 | |||
| 64 | Last updated @value{lastupdate}. | ||
| 65 | @end ifinfo | ||
| 66 | |||
| 67 | Check with gnu@@prep.ai.mit.edu, for a possibly more current copy. | ||
| 68 | This task list is not exclusive; any other useful program might be a | ||
| 69 | good project--but it might instead be something we already have, so | ||
| 70 | check with gnu@@prep before you start writing it. | ||
| 71 | |||
| 72 | @menu | ||
| 73 | * Documentation:: | ||
| 74 | * Unix-related projects:: | ||
| 75 | * Kernel-related projects:: | ||
| 76 | * Extensions to existing GNU software:: | ||
| 77 | * X windows projects:: | ||
| 78 | * Other random projects:: | ||
| 79 | * Compilers for other batch languages:: | ||
| 80 | * Games and recreations:: | ||
| 81 | @end menu | ||
| 82 | |||
| 83 | If you start working steadily on a project, please let gnu@@prep know. | ||
| 84 | We might have information that could help you; we'd also like to send | ||
| 85 | you the GNU coding standards. | ||
| 86 | |||
| 87 | Because of the natural tendency for most volunteers to write | ||
| 88 | programming tools or programming languages, we have a comparative | ||
| 89 | shortage of applications useful for non-programmer users. Therefore, | ||
| 90 | we ask you to consider writing such a program. | ||
| 91 | |||
| 92 | In general, a new program that does a completely new job advances the | ||
| 93 | GNU project more than an improvement to an existing program. | ||
| 94 | |||
| 95 | @node Documentation, Unix-related projects, Top, Top | ||
| 96 | @chapter Documentation | ||
| 97 | |||
| 98 | We very urgently need documentation for some parts of the system | ||
| 99 | that already exist or will exist very soon: | ||
| 100 | |||
| 101 | @itemize @bullet | ||
| 102 | |||
| 103 | @item | ||
| 104 | A C reference manual. (RMS has written half of one which you could | ||
| 105 | start with). | ||
| 106 | |||
| 107 | @item | ||
| 108 | A manual for Ghostscript. | ||
| 109 | |||
| 110 | @item | ||
| 111 | A manual for CSH. | ||
| 112 | |||
| 113 | @item | ||
| 114 | A manual for PIC (the graphics formatting language). | ||
| 115 | |||
| 116 | @item | ||
| 117 | A manual for Perl. (The manual that exists is not free, and | ||
| 118 | is thus not available to be part of the GNU system.) | ||
| 119 | |||
| 120 | @item | ||
| 121 | A manual for Oleo. | ||
| 122 | |||
| 123 | @item | ||
| 124 | A book on how GCC works and why various machine descriptions | ||
| 125 | are written as they are. | ||
| 126 | |||
| 127 | @item | ||
| 128 | A manual for programming X-window applications. | ||
| 129 | |||
| 130 | @item | ||
| 131 | Manuals for various X window managers. | ||
| 132 | |||
| 133 | @item | ||
| 134 | Reference cards for those manuals that don't have them: Gawk, C | ||
| 135 | Compiler, Make, Texinfo, Termcap and maybe the C Library. | ||
| 136 | |||
| 137 | @item | ||
| 138 | Many utilities need documentation, including @code{grep}, @code{cpio}, | ||
| 139 | @code{find}, @code{less}, and the other small utilities. | ||
| 140 | |||
| 141 | @end itemize | ||
| 142 | |||
| 143 | @node Unix-related projects, Kernel-related projects, Documentation, Top | ||
| 144 | @chapter Unix-related projects | ||
| 145 | |||
| 146 | @itemize | ||
| 147 | |||
| 148 | @item | ||
| 149 | We could use an emulation of Unix @code{spell}, which would run by | ||
| 150 | invoking @code{ispell}. | ||
| 151 | |||
| 152 | @item | ||
| 153 | Less urgent: @code{diction}, @code{explain}, @code{style}. | ||
| 154 | |||
| 155 | @item | ||
| 156 | An improved version of the POSIX utility @code{pax}. There is one on | ||
| 157 | the usenet, but it is said to be poorly written. Talk with | ||
| 158 | mib@@gnu.ai.mit.edu about this project. | ||
| 159 | |||
| 160 | @item | ||
| 161 | Modify the GNU @code{dc} program to use the math routines of GNU | ||
| 162 | @code{bc}. | ||
| 163 | |||
| 164 | @item | ||
| 165 | A @code{grap} preprocessor program for @code{troff}. | ||
| 166 | |||
| 167 | @item | ||
| 168 | Various other libraries. | ||
| 169 | |||
| 170 | @item | ||
| 171 | An emulation of SCCS that works using RCS. | ||
| 172 | |||
| 173 | @end itemize | ||
| 174 | |||
| 175 | @node Kernel-related projects, Extensions to existing GNU software, Unix-related projects, Top | ||
| 176 | @chapter Kernel-related projects | ||
| 177 | |||
| 178 | @itemize | ||
| 179 | |||
| 180 | @item | ||
| 181 | An over-the-ethernet debugger that will allow the kernel to be | ||
| 182 | debugged from GDB running on another machine. | ||
| 183 | |||
| 184 | @item | ||
| 185 | A shared memory X11 server to run under MACH is very desirable. The | ||
| 186 | machine specific parts should be kept well separated. | ||
| 187 | |||
| 188 | @end itemize | ||
| 189 | |||
| 190 | @node Extensions to existing GNU software, X windows projects, Kernel-related projects, Top | ||
| 191 | @chapter Extensions to existing GNU software | ||
| 192 | |||
| 193 | @itemize | ||
| 194 | |||
| 195 | @item | ||
| 196 | Enhance GCC. See files PROJECTS and PROBLEMS in the GCC distribution. | ||
| 197 | |||
| 198 | @item | ||
| 199 | GNU @code{sed} probably needs to be rewritten completely just to make it | ||
| 200 | cleaner. | ||
| 201 | |||
| 202 | @item | ||
| 203 | Add a few features to GNU @code{diff}, such as handling large input | ||
| 204 | files without reading entire files into core. | ||
| 205 | |||
| 206 | @item | ||
| 207 | Extend GDB with an X-based graphical interface better than @code{xxgdb}. | ||
| 208 | |||
| 209 | @item | ||
| 210 | An @code{nroff} macro package to simplify @code{texi2roff}. | ||
| 211 | |||
| 212 | @item | ||
| 213 | A queueing system for the mailer Smail that groups pending work by | ||
| 214 | destination rather than by original message. This makes it possible | ||
| 215 | to schedule retries coherently for each destination. Talk to | ||
| 216 | tron@@veritas.com about this. | ||
| 217 | |||
| 218 | @item | ||
| 219 | Cross-referencing, flow graph, and execution trace programs for C and | ||
| 220 | other languages, like @code{cxref}, @code{cflow}, and @code{ctrace}. | ||
| 221 | |||
| 222 | @end itemize | ||
| 223 | |||
| 224 | @node X windows projects, Other random projects, Extensions to existing GNU software, Top | ||
| 225 | @chapter X windows projects | ||
| 226 | |||
| 227 | @itemize | ||
| 228 | |||
| 229 | @item | ||
| 230 | An emulator for Macintosh graphics calls on top of X Windows. | ||
| 231 | |||
| 232 | @item | ||
| 233 | An emulator for Microsoft windows calls on top of X Windows. (A | ||
| 234 | commercial program to do this took just three months to write.) | ||
| 235 | |||
| 236 | @item | ||
| 237 | A music playing and editing system. | ||
| 238 | |||
| 239 | @item | ||
| 240 | A program to edit dance notation (such as labanotation) and display | ||
| 241 | dancers moving on the screen. | ||
| 242 | |||
| 243 | @item | ||
| 244 | A library for displaying circle-shaped menus with X windows. | ||
| 245 | |||
| 246 | @item | ||
| 247 | A program to display and edit Hypercard stacks. | ||
| 248 | |||
| 249 | @item | ||
| 250 | An interface-builder program to make it easy to design graphical | ||
| 251 | interfaces for applications. This could work with the dynamic linker | ||
| 252 | DLD and C++, loading in the same class definitions that will be used | ||
| 253 | by the application program. | ||
| 254 | |||
| 255 | @item | ||
| 256 | A desktop program with icons and such, for X-windows. | ||
| 257 | |||
| 258 | @item | ||
| 259 | A paint program, supporting both bitmap-oriented operations and | ||
| 260 | component-oriented operations. @code{xpaint} exists, but isn't very | ||
| 261 | usable. | ||
| 262 | |||
| 263 | @end itemize | ||
| 264 | |||
| 265 | @node Other random projects, Compilers for other batch languages, X windows projects, Top | ||
| 266 | @chapter Other random projects | ||
| 267 | |||
| 268 | If you think of others that should be added, please | ||
| 269 | send them to gnu@@prep.ai.mit.edu. | ||
| 270 | |||
| 271 | @itemize | ||
| 272 | |||
| 273 | @item | ||
| 274 | [This seems to be being done:] | ||
| 275 | A program to convert Postscript to plain ASCII text. Ghostscript will | ||
| 276 | soon have a mode to output all the text strings in a document, each with | ||
| 277 | its coordinates. You could write a program to start with this output | ||
| 278 | and ``layout the page'' in ASCII. The program will be both easier and | ||
| 279 | more useful if you don't worry pedantically about how the output text | ||
| 280 | should be formatted. Instead, try to make it look reasonable as plain | ||
| 281 | ASCII. | ||
| 282 | |||
| 283 | @item | ||
| 284 | A program to convert compiled programs represented in OSF ANDF | ||
| 285 | (``Architecture Neutral Distribution Format'') into ANSI C. | ||
| 286 | |||
| 287 | @item | ||
| 288 | An imitation of Page Maker or Ventura Publisher. | ||
| 289 | |||
| 290 | @item | ||
| 291 | An imitation of @code{dbase2} or @code{dbase3} (How dbased!) | ||
| 292 | |||
| 293 | @item | ||
| 294 | A program to reformat Fortran programs in a way that is pretty. | ||
| 295 | |||
| 296 | @item | ||
| 297 | A bulletin board system. There are a few free ones, but they don't have | ||
| 298 | all the features that people want in such systems. It would make sense | ||
| 299 | to start with an existing one and add the other features. | ||
| 300 | |||
| 301 | @item | ||
| 302 | A general ledger program. | ||
| 303 | |||
| 304 | @item | ||
| 305 | A single command language that could be suitable for use in a shell, in | ||
| 306 | GDB for programming debugging commands, in a program like @code{awk}, in | ||
| 307 | a calculator like @code{bc}, and so on. The fact that all these | ||
| 308 | programs are similar but different in peculiar details is a great source | ||
| 309 | of confusion. We are stuck with maintaining compatibility with Unix in | ||
| 310 | our shell, @code{awk}, and @code{bc}, but nothing prevents us from | ||
| 311 | having alternative programs using our new, uniform language. This would | ||
| 312 | make GNU far better for new users. | ||
| 313 | |||
| 314 | @item | ||
| 315 | A program to typeset C code for printing. | ||
| 316 | For ideas on what to do, see the forthcoming book, | ||
| 317 | |||
| 318 | @display | ||
| 319 | Human Factors and Typography for More Readable Programs, | ||
| 320 | Ronald M. Baecker and Aaron Marcus, | ||
| 321 | Addison-Wesley, ISBN 0-201-10745-7 | ||
| 322 | @end display | ||
| 323 | |||
| 324 | (I don't quite agree with a few of the details they propose.) | ||
| 325 | |||
| 326 | @item | ||
| 327 | Speech-generation programs (there is a program from Brown U that you | ||
| 328 | could improve). | ||
| 329 | |||
| 330 | @item | ||
| 331 | Speech-recognition programs (single-speaker, disconnected speech). | ||
| 332 | |||
| 333 | @item | ||
| 334 | Scientific mathematical subroutines, including clones of SPSS. | ||
| 335 | |||
| 336 | @item | ||
| 337 | Statistical tools. | ||
| 338 | |||
| 339 | @item | ||
| 340 | Software to replace card catalogues in libraries. | ||
| 341 | |||
| 342 | @item | ||
| 343 | Grammar and style checking programs. | ||
| 344 | |||
| 345 | @item | ||
| 346 | An implementation of the S language. | ||
| 347 | |||
| 348 | @item | ||
| 349 | A translator from Scheme to C. | ||
| 350 | |||
| 351 | @item | ||
| 352 | Optical character recognition programs; especially if suitable for | ||
| 353 | scanning documents with multiple fonts and capturing font info as well | ||
| 354 | as character codes. This may not be very difficult if you let it | ||
| 355 | @emph{train} on part of the individual document to be scanned, so as to | ||
| 356 | learn what fonts are in use in that document. We would particularly | ||
| 357 | like to scan the Century Dictionary, an unabridged dictionary now in the | ||
| 358 | public domain. | ||
| 359 | |||
| 360 | You don't need scanning hardware to work on OCR. We can send you | ||
| 361 | bitmaps you can use as test data. | ||
| 362 | |||
| 363 | @item | ||
| 364 | A program to scan a line drawing and convert it to Postscript. | ||
| 365 | |||
| 366 | @item | ||
| 367 | A program to recognize handwriting. | ||
| 368 | |||
| 369 | @item | ||
| 370 | A pen based interface. | ||
| 371 | |||
| 372 | @item | ||
| 373 | Software suitable for creating virtual reality user interfaces. | ||
| 374 | |||
| 375 | @item | ||
| 376 | CAD software, such as a vague imitation of Autocad. | ||
| 377 | |||
| 378 | @item | ||
| 379 | Software for displaying molecules. | ||
| 380 | |||
| 381 | @item | ||
| 382 | Software for comparing DNA sequences, and finding matches and | ||
| 383 | alignments. | ||
| 384 | |||
| 385 | @end itemize | ||
| 386 | |||
| 387 | @node Compilers for other batch languages, Games and recreations, Other random projects, Top | ||
| 388 | @chapter Compilers for other batch languages | ||
| 389 | |||
| 390 | Volunteers are needed to write parsers/front ends for languages such | ||
| 391 | as Algol 60, Algol 68, PL/I, or whatever, to be used with the | ||
| 392 | code generation phases of the GNU C compiler. (C++ is done, and | ||
| 393 | Ada, Fortran, Pascal and Modula are being worked on.) | ||
| 394 | |||
| 395 | @node Games and recreations, , Compilers for other batch languages, Top | ||
| 396 | @chapter Games and recreations | ||
| 397 | |||
| 398 | @itemize | ||
| 399 | |||
| 400 | @item | ||
| 401 | Video-oriented games should work with the X window system. | ||
| 402 | |||
| 403 | @item | ||
| 404 | Empire (there is a free version but it needs upgrading) | ||
| 405 | |||
| 406 | @item | ||
| 407 | Imitations of popular video games: | ||
| 408 | |||
| 409 | @itemize | ||
| 410 | @item | ||
| 411 | Space war, Asteroids, Pong, Columns. | ||
| 412 | @item | ||
| 413 | Defending cities from missiles. | ||
| 414 | @item | ||
| 415 | Plane shoots at lots of other planes. | ||
| 416 | @item | ||
| 417 | Wizard fights fanciful monster. | ||
| 418 | @item | ||
| 419 | A golf game. | ||
| 420 | @item | ||
| 421 | Program a robot by sticking building blocks together, | ||
| 422 | then watch it explore a world. | ||
| 423 | @item | ||
| 424 | Biomorph evolution (as in Scientific American). | ||
| 425 | @item | ||
| 426 | A program to display effects of moving at relativistic speeds. | ||
| 427 | @end itemize | ||
| 428 | |||
| 429 | @item | ||
| 430 | Intriguing screen-saver programs to make interesting pictures. | ||
| 431 | Other such programs that are simply entertaining to watch. | ||
| 432 | For example, an aquarium. | ||
| 433 | |||
| 434 | @end itemize | ||
| 435 | |||
| 436 | We do not need @code{rogue}, as we have @code{hack}. | ||
| 437 | |||
| 438 | @contents | ||
| 439 | |||
| 440 | @bye | ||