Home | History | Annotate | Line # | Download | only in doc
      1 #	$NetBSD: TODO,v 1.21 2020/05/28 20:27:41 jmcneill Exp $
      2 
      3 THINGS TO BE DONE:
      4 
      5 [ Note that this list does not include change requests filed via 'gnats'.
      6   For information about them, mail query-pr (a] NetBSD.org. ]
      7 
      8 This is a list of things that need to be done for NetBSD.  Some of
      9 these projects are small, others are large.  Some are extremely
     10 important, others are enhancements to make the system more flexible
     11 for the wide variety of NetBSD users and their applications.
     12 
     13 In general there are some guidelines for work to be included in
     14 NetBSD.  Chief among these are:
     15 
     16 	   (1) Keep GPLed stuff out of the kernel.
     17 	   (2) Introduce little to no more GPLed stuff as non-optional
     18 	       components of the user environment.
     19 	   (3) Only clean code, that lends itself to further enhancement
     20 	   (4) Keep architecture dependent code out of architecture independent
     21 	       directories
     22 
     23 Associated with some entries are login names which indicate persons or
     24 groups who may already be working on that problem.  This isn't to say
     25 that others shouldn't also look at it, but consultation with other
     26 parties may result in less duplicated work.  A directory of these
     27 persons can be found after the todo list itself.
     28 
     29 Please don't hesitate to suggest more projects for this list.
     30 Suggestions, comments, etc to projects (a] NetBSD.org.
     31 
     32 High Kernel:
     33     swap fixes:
     34 	swap to file of dynamic size; see apollo
     35 
     36 User programs:
     37     rwall nfs-mountees on shutdown
     38 
     39 This is a list of suggested smaller projects (in no particular order):
     40 
     41 + speed up sort(1) by using mmap(2) rather than temp files
     42 + port valgrind to NetBSD for pkgsrc, then use it to do an audit of
     43   any memory leakage
     44 + simplify some of the quirks in our build system
     45 + investigate zebra or quagga in gnusrc rather than routed
     46 + do a type-punned pointer sweep for -fstrict-aliases (and fix the
     47   problems, not the symptoms)
     48 + perhaps look at putting wonka into src/ (with uuencoded class lib?)
     49 + write an overview document for openssl and certificates
     50 + documentation project help
     51 + Examine our vnode locking and vfs layer and see what needs to be changed
     52   for locking in layered filesystems to really work
     53 + Make mountd(8) update the in-kernel exports list for each file system
     54   atomically.  Many parts of the utility will need a rewrite, but the kernel
     55   functionality is already there (just enable the "notyet" blocks of code in
     56   sys/nfs/nfs_export.c).
     57