On this page you will find an obviously non-exhaustive list of non-trivial projects that either immediately benefit NetBSD or are of general interest to NetBSD and the Open Source Community. Most of the projects on this page have at least one NetBSD developer who has expressed interest and would be willing to assist/overlook the implementation to a certain degree. Please also see src/doc/TODO and pkgsrc/doc/TODO. If you are interested in working on any of these projects, please contact the mailing list referenced next to each item. The interested developers will be glad to respond to you there. |
NetBSD/sgimips currently runs on a number of SGI hardware, but support for
IP27 (Origin) and IP30 (Octane) is not yet available. An Octane for
development is available for pickup in Hoboken, NJ (contact Jan Schaumann
<jschauma>
).
Contact(s): [port-sgimips]
See also: NetBSD/sgimips.
NetBSD currently requires a system with an MMU. This obviously limits the portability. We'd be interested in an implementation/port of NetBSD on/to an MMU-less system.
Contact(s): [tech-misc | tech-ports]
Port NetBSD to Sharp's Zaurus PDA.
Contact(s): [tech-misc | tech-ports]
Port NetBSD to Intel's Itanium CPU.
Contact(s): [port-ia64 | tech-misc | tech-ports]
See this page for ideas about suggested ports or not yet integrated ports.
Contact(s): [tech-ports | tech-embed]
Create an easy to use wifi setup widget for NetBSD: browse and select networks in the vicinity by SSID, BSSID, channel, etc.
Contact(s): [tech-userlevel | tech-net]
Write a BSD-licensed privacy guard like gnupg or pgp. It may be possible to reuse the encryption algorithms implemented in OpenSSL.
See: http://netbsd-soc.sourceforge.net/projects/bpg/
The NetBSD curses library currently does not support wide characters, which makes it somewhat unsuitable for internationalization. Let's fix this!
See: http://netbsd-soc.sourceforge.net/projects/wcurses/
Create a BSD licensed drop-in replacement for rsync that can handle large numbers of files/directories and large files efficiently.
Contact(s): [tech-userlevel]
Add support in libc for Name Service System (NSS) plug-ins.
Contact(s): [tech-userlevel]
Remove the residual geometry code and datastructures from FFS (keep some kind of "allocation groups" but without most of what cylinder groups now have) and replace blocks and fragments with extents, yielding a much simpler filesystem well suited for modern disks,
Contact(s): [tech-kern]
Replace all of the knobs and wacky algorithms for sizing the many separate LRU caches in our kernel (for pages and for various kinds of objects like metadata buffers, mbufs, etc.) with a generalized (N-way) algorithm like IBM's ARC ("Adaptive Replacement Cache") to size all the caches for optimal hit rate.
Contact(s): [tech-kern]
Apply TCP-like flow control to processes writing to the filesystem (put them to sleep when there is "congestion"), to avoid enormous backlogs and provide more fair allocation of disk bandwidth.
Contact(s): [tech-kern]
Contact(s): [tech-embed]
Implement flash-translation layer to handle bad-block management/wear leveling such that a FFS filesystem could be placed on above NAND flash chip.
Contact(s): [tech-embed]
NetBSD version of compressed cache system (for low-memory devices): http://linuxcompressed.sourceforge.net/
Contact(s): [tech-embed]
Contact(s): [tech-kern]
See also: [PR 28621]
Support realtime signals and process scheduling according to POSIX standards.
Contact(s): [tech-kern]
Add support for bluetooth devices.
Contact(s): [tech-kern]
Implement a BSD licensed XFS.
Contact(s): [tech-kern]
Implement a BSD licensed JFS.
Contact(s): [tech-kern]
Implement a BSD licensed HFS+.
See: http://netbsd-soc.sourceforge.net/projects/hfs/
Solaris UFS provides for a journaling filesystem with snapshots. Extend UFS/UFS2 similarly.
Contact(s): [tech-kern]
Implement Access Control Lists based on POSIX1e.
Contact(s): [tech-security | tech-kern]
See also: [http://wt.xpilot.org/publications/posix.1e/download.html/]
The NetBSD source tree contains the resize_ffs
tool, which allows
users to grow or shrink filesystems. This tool needs a regression test suite,
general code review, stability improvements and could be ported to UFS2 etc.
Contact(s): [tech-kern]
http://www.ietf.org/rfc/rfc4380.txt
Contact(s): [tech-net]
Improve on the Kismet design and implementation in a Kismet replacement for BSD.
Contact(s): [tech-net]
Port FreeBSD's NDIS network driver to NetBSD.
See: http://netbsd-soc.sourceforge.net/projects/ndis/
Implement the ability to route based on properties like QoS label, source address, etc.
Contact(s): [tech-net]
Write tests for the routing code and re-factor. Use more and better-named variables.
PCBs and other structures are sprinkled with route caches (struct route). Sometimes they do not get updated when they should. It's necessary to modify rtalloc(), at least. Fix that. Note XXX in rtalloc(); this may mark a potential memory leak!
Contact(s): [tech-net]
Write an IPv6 counterpart to ipflow_fastforward
in IPv4.
Contact(s): [tech-net]
NetBSD needs a daemon that automatically assigns IPv4 link-level addresses. NetBSD also needs an Multicast DNS responder and a BSD-licensed Multicast DNS library would also be desirable.
See: http://netbsd-soc.sourceforge.net/projects/zeroconf/
For the most part, pkgsrc requires superuser privileges. While some bits are in place to let normal users take advantage of pkgsrc, complete abstraction from the superuser as far as possible still needs some work.
Contact(s): [tech-pkg]
pkgsrc bulk builds -- that is, building all available packages in sequence -- are currently done without any parallelization. Changing the infrastructure to be aware of any clustered environments, delegating tasks to different nodes and building things in parallel whenever possible would greatly help us provide up-to-date packages much faster.
Some work as been done in this area (with a framework called “bobac”), but no fully functional solution is in place.
Contact(s): [tech-pkg | tech-cluster]
syspkgs is the concept of using pkgsrc's
pkg_*
tools to maintain the base system. That is, allow users to
register and delete/update/install components of the base system with more
ease. There has been a lot of work in this area already, but it has not yet
been finalized.
Contact(s): [tech-install | tech-misc]
Port valgrind to NetBSD for pkgsrc, then use it to do an audit of any memory leakage.
Contact(s): [tech-kern]
See also: http://valgrind.org.
While NetBSD has had LiveCDs for a while, there has not yet been a LiveCD that allows users to install NetBSD after test-driving it. A LiveCD that contains a GUI based installer and reliably detects the platforms features would be very useful.
Contact(s): [tech-install | netbsd-users]
Create a BSD-licensed bootloader for CDROM/DVDs that does not use the El Torito boot extension, for integration into NetBSD and creation of bootable Live- and Install-CDs. This could happen in cooperation with the g4u Open Source project.
Contact(s): [Martin Husemann <martin>
| tech-install | netbsd-users]
See also: [http://www.feyrer.de/g4u/]
Rework the NetBSD regression framework to allow automated testing.
NetBSD has a lot of regression tests at various levels collected in src/regress. The tests have been added as problems have been found, but there currently is not easy/automated way to test a given system against all the tests. Other projects, for example gcc, have created out of the box testsuites, that can be run via something simple as “make test”. For a complete operating system, portable to many architectures, this is not possible.
The project is: get as much automation as possible, and optionally design a method how the regression suite could be run in a “build lab” environment on multiple machienes of different architecture.
Contact(s): [tech-toolchain]
See also: [PR 23952]
(contact us) Generated from %NetBSD: projects.xml,v 1.19 2006/03/13 01:52:41 minskim Exp %