GSoC/GCI Archive
Google Summer of Code 2011

The NetBSD Foundation

Web Page:

Mailing List:

NetBSD is a free, secure, and highly portable Unix-like Open Source operating system available for many platforms, from 64-bit Opteron machines and desktop systems to handheld and embedded devices.

Its clean design and advanced features make it excellent in both production and research environments, and it is user-supported with complete source.

Many applications are easily available through pkgsrc, the NetBSD Packages Collection.

While the project is old and much is already done, spotless perfection has not yet been attained :) and we welcome all help getting there.
Also, there are always new things that want implementing and thus, implementors.



  • Add kqueue support to GIO The primary goal of the project is to bring the file system monitoring support to GIO port on NetBSD using kqueue. The second goal is to implement a compatibility library that exposes an inotify interface on top of kqueue.
  • Add support for FreeBSD package format, RPM and Debian packages(if time allows) to pkgsrc Adding ability to build packages in format other than the pkgsrc-native, focusing on FreeBSD ports, .rpm and .dpkg, install and de-install them using their corresponding native package tools. This will increase utility value of pkgsrc.
  • Apropos replacement based on mandoc and SQLite's FTS The best thing about NetBSD is that it ships with a lot of useful and helpful documentation which should obviate the need for looking for any outside help. However, there has been a lack of good search utility that would make this documentation easily available to the users. In the age of Google, it seems necessary to rethink this. This project aims to develop a replacement for apropos that provides full text search capabilities using the FTS engine of sqlite3.
  • Implementing the algorithms described in RFC 6056 within the NetBSD kernel. I would like to approach the implementation of the algorithms described in RFC 6056 into the NetBSD kernel.
  • In-kernel implementation of posix_spawn We need a posix_spawn implementation which combine fork() and exec() in one system call. This will benefit the growing amount of multithread applications and make NetBSD more posix compatible.
  • IPv6 support for NPF firewall NPF is a recently committed firewall for NetBSD, but it currently lacks IPv6 support. The goal of the project is to add this support. This will include updating the userspace tools and documentation too.
  • pkgsrc cross-building: connecting the dots NetBSD and pkgsrc already provide the building blocks for cross-compiling packages. The purpose of this project is to connect the dots, making it easier to deploy an environment for cross-building packages. It should be as straightforward as installing cross/pgksrc-amd64-to-vax, in order to be able to build vax packages on an amd64 host. We will deal only with packages that already allow cross-compilation (i.e., we will no try to fix those that don't).
  • Userspace file system and device driver code sharing NetBSD has pud - Pass-to-Userspace Device, which provides support for implementing character and block device servers in userspace. However pud doesn't have it's userspace library, leaving much work for the device driver implementer. Also NetBSD has puffs - a framework for implementing filesystems in userspace with it's userspace library, libpuffs. The goal of the project is to move generic parts from libpuffs to the separate library and provide libpuffs and libpud based on this library.