aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1998-08-16 06:49:11 +0000
committerRichard M. Stallman1998-08-16 06:49:11 +0000
commitfff05d8803be03464bc5c8d1a5e42eff726d1f23 (patch)
tree41476f4285249852de3f35bff418031e7e45ca18
parent6d9d01a93f457c71168769543dee9739683a1716 (diff)
downloademacs-fff05d8803be03464bc5c8d1a5e42eff726d1f23.tar.gz
emacs-fff05d8803be03464bc5c8d1a5e42eff726d1f23.zip
*** empty log message ***
-rw-r--r--etc/tasks.texi218
1 files changed, 139 insertions, 79 deletions
diff --git a/etc/tasks.texi b/etc/tasks.texi
index 678685bfe5e..fa9ed0df6d1 100644
--- a/etc/tasks.texi
+++ b/etc/tasks.texi
@@ -2,8 +2,8 @@
2@c %**start of header 2@c %**start of header
3@setfilename tasks.info 3@setfilename tasks.info
4@settitle GNU Task List 4@settitle GNU Task List
5@c UPDATE THIS DATE WHENEVER YOU MAKE CHANGES! 5@c This date is automagically updated when you save this file:
6@set lastupdate 16 September 1997 6@set lastupdate August 1, 1998
7@c %**end of header 7@c %**end of header
8 8
9@setchapternewpage off 9@setchapternewpage off
@@ -47,9 +47,9 @@ list is available there in several different formats: @file{tasks.text},
47HURD task list is also there in file @file{tasks.hurd}. 47HURD task list is also there in file @file{tasks.hurd}.
48@c to fix an overfill, join the paragraphs -len 48@c to fix an overfill, join the paragraphs -len
49The task list is also available on the GNU World Wide Web server: 49The task list is also available on the GNU World Wide Web server:
50@url{http://www.gnu.ai.mit.edu/prep/tasks_toc.html}. 50@uref{http://www.gnu.org/prep/tasks_toc.html}.
51 51
52If you start working steadily on a project, please let @code{gnu@@prep} 52If you start working steadily on a project, please let @email{gvc@@gnu.org}
53know. We might have information that could help you; we'd also like to 53know. We might have information that could help you; we'd also like to
54send you the GNU coding standards. 54send you the GNU coding standards.
55 55
@@ -92,37 +92,39 @@ If you are good at writing documentation, please do that.
92@item 92@item
93If you are very good at C programming and interested in kernels, you can 93If you are very good at C programming and interested in kernels, you can
94help develop the GNU HURD, the kernel for the GNU system. Please have a 94help develop the GNU HURD, the kernel for the GNU system. Please have a
95look at @url{http://www.gnu.ai.mit.edu/software/hurd/hurd.html}, and 95look at @uref{http://www.gnu.org/software/hurd/hurd.html}, and
96then get a copy of the latest HURD task list from: 96then get a copy of the latest HURD task list from:
97 97
98@itemize @bullet 98@itemize @bullet
99 99
100@item 100@item
101@url{http://www.gnu.ai.mit.edu/prep/tasks.hurd.html}, via the World Wide 101@uref{http://www.gnu.org/prep/tasks.hurd.html}, via the World Wide
102Web. 102Web.
103 103
104@item 104@item
105@url{ftp://prep.ai.mit.edu/pub/gnu/tasks/tasks.hurd}, via anonymous FTP. 105@uref{ftp://ftp.gnu.org/pub/gnu/tasks/tasks.hurd}, via anonymous FTP.
106 106
107@item 107@item
108@email{gnu@@prep.ai.mit.edu} via e-mail. 108@email{gnu@@gnu.org} via e-mail.
109 109
110@end itemize 110@end itemize
111 111
112@item 112@item
113If you are a Scheme fan, you can help develop Guile. Please have a look 113If you are a Scheme fan, you can help develop Guile. Please have a look
114at the URL @url{http://www.gnu.ai.mit.edu:/software/guile/guile.html} 114at the URL @uref{http://www.gnu.org/software/guile/guile.html}
115and then contact @email{guile@@gnu.ai.mit.edu}. 115and then contact the Guile developers at @email{guile@@gnu.org}.
116 116
117@item 117@item
118Help develop the GNU web browser, E-scape. 118Help develop XmHTML.
119 119
120@item 120@item
121Help develop Windows NT emulation for GNU systems---for example, WINE. 121Help develop software to emulate Windows NT on top of GNU systems.
122For example, you could help work on Willows Twin.
122 123
123@item 124@item
124Implement the Kermit data transfer protocol. (See below.) 125Implement the Kermit data transfer protocol. (See below.)
125 126
127@ignore This is being done (Harmony)
126@item 128@item
127Develop a free compatible replacement for Qt, a GUI toolkit library. Qt 129Develop a free compatible replacement for Qt, a GUI toolkit library. Qt
128is not free software, because users are prohibited from distributing 130is not free software, because users are prohibited from distributing
@@ -135,6 +137,12 @@ free operating systems because there is no way to make them run.
135 137
136This is leading to a serious problem, and a free replacement for Qt is 138This is leading to a serious problem, and a free replacement for Qt is
137the only solution. Hence the high degree of urgency of this project. 139the only solution. Hence the high degree of urgency of this project.
140@end ignore
141
142@item
143Develop a free replacement for a semi-free program such as Xv or POV.
144These semi-free programs are less restricted than typical proprietary
145programs, but too restricted to be part of any free operating system.
138 146
139@item 147@item
140Develop a substitute, which runs on GNU systems, for some very popular 148Develop a substitute, which runs on GNU systems, for some very popular
@@ -145,8 +153,13 @@ and which has no comparable free equivalent now.
145@node Documentation 153@node Documentation
146@chapter Documentation 154@chapter Documentation
147 155
148We very urgently need documentation for some parts of the system 156We very urgently need documentation for many existing parts of the
149that already exist or will exist very soon: 157system.
158
159Note that there are proprietary manuals for many of these topics, but
160proprietary manuals do not count, because we are not free to copy and
161modify them along with the software they document. For this reason,
162we do not recommend any non-free manuals.
150 163
151@itemize @bullet 164@itemize @bullet
152@item 165@item
@@ -154,16 +167,28 @@ A C reference manual. (RMS made a try at one, which you could start
154with). 167with).
155 168
156@item 169@item
170Reference manuals for C++, Pascal, Fortran 77, and Java.
171
172@item
157A manual for Ghostscript. 173A manual for Ghostscript.
158 174
159@item 175@item
160A manual for TCSH. 176A manual for TCSH.
161 177
162@item 178@item
163A manual for PIC (the graphics formatting language). 179A good free reference manual for Perl. The free Perl on-line reference
180documentation is good, for what it is--a list of functions and a
181description of each--but that is not the same as a reference manual.
182(Compare, for example, the Emacs Lisp Reference Manual with the
183collection of documentation strings of Emacs Lisp functions.)
164 184
165@item 185@item
166A manual for Oleo. 186A good free Perl language tutorial introduction. The existing Perl
187introductions are published with restrictions on copying and
188modification, so that they cannot be part of a GNU system.
189
190@item
191A manual for PIC (the graphics formatting language).
167 192
168@item 193@item
169A book on how GCC works and why various machine descriptions 194A book on how GCC works and why various machine descriptions
@@ -190,7 +215,8 @@ Many utilities need documentation, including @code{grep} and others.
190@item 215@item
191An improved version of the POSIX utility @code{pax}. There is one on 216An improved version of the POSIX utility @code{pax}. There is one on
192Usenet, but it is said to be poorly written. Talk with 217Usenet, but it is said to be poorly written. Talk with
193@code{thomas@@gnu.ai.mit.edu} about this project. 218@email{thomas@@gnu.org}, @email{pinard@@iro.umontreal.ca} and
219@email{juo@@klinzhai.rutgers.edu} for advice about this project.
194 220
195@ignore 221@ignore
196@item 222@item
@@ -205,12 +231,9 @@ A @code{grap} preprocessor program for @code{troff}.
205Various other libraries. 231Various other libraries.
206 232
207@item 233@item
208An emulation of SCCS that works using RCS. 234Less urgent: make a replacement for the ``writer's workbench'' program
209 235@code{style}, or something to do the same kind of job. Compatibility
210@item 236with Unix is not especially important for this programs.
211Less urgent: @code{diction}, @code{explain}, and @code{style}, or
212something to do the same kind of job. Compatibility with Unix is not
213especially important for these programs.
214@end itemize 237@end itemize
215 238
216@node Kernel Projects 239@node Kernel Projects
@@ -252,7 +275,11 @@ distribution.
252@item 275@item
253Interface GDB to Guile, so that users can write debugging commands in 276Interface GDB to Guile, so that users can write debugging commands in
254Scheme. This would also make it possible to write, in Scheme, a 277Scheme. This would also make it possible to write, in Scheme, a
255graphical interface that uses Tk and is tightly integrated into GDB. 278graphical interface that uses GTK and is tightly integrated into GDB.
279
280@item
281Extend Octave to support programs that were written
282to run on Khoros.
256 283
257@item 284@item
258Rewrite GNU @code{sed} completely, to make it cleaner. 285Rewrite GNU @code{sed} completely, to make it cleaner.
@@ -263,11 +290,14 @@ Right now they are written in Perl and TCL, respectively. There are
263also other programs, not terribly long, which we would also like 290also other programs, not terribly long, which we would also like
264to have rewritten in Scheme. 291to have rewritten in Scheme.
265 292
293Deja-GNU uses TCL via Expect. It may be easy to adapt Expect
294to work with Scheme instead of TCL.
295
266@item 296@item
267Finish the partially-implemented C interpreter project. 297Finish the partially-implemented C interpreter project.
268 298
269@item 299@item
270Help with the development of GNUStep, a GNU implementation of the 300Help with the development of GNUstep, a GNU implementation of the
271OpenStep specification. 301OpenStep specification.
272 302
273@item 303@item
@@ -283,10 +313,13 @@ files without reading entire files into core.
283An @code{nroff} macro package to simplify @code{texi2roff}. 313An @code{nroff} macro package to simplify @code{texi2roff}.
284 314
285@item 315@item
316An implementation of XML (see @uref{http://www.w3.org/XML/}).
317
318@item
286A queueing system for the mailer Smail that groups pending work by 319A queueing system for the mailer Smail that groups pending work by
287destination rather than by original message. This makes it possible 320destination rather than by original message. This makes it possible
288to schedule retries coherently for each destination. Talk to 321to schedule retries coherently for each destination. Talk to
289@code{tron@@veritas.com} about this. 322@email{tron@@veritas.com} about this.
290 323
291Smail also needs a new chief maintainer. 324Smail also needs a new chief maintainer.
292 325
@@ -305,28 +338,23 @@ An emulator for Macintosh graphics calls on top of X Windows.
305 338
306@item 339@item
307A music playing and editing system. This should work with LilyPond, a 340A music playing and editing system. This should work with LilyPond, a
308free program for music typesetting. 341GNU program for music typesetting.
342
343@item
344An ephemeris program to replace xephem (which is, alas, too restricted
345to qualify as free software).
309 346
310@item 347@item
311A program to edit dance notation (such as labanotation) and display 348A program to edit dance notation (such as labanotation) and display
312dancers moving on the screen. 349dancers moving on the screen.
313 350
314@item 351@item
315Port the Vibrant toolkit to work on X without using Motif. 352Make sure the Vibrant toolkit works with LessTif instead of Motif.
316 353
317@item 354@item
318A program to display and edit Hypercard stacks. 355A program to display and edit Hypercard stacks.
319 356
320@item 357@item
321A paint program, supporting both bitmap-oriented operations and
322component-oriented operations. @code{xpaint} exists, but isn't very
323usable.
324
325@item
326A vector-based drawing program in the spirit of Adobe Illustrator
327and Corel Draw.
328
329@item
330An interactive 3D modeling utility with rendering/raytracing capabilities. 358An interactive 3D modeling utility with rendering/raytracing capabilities.
331 359
332@item 360@item
@@ -345,36 +373,13 @@ A free library for public-key encryption.
345 373
346This library should use the Diffie-Helman algorithm for public key 374This library should use the Diffie-Helman algorithm for public key
347encryption, not the RSA algorithm, because the Diffie-Helman patent in 375encryption, not the RSA algorithm, because the Diffie-Helman patent in
348the US will expire in 1997. 376the US expired in 1997. This library can probably be developed from
349 377the code for the GNU Privacy Guard (now in development).
350@item
351A free program for sended encrypted mail using public-key encryption.
352
353This program should use the library described above for the public-key
354encryption. It should use triple-DES, not IDEA, for block encryption,
355because IDEA is patented in many countries and the patents will not
356expire soon.
357
358In other respects, it should be like PGP. If the new version of PGP
359no longer uses RSA and IDEA, compatibility with it may be feasible.
360
361There is a suggestion that the Blowfish algorithm might be a good choice
362for the non-public-key block encryption. I'm not an encryption expert
363so I don't have an opinion about that.
364
365Many people believe that PGP is free software, but that is not actually
366true. The distribution terms do not allow everyone to use and
367redistribute it. We used to think that these restrictions had been
368imposed by the patent holders for the RSA and IDEA algorithms, and that
369PGP could be free software if these algorithms were replaced by
370alternatives. But we have since learned that the owners of PGP are
371themselves unwilling to make it free software. Writing a new program is
372the only way to get free software for this job.
373 378
374@item 379@item
375A free secure telnet program more or less like ssh/sshd. Since this 380A free secure telnet program more or less like ssh/sshd. Since this
376requires a public key encryption algorithm, it is closely related to the 381requires a public key encryption algorithm, it should be based
377preceding item. 382on the library above.
378 383
379This program should follow the draft standard for ssh. As always, it 384This program should follow the draft standard for ssh. As always, it
380cannot implement the RSA algorithm, but must instead support the 385cannot implement the RSA algorithm, but must instead support the
@@ -387,14 +392,30 @@ Free software for doing secure commercial transactions on the web.
387This too needs public key encryption. 392This too needs public key encryption.
388@end itemize 393@end itemize
389 394
395A free replacement for PGP is no longer listed here because the GNU
396Privacy Guard will do that job.
397
390@node Other Projects 398@node Other Projects
391@chapter Other Projects 399@chapter Other Projects
392 400
393If you think of others that should be added, please 401If you think of others that should be added, please
394send them to @code{gnu@@prep.ai.mit.edu}. 402send them to @email{gnu@@gnu.org}.
395 403
396@itemize @bullet 404@itemize @bullet
397@item 405@item
406A simple PC BIOS. On most new PCs, the BIOS is stored in writable
407memory (misleadingly known as ``flash ROM''). In order to have a wholly
408free system on these PCs, we need a free BIOS.
409
410This task is made simpler by the fact that this BIOS need only support
411enough features to enable a boot-loader such as LILO or GRUB to finish
412loading the kernel. Neither Linux nor Mach actually uses the BIOS once
413it starts up. Also, it is not absolutely necessary to do all the many
414diagnostics that an ordinary BIOS does (though it would be useful to do
415some of them). However, there may be a need to configure certain data
416in the computer in a way that is specific to each model of computer.
417
418@item
398A free program that can transfer files on a serial line 419A free program that can transfer files on a serial line
399using the same protocol that Kermit uses. 420using the same protocol that Kermit uses.
400 421
@@ -405,11 +426,6 @@ An imitation of Page Maker or Ventura Publisher.
405An imitation of @code{dbase2} or @code{dbase3} (How dbased!) 426An imitation of @code{dbase2} or @code{dbase3} (How dbased!)
406 427
407@item 428@item
408A bulletin board system. There are a few free ones, but they don't have
409all the features that people want in such systems. It would make sense
410to start with an existing one and add the other features.
411
412@item
413A general ledger program, including support for accounts payable, 429A general ledger program, including support for accounts payable,
414account receivables, payroll, inventory control, order processing, etc. 430account receivables, payroll, inventory control, order processing, etc.
415 431
@@ -418,8 +434,11 @@ A teleconferencing program which does the job of CU-SeeMe (which is,
418alas, not free software). 434alas, not free software).
419 435
420@item 436@item
421A program to typeset C code for printing. 437A free replacement for Glimpse, which is not free software.
422For ideas on what to do, see the book, 438
439@item
440A program to typeset C code for printing, to make it easier to read on
441paper. For ideas on what to do, see the book,
423 442
424@display 443@display
425Human Factors and Typography for More Readable Programs, 444Human Factors and Typography for More Readable Programs,
@@ -427,18 +446,36 @@ Ronald M. Baecker and Aaron Marcus,
427Addison-Wesley, ISBN 0-201-10745-7 446Addison-Wesley, ISBN 0-201-10745-7
428@end display 447@end display
429 448
430(I don't quite agree with a few of the details they propose.) 449But you don't have to do exactly what they propose.
431 450
451@ignore
452@c This is now being worked on -- rms, 22 June 1998
432@item 453@item
433A program to convert Microsoft Word documents to text/enriched, TeX, 454A program to convert Microsoft Word documents to text/enriched, TeX,
434LaTeX, Texinfo, or some other format that free software can edit. 455LaTeX, Texinfo, or some other format that free software can edit.
456@end ignore
457
458@ignore
459@c People are helping the developer of siff release it as free software.
435 460
436@item 461@item
462A free replacement for siff (sometimes called sif). THis would be a
463program to find similar files in a large file system, ``similar''
464meaning that the files contain a significant number of common substrings
465that are of a certain size or greater. You can find some information
466about siff (which is, unfortunately, not free software) at
467@uref{ftp://ftp.cs.arizona.edu/reports/1993/TR93-33.ps.Z}.
468@end ignore
469
470@ignore
471@c This is being developed -- rms, 3 May 1998
472@item
437A free replacement for the semi-free Qt library. 473A free replacement for the semi-free Qt library.
474@end ignore
438 475
439@item 476@item
440High-quality music compression software. 477High-quality music compression software.
441(Talk with phr@@netcom.com for relevant suggestions.) 478(Talk with @email{phr@@netcom.com} for relevant suggestions.)
442 479
443@item 480@item
444A program to play sound distributed in ``Real Audio'' format. 481A program to play sound distributed in ``Real Audio'' format.
@@ -446,6 +483,9 @@ A program to play sound distributed in ``Real Audio'' format.
446@item 483@item
447A program to generate ``Real Audio'' format from audio input. 484A program to generate ``Real Audio'' format from audio input.
448 485
486@item
487Programs to handle audio in RTSP format.
488
449@ignore @c Software patents have made this domain off limits to free software. 489@ignore @c Software patents have made this domain off limits to free software.
450@item 490@item
451An MPEG III audio encoder/decoder (but it is necessary to check, first, 491An MPEG III audio encoder/decoder (but it is necessary to check, first,
@@ -459,6 +499,14 @@ could improve).
459@item 499@item
460Speech-recognition programs (single-speaker, disconnected speech is sufficient). 500Speech-recognition programs (single-speaker, disconnected speech is sufficient).
461 501
502@ignore Being done
503@item
504A program to display text word by word, always showing just one word at
505a time. This method permits much faster reading than ordinary text
506display. If you want to work on this, contact @email{stutz@@dsl.org} to
507learn more.
508@end ignore
509
462@item 510@item
463More scientific mathematical subroutines. 511More scientific mathematical subroutines.
464(A clone of SPSS is being written already.) 512(A clone of SPSS is being written already.)
@@ -519,15 +567,15 @@ reverse-engineering of communication protocols.
519@chapter Compilers for Other Batch Languages 567@chapter Compilers for Other Batch Languages
520 568
521Volunteers are needed to write parsers/front ends for languages such as 569Volunteers are needed to write parsers/front ends for languages such as
522Algol 60, Algol 68, PL/I, Cobol, Fortran 90, Eiffel, or whatever, to be 570Algol 60, Algol 68, PL/I, Cobol, Fortran 90, or whatever, to be
523used with the code generation phases of the GNU C compiler. 571used with the code generation phases of the GNU C compiler.
524 572
525@c Fortran status is here so gnu@prep and the volunteer coordinators 573@c Fortran status is here so gnu@gnu.org and the volunteer coordinators
526@c don't have to answer the question -len 574@c don't have to answer the question -len
527You can get the status of the Fortran front end with this command: 575You can get the status of the Fortran front end with this command:
528 576
529@example 577@example
530finger -l fortran@@gnu.ai.mit.edu 578finger -l fortran@@gnu.org
531@end example 579@end example
532 580
533@node Games and Recreations 581@node Games and Recreations
@@ -547,7 +595,11 @@ simulation games.
547Improve GnuGo, which is not yet very sophisticated. 595Improve GnuGo, which is not yet very sophisticated.
548 596
549@item 597@item
550Write imitations of some popular video game: 598A Hierarchical Task Network package which can be used
599to program play the computer's side in various strategic games.
600
601@item
602Write imitations of some popular video games:
551 603
552@itemize - 604@itemize -
553@item 605@item
@@ -557,12 +609,14 @@ Defending cities from missiles.
557@item 609@item
558Plane shoots at lots of other planes, tanks, etc. 610Plane shoots at lots of other planes, tanks, etc.
559@item 611@item
560Wizard fights fanciful monster. 612Wizard fights fanciful monsters.
561@item 613@item
562A golf game. 614A golf game.
615@ignore Being done by jhall1@isd.net
563@item 616@item
564Program a robot by sticking building blocks together, 617Program a robot by sticking building blocks together,
565then watch it explore a world. 618then watch it explore a world.
619@end ignore
566@item 620@item
567Biomorph evolution (as in Scientific American and @cite{The Blind 621Biomorph evolution (as in Scientific American and @cite{The Blind
568Watchmaker}). 622Watchmaker}).
@@ -576,3 +630,9 @@ We do not need @code{rogue}, as we have @code{hack}.
576@contents 630@contents
577 631
578@bye 632@bye
633Local variables:
634update-date-leading-regexp: "@c This date is automagically updated when you save this file:\n@set lastupdate "
635update-date-trailing-regexp: ""
636eval: (load "/gd/gnuorg/update-date.el")
637eval: (add-hook 'write-file-hooks 'update-date)
638End: