diff --git a/TODO b/TODO new file mode 100644 index 000000000000..96df7e69659b --- /dev/null +++ b/TODO @@ -0,0 +1,154 @@ +** To skip this preamble, search forward for the pattern `**'. + +This file contains a list of ideas that people have come up for "good +things to do" in FreeBSD 2.0. These aren't necessarily things on the +fast-track, and in fact consist mostly of things that the core team is +never going to find the time to do so, if most things here are going +to happen at all, they'll happen when someone reading this list steps +forward and volunteers! + +That said, a lot of these ideas would be very nice to have and would +add substantially to the perceived value of FreeBSD. Some items on +this list would add a LOT of value, for that matter, and are by no +means trivial. Take and fix an item with a (*) next to it and WC will +even send you a free 2.0 CD for your troubles! It's the least they +can do for all notable contributors. + +This is a also good place to look if you're keen for a little +assignment, whole project or just something random to do. Many folks +often feel intimidated by the sheer size of FreeBSD and think "I'd +like to pitch in somehow, but god, what can _I_ do? I can't possibly +do any of the things the core team are doing - aiiggh! They'll laugh +at my code, I know it! I can't do it!" +Trust us, don't worry! Take a dedicated stab at something on this +list and most of us will applaud - even if you don't finish, you may +stir someone else into picking it up where you left off. Above all, +pick something you'll have fun doing! + +There are small things and large things in this list, and we may +periodically reshuffle it to mark things done, outdated or more +important. Tasks are tagged with a unique ID number (YYMMDDNNN) for +later tracking and are also easily machine-parsable by those seeking +to browse them with some home-rolled search program. Some indication +of relative difficulty level is also given for each task, though it +should be kept in mind that one persons "easy" is anothers +"impossible", so take the ratings with a grain of salt! :) + +If you start working on something from this list, we also suggest that +you contact the email-address listed for more information and to +provide some central coordination for your effort. If the email +address given is simply then the email address can be presumed +to be . If no email address is listed, then +simply send to . + +Thanks! + + The FreeBSD core team. + +** --- cut here --- + +TASKID: 940820001 +TASK: Add interupts and pseudo-dma to pas.c +DETAIL: { You'll need a manual for the ncr-5380 chip and possibly some +doc on the PAS16. Linux/NetBSD also have existing drivers to study. } +EMAIL: +CATS: kernel scsi +GRADE: ADVANCED +STATUS: OPEN + +TASKID: 940820002 +TASK: Add Linux/Crynwr compatible plip mode to lpt.c +DETAIL: { Use IF_LLC0 as mode-flag. Look at the crynwr packet-driver +plip.asm (ftp::ftp.ftp.com) and the linux driver for reference. } +EMAIL: +CATS: kernel networking +GRADE: ADVANCED +STATUS: OPEN + +TASKID: 940820003 +TASK: Add laptop-feature to wd.c +DETAIL: { If disk just spun up, do sync when we have it running. Need +to detect that disk was turned off, e.g. had a long delay in becomming +ready again. } +EMAIL: +CATS: kernel laptop +GRADE: INTERMEDIATE +STATUS: OPEN + +TASKID: 940820004 +TASK: Add hot-swap PCMICIA bus and driver support. +DETAIL: { Several teams in Linux and one in NetBSD are working on providing +hot insertion/removal and autoconfiguration of PCMCIA cards. This task +also requires some modification of existing drivers to support being used +by PCMCIA cards. This task is both really hard and comparatively easy; +hard because it's a big job, easy because others have already gone much of +the way and you have their work for reference. } +EMAIL: +CATS: kernel laptop +GRADE: ADVANCED +STATUS: OPEN (*) + +TASKID: 940820005 +TASK: Salvage seagate.c driver from 1.1.5.1 +DETAIL: { We've got a seagate driver that could use a little cleanup and +migration effort } +EMAIL: +CATS: kernel scsi +GRADE: BEGINNER +STATUS: OPEN + +TASKID: 940820006 +TASK: Add bootp/DHCP to the generic ethernet code. +DETAIL: { Implement an ioctl(), which will send a bootp on a particular +interface and return the data in a usable format. OR make a program which uses +existing ioctls to do it. See RFC153[34] for information on DHCP. } +EMAIL: +CATS: kernel networking +GRADE: ADVANCED +STATUS: OPEN + +TASKID: 940820007 +TASK: Add bootp/DHCP capability to slip driver. +DETAIL: { Cisco's products implement this. Both master and slave side would be +desirable. } +EMAIL: +CATS: kernel networking +GRADE: ADVANCED +STATUS: OPEN + +TASKID: 940820008 +TASK: Make the netboot.com program use all of the bootp-reply. +DETAIL: { Make the netboot.com program use all of the bootp-reply. +Presently it ignores the "gateway" field entirely. } +EMAIL: +CATS: kernel networking +GRADE: ADVANCED +STATUS: OPEN + +TASKID: 940820009 +TASK: Make a freebsd.com MS-DOS boot program +DETAIL: { This program should be able to boot like the boot-blocks, that is +find a FreeBSD-partition and load the kernel from there, but it should +also be able to load the kernel from an optional MS-DOS file. } +EMAIL: +CATS: kernel DOS +GRADE: ADVANCED +STATUS: OPEN + +TASKID: 940820010 +TASK: Make iostat find the disks +DETAIL: { This is actually mostly a change to the device-drivers to collect +the information in the first place. } +EMAIL: +CATS: kernel +GRADE: INTERMEDIATE +STATUS: OPEN + +TASKID: 940820011 +TASK: Silence "cc -Wall" +DETAIL: { Lots of warnings if you try this. You will find this a challenge +actually, and it is good training in the C language.} +EMAIL: +CATS: kernel user +GRADE: INTERMEDIATE +STATUS: OPEN