11.21Sjmcneill#	$NetBSD: TODO,v 1.21 2020/05/28 20:27:41 jmcneill Exp $
21.1Slukem
31.1SlukemTHINGS TO BE DONE:
41.1Slukem
51.1Slukem[ Note that this list does not include change requests filed via 'gnats'.
61.1Slukem  For information about them, mail query-pr@NetBSD.org. ]
71.1Slukem
81.1SlukemThis is a list of things that need to be done for NetBSD.  Some of
91.1Slukemthese projects are small, others are large.  Some are extremely
101.1Slukemimportant, others are enhancements to make the system more flexible
111.1Slukemfor the wide variety of NetBSD users and their applications.
121.1Slukem
131.1SlukemIn general there are some guidelines for work to be included in
141.1SlukemNetBSD.  Chief among these are:
151.1Slukem
161.1Slukem	   (1) Keep GPLed stuff out of the kernel.
171.1Slukem	   (2) Introduce little to no more GPLed stuff as non-optional
181.1Slukem	       components of the user environment.
191.1Slukem	   (3) Only clean code, that lends itself to further enhancement
201.1Slukem	   (4) Keep architecture dependent code out of architecture independent
211.1Slukem	       directories
221.1Slukem
231.1SlukemAssociated with some entries are login names which indicate persons or
241.1Slukemgroups who may already be working on that problem.  This isn't to say
251.1Slukemthat others shouldn't also look at it, but consultation with other
261.1Slukemparties may result in less duplicated work.  A directory of these
271.1Slukempersons can be found after the todo list itself.
281.1Slukem
291.1SlukemPlease don't hesitate to suggest more projects for this list.
301.1SlukemSuggestions, comments, etc to projects@NetBSD.org.
311.1Slukem
321.1SlukemHigh Kernel:
331.1Slukem    swap fixes:
341.1Slukem	swap to file of dynamic size; see apollo
351.1Slukem
361.1SlukemUser programs:
371.1Slukem    rwall nfs-mountees on shutdown
381.1Slukem
391.4SagcThis is a list of suggested smaller projects (in no particular order):
401.4Sagc
411.4Sagc+ speed up sort(1) by using mmap(2) rather than temp files
421.4Sagc+ port valgrind to NetBSD for pkgsrc, then use it to do an audit of
431.4Sagc  any memory leakage
441.4Sagc+ simplify some of the quirks in our build system
451.4Sagc+ investigate zebra or quagga in gnusrc rather than routed
461.19Smrg+ do a type-punned pointer sweep for -fstrict-aliases (and fix the
471.19Smrg  problems, not the symptoms)
481.4Sagc+ perhaps look at putting wonka into src/ (with uuencoded class lib?)
491.4Sagc+ write an overview document for openssl and certificates
501.4Sagc+ documentation project help
511.12Sagc+ Examine our vnode locking and vfs layer and see what needs to be changed
521.12Sagc  for locking in layered filesystems to really work
531.13Sjmmv+ Make mountd(8) update the in-kernel exports list for each file system
541.13Sjmmv  atomically.  Many parts of the utility will need a rewrite, but the kernel
551.13Sjmmv  functionality is already there (just enable the "notyet" blocks of code in
561.13Sjmmv  sys/nfs/nfs_export.c).
57