FreeBSD is a modern open source operating system for servers, desktops, and embedded systems, based on over 30 years of continuous development. The FreeBSD Project has participated as a mentoring organization in Google Summer of Code each year since the program’s inception in 2005. This year, FreeBSD mentored 18 students with a final success rate of 89%. The cumulative total over 6 years has been 117 students improving FreeBSD. This participation in the program has brought many new features into FreeBSD, several new long-term committers to the project, and many of the former students have by now joined some of the mentors as colleagues at their respective companies.

A complete list of FreeBSD Projects is available from the wiki, but I wanted to select a small number of the many successful projects to showcase here.
Efstratios Karatzas's project extended the FreeBSD NFS server to support security auditing (logging) of client activity -- before his work, as with most systems out there, FreeBSD logged only local file system activity. This work is valuable and timely: FreeBSD is used widely as a file server, as well as being the foundation OS for numerous storage products including NetApp, Isilon, Panasas, and the open source FreeNAS. We look forward to shipping this feature in FreeBSD 9.0, as the patches mature, as well as seeing Efstratios at EuroBSDCon in Karlsruhe this autumn!

Zheng Liu spent the summer working with veteran FreeBSD kernel hacker John Baldwin on enhancing FreeBSD’s ext2fs to support preallocation and implementing read-only support for ext4 file systems. This was a particularly challenging project and Zheng Liu’s efforts at benchmarking his new implementation and documenting his work were particularly appreciated. This work will likely be included in an upcoming FreeBSD release.

David Forsythe returned to the Google Summer of Code program this year to work on developing a robust library with a clean API to manage FreeBSD packages. The goal is to abstract out some of the capabilities used in the current package tools into a library so they can be easily reused by new tools. David has even started assembling some replacements for the existing package tools implemented on top of his new library, and did a great job coordinating with other students and developers working in this area over the summer.
As usual our mentors are looking forward to continuing to work with their students to leverage all the great work that was done this summer, and to working with new contributors on exciting projects in operating systems, networking, and security research throughout the year.

Thanks to FreeBSD Administrators Robert Watson, Brooks Davis, and Tim Kientzle for helping to put together this post, and to all the other FreeBSD Mentors for helping run another successful Google Summer of Code for the FreeBSD Project.

By Murray Stokely, Software Engineering Team