TODO revision 1.19
11.19Smrg# $NetBSD: TODO,v 1.19 2015/02/19 11:20:43 mrg 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.1Slukemi386 kernel support: 401.8Sjunyoung make use of sysenter/sysexit instructions on PIII/4 and Athlon for 411.8Sjunyoung reducing syscall overhead. 421.4Sagc 431.4SagcThis is a list of suggested smaller projects (in no particular order): 441.4Sagc 451.4Sagc+ speed up sort(1) by using mmap(2) rather than temp files 461.4Sagc+ port valgrind to NetBSD for pkgsrc, then use it to do an audit of 471.4Sagc any memory leakage 481.4Sagc+ simplify some of the quirks in our build system 491.4Sagc+ investigate zebra or quagga in gnusrc rather than routed 501.19Smrg+ do a type-punned pointer sweep for -fstrict-aliases (and fix the 511.19Smrg problems, not the symptoms) 521.8Sjunyoung+ write a BSD-licensed web browser 531.4Sagc+ perhaps look at putting wonka into src/ (with uuencoded class lib?) 541.4Sagc+ write an overview document for openssl and certificates 551.4Sagc+ documentation project help 561.12Sagc+ Examine our vnode locking and vfs layer and see what needs to be changed 571.12Sagc for locking in layered filesystems to really work 581.13Sjmmv+ Make mountd(8) update the in-kernel exports list for each file system 591.13Sjmmv atomically. Many parts of the utility will need a rewrite, but the kernel 601.13Sjmmv functionality is already there (just enable the "notyet" blocks of code in 611.13Sjmmv sys/nfs/nfs_export.c). 62