NetBSD Projects

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.

BSD daemon

List of Projects

NetBSD Ports

NetBSD Userland

NetBSD Kernel

Filesystems

Networking

pkgsrc

Miscellaneous


NetBSD Ports

Port NetBSD to SGI Octane and Origin machines (top)

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 ).

Contact(s): [port-sgimips]

See also: NetBSD/sgimips.

Support for MMU-less systems (top)

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]

Zaurus (top)

Port NetBSD to Sharp's Zaurus PDA.

Contact(s): [tech-misc | tech-ports]

IA64 (top)

Port NetBSD to Intel's Itanium CPU.

Contact(s): [port-ia64 | tech-misc | tech-ports]

Other Port suggestions (top)

See this page for ideas about suggested ports or not yet integrated ports.

Contact(s): [tech-ports | tech-embed]


NetBSD Userland

WiFi browser (top)

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]

BSD licensed privacy guard (top)

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/

Wide Character Support in curses (top)

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/

BSD licensed rsync replacement (top)

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]

Dynamic NSS modules (top)

Add support in libc for Name Service System (NSS) plug-ins.

Contact(s): [tech-userlevel]


NetBSD Kernel

Improve FFS (top)

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]

Improve Caching (top)

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]

Improve writing to FS (top)

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]

NetBSD block device driver for NAND flash chips (top)

Contact(s): [tech-embed]

Flash translation layer (top)

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]

Compressed Cache System (top)

NetBSD version of compressed cache system (for low-memory devices): http://linuxcompressed.sourceforge.net/

Contact(s): [tech-embed]

Debug softdep on slow machines (top)

Contact(s): [tech-kern]

See also: [PR 28621]

Real time support (top)

Support realtime signals and process scheduling according to POSIX standards.

Contact(s): [tech-kern]

Bluetooth support (top)

Add support for bluetooth devices.

Contact(s): [tech-kern]


Filesystems

BSD licensed XFS (top)

Implement a BSD licensed XFS.

Contact(s): [tech-kern]

BSD licensed JFS (top)

Implement a BSD licensed JFS.

Contact(s): [tech-kern]

BSD licensed HFS+ (top)

Implement a BSD licensed HFS+.

See: http://netbsd-soc.sourceforge.net/projects/hfs/

Journaling for UFS (top)

Solaris UFS provides for a journaling filesystem with snapshots. Extend UFS/UFS2 similarly.

Contact(s): [tech-kern]

ACLs (top)

Implement Access Control Lists based on POSIX1e.

Contact(s): [tech-security | tech-kern]

See also: [http://wt.xpilot.org/publications/posix.1e/download.html/]

resize_ffs (top)

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]


Networking

Teredo: Tunneling IPv6 over UDP through NATs (top)

http://www.ietf.org/rfc/rfc4380.txt

Contact(s): [tech-net]

Kismet (top)

Improve on the Kismet design and implementation in a Kismet replacement for BSD.

Contact(s): [tech-net]

NDIS network driver (top)

Port FreeBSD's NDIS network driver to NetBSD.

See: http://netbsd-soc.sourceforge.net/projects/ndis/

Policy routing (top)

Implement the ability to route based on properties like QoS label, source address, etc.

Contact(s): [tech-net]

Cleanup routing code (top)

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]

Implement IPv6 ipflow_fastforward (top)

Write an IPv6 counterpart to ipflow_fastforward in IPv4.

Contact(s): [tech-net]

zeroconf (top)

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/


pkgsrc

Unprivileged pkgsrc builds (top)

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]

Parallel bulk builds (top)

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]


Miscellaneous

syspkgs (top)

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]

valgrind (top)

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.

NetBSD LiveCD with installer (top)

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]

CD Bootloader (top)

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  | tech-install | netbsd-users]

See also: [http://www.feyrer.de/g4u/]

Automate regression framework (top)

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 %
Copyright © 1994-2006 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.
NetBSD® is a registered trademark of The NetBSD Foundation, Inc.