FreeBSD projects are funded entirely through generous donations from FreeBSD community members and outside businesses interested in our mission.

The projects listed on this page are funded by donations given to The FreeBSD Foundation. There are many on-going projects being worked on by volunteers, companies, etc. for the FreeBSD Project. To find out more about these projects please visit the FreeBSD Project’s website.

To help fund future projects please consider making a donation to the foundation. 

Submit a Project Proposal

The FreeBSD Foundation is soliciting the submission of proposals for work relating to any of the major subsystems or infrastructure within the FreeBSD operating system. Proposals will be evaluated based on desirability, technical merit and cost-effectiveness.  

Please see the Project Proposal Overview for a short review of the process. For more in-depth information, please see the Submission Guidelines.

In Progress

VPP on FreeBSD

Vector Packet Processing (VPP) is an open-source, high-performance user space networking stack that provides fast packet processing suitable for software-defined networking and network function virtualization applications. VPP aims to optimize packet processing through vectorized operations and parallelism, making it well-suited for high-speed networking applications. Starting in November 2023, the Foundation began a contract with Tom Jones, a FreeBSD developer specializing in network performance, to port VPP to FreeBSD.

Read more

In Progress

Continuous Integration Enhancements

FreeBSD's CI infrastructure is based on Jenkins. A job is run every time a developer pushes a commit to the FreeBSD src repository. There is a desire to make this more accessible for developers in a pre-commit environment by integrating them into FreeBSD's build system. Similar to how make universe or make tinderbox builds all supported architectures, make ci would achieve something similar for all the supported builds.

Read more

In Progress

FreeBSD as a Tier I cloud-init Platform

cloud-init is the standard way of provisioning servers in the cloud. Unfortunately, cloud-init’s support for operating systems other than Linux is rather poor and the lack of cloud-init support on FreeBSD is a hindrance to cloud providers who want to offer FreeBSD as a Tier I platform. To remedy this, the FreeBSD Foundation has contracted Mina Galić to bring FreeBSD cloud-init support on par with Linux support.

Read more

In Progress

OpenStack on FreeBSD

OpenStack is an open-source cloud operating system for many kinds of resources, from virtual machines, containers, to bare-metal servers. However, OpenStack's control plane mainly targets Linux. FreeBSD is only unofficially supported as a guest operating system. Users can spawn FreeBSD instances on the open cloud platform, but it is not currently possible for administrators or operators to set up OpenStack deployments running on FreeBSD hosts. Given the increasingly important role of cloud-based deployments, and the popularity of OpenStack with various cloud providers, the FreeBSD Foundation has contracted Chin-Hsin Chang to port OpenStack components, so that OpenStack can be run on FreeBSD hosts.

Read more

In Progress

WiFi update - Intel drivers and 802.11ac

The FreeBSD WiFi stack needs ongoing maintenance and development to keep up with new standards and devices. The Foundation is funding Bjoern Zeeb to integrate support for current-generation Intel WiFi devices by migrating to the dual-licensed upstream driver in the Linux kernel.

Read more

Complete

Networking Summer Internship

Naman Sood is a FreeBSD Foundation summer intern who has been working on networking-related tasks. Naman began the internship by submitting improvements to one of the firewalls included with FreeBSD, pf. For example, they completed work started by Luiz Amaral to allow traffic for pfsync, pf's state table synchronization interface, to be carried over IPv6. They also submitted work to implement RFC 4787 REQs 1 and 3 for pf full cone NAT.  Full cone NAT means all requests from an internal IP/port are mapped to the same external IP/port, which allows certain devices like the Nintendo Switch to work behind pf running on FreeBSD. Naman also took on miscellaneous tasks such as exploring extracting tcp checkpoint and failover work from a project called VPS for FreeBSD started by Klaus P. Ohrhallinger and submitting bug fixes for pw(8) and du(1).

Read more

Complete

Documentation and Testing Internship

In July 2023, Yan-Hao Wang began a summer internship with the Foundation to work a variety of tasks. The planned work includes adding and improving documentation tools, adding tests for userspace tools in /bin, /sbin, /usr/bin, /usr/sbin, fixing libxo issues, and surveying a roadmap for developing RPI4 and IPV6 TODOs.  An "expert system" for FreeBSD man pages and documents will be a best-effort, proof-of-concept task that will include importing FreeBSD documents such as man pages and the Handbooks into a vector database so that large language models like ChatGPT can "read" them in order to offer better answers when queried with FreeBSD-related question.

Read more

Complete

Addressing OpenSSL 3 / LLVM 16 Ports Fallout

With the update of OpenSSL to version 3 in FreeBSD's main branch, there are many port build errors that must be fixed before FreeBSD 14.0 can be released. Most of the critical issues with OpenSSL 3 and LLVM 15 have already been fixed, but with LLVM 16 there are approximately 800 additional ports that fail to build resulting in an additional 2800 dependent ports that are skipped in a full ports tree build. Muhammad Moinur (Moin) Rahman will complete the time-consuming and tedious work to fix all port issues related to the update to OpenSSL 3 and LLVM 16.

Read more

Complete

SIMD-enhanced libc

Modern computer architectures provide SIMD (single instruction multiple data) instruction set extensions to operate on multiple data at once. Commonly used for numerical applications such as video codecs, graphics rendering, and scientific computing, use of SIMD techniques also aids in basic data processing tasks such as those implemented by libc functions. The objective of this project by Robert Clausecker is to provide such SIMD-enhanced versions of relevant FreeBDS libc library functions and thus improving the performance of software linked against it.

Read more

Complete

Capsicum Internship

From June 1 until September 1, 2023, Jake Freeland will intern with the Foundation to work on Capsicum, FreeBSD's sandbox framework.  Capsicum was built to limit the capabilities given to applications and libraries. The Capsicum model is simple and secure, but progress and development surrounding the framework has died down in recent years. Extending the number of tools available to the developer for convenient program Capsicumization will decrease the aforementioned learning curve significantly. If Capsicumization is easy, then more developers will adopt it.

Read more

Complete

Wireless Internship

En-Wei Wu, a 2022 Google Summer of Code Contributor, began an internship with the FreeBSD Foundation in early 2023 to work on FreeBSD wireless drivers and tools. The work is divided into three components:

- wtap extensions

- hostapd(8) improvements

- 802.11 driver development

Read more

Complete

Improving the kinst DTrace provider

DTrace is a framework that gives administrators and kernel developers the ability to observe kernel behavior in real time.  The project’s main goal is to implement inline function tracing (a much-requested DTrace feature) and also port kinst to riscv and arm64. For inline tracing, kinst will make use of the DWARF debugging standard to be able to detect inline calls and create probes for each one of them. In the future, this functionality could be leveraged to address some of the shortcomings of FBT, such as the tail-call optimization problem (chapter 20.4 of the DTrace manual) and the absence of inline tracing capabilities.

Read more

Complete

Snapshots on Filesystems Using Journaled Soft Updates

The Foundation began sponsoring Marshall Kirk McKusick to implement the changes required to allow snapshots of UFS/FFS filesystems using journaled soft updates. This work requires extensive changes in the UFS/FFS soft updates and snapshot kernel code and also in the fsck_ffs utility.

Read more

Complete

WireGuard Review, Update, and Integration

WireGuard is a secure tunneling protocol with both userland and kernel implementations. The Foundation is sponsoring John Baldwin to work on wireguard by updating the data path crypto in the upstream WireGuard driver to use the in-kernel OpenCrypto Framework for the data path. 

Read more

Complete

LLDB Improvements Part III - Kernel Debugging Support

This multi-stage project aims to provide FreeBSD with a modern debugger and bring LLDB closer to being a fully featured GDB replacement. Part III is focused on improvements for kernel debugging.

Read more

Complete

LLDB Improvements Part II - Additional CPU Support, Follow-fork operations, and SaveCore Functionality

This multi-stage project aims to provide FreeBSD with a modern debugger and bring LLDB closer to being a fully featured GDB replacement. Part II of this project involves switching some non-x86 CPU architectures to the new remote process plugin framework and removing the old native-debugging process plugin altogether.

Read more

Complete

LLDB Improvements Part I - Infrastructure Improvements

This muliti-stage project aims to provide FreeBSD with a modern debugger and bring LLDB closer to being a fully featured GDB replacement.

Read more

Complete

Targeted Linuxulator Compatibility Improvements

The Foundation has awarded a development grant to Edward Tomasz Napierała to investigate running under the Linuxulator a number of popular client-facing and server related Linux applications, and fix or document identified issues.

Read more

Complete

DRM Graphics Driver update

This project will update the DRM drivers to a more recent version of Linux, initially targetting the Long Term Support (LTS) kernel version 5.4, and where possible will implement BSD licensed kernel compatibility shims. Once this is complete updates to later Linux kernel versions will follow.

Read more

Complete

ZStd integration into OpenZFS

This project will update and enhance Allan Jude’s original prototype implementation in collaboration with other OpenZFS developers, to prepare it for merging into OpenZFS proper. Work will also include additional tests, backwards compatibility improvements, documentation, and performance analysis. The project is expected to be complete in early fall, 2020.

Read more

Complete

if_bridge Performance Improvement

The current if_bridge implementation contends heavily on a single BRIDGE_LOCK mutex. As a result it's limited to a little over 1 million packets per second, regardless of the number of cores in the system. This means, for small packets, it can just about saturate a 1Gbps link, but little more than that. The overall idea is to replace the single mutex by two read-mostly locks, one protecting the overall bridge, and a second to protect the forwarding table. The vast majority of packets will only require read locks, allowing multiple cores to pass packets over the bridge simultaneously.

Read more

Complete

Scalability and Performance Improvements

Each year CPUs are made with larger core and thread counts, and running FreeBSD on these new CPUs often demonstrates new scalability bottlenecks. This project will use a number of motivating use cases, such as "poudriere -j 128" package builds and "will-it-scale".

Read more

Complete

Linuxulator Diagnostics Improvements

This project will provide solid foundations for debugging failures encountered when running modern Linux binaries, and improving the Linux compatibility at both binary and source-level levels. It will also clean up the existing Linuxulator implementation and make it easier and quicker to port software originally written for, and maintained primarily under, Linux.

Read more

Complete

FUSE Userspace File System update

FreeBSD's fuse(4) driver is buggy and out-of-date. It's essentially unusable for any networked filesystem like CephFS, MooseFS, or Tahoe-LAFS. This project will fix all of fuse's known bugs, update the kernel API, and add a new test suite.

Read more

Complete

SDIO Integration

This project aims to integrate SDIO support as an initial step towards supporting SDIO-conected WiFi modules, as on the Raspberry Pi and others.

Read more

Complete

USB Mass Storage Target

This project provides a USB mass storage target, making it possible to have FreeBSD running on an embedded device appear as a USB flash key, providing the user with documentation and drivers necessary to fully use the embedded target. This is invaluable in both teaching and product environments as one part of an excellent "out-of- the-box" experience.

Read more

Complete

Broadcom Wi-Fi Modernization

The Foundation sponsored Landon Fuller's work to modernize FreeBSD support for Broadcom Wi-Fi adaptors, laying the groundwork for comprehensive Broadcom Wi-Fi support on FreeBSD, including enabling the adoption of additional softmac PHY and fullmac device support from Broadcom’s ISC-licensed Linux drivers.

Read more

Complete

Headless Mode Out of The Box

This project aimed to add out-of-box USB OTG support, making FreeBSD a much more attractive option for both newbies lacking the equipment to set up headless operation and companies looking for a more user friendly option.

Read more

Complete

Development of the “RAID-Z Expansion” Feature for ZFS

The Zettabyte File System (ZFS) is a combined file system and logical volume manager designed to protect against data corruption and support high storage capacities.

The Foundation is sponsoring Matthew Ahrens to develop a “RAID-Z Expansion” feature. This will allow adding an extra disk to an existing RAID-Z group, allowing the expansion from a 4-wide RAID-Z1 group into a 5-wide RAID-Z1 group.

Read more

Complete

Port 'blacklistd' daemon to FreeBSD

This provides a lightweight daemon that can notified in realtime of attempted "bad behavior" from various daemons. The daemon stores the data about the attack in a persistent database, and can update a packet filter to block access from the network addresses of the attacker.

Read more

Complete

Integration of VIMAGE support in FreeBSD

This project aims to finalize the work done to make the VIMAGE network stack code production ready. Starting with an update of the previously reviewed work sitting in a perforce repository, incremental patches will be tested, presented to the community, and included in the FreeBSD SVN base system repository head/ branch.

Read more

Complete

Enhanced Network Stack Virtualization Project

The virtualized network stack will significantly enhance FreeBSD's jail functionality, allowing jails to have their own complete and locally administered network stacks, including firewalls, routing, and IPsec configurations.

Read more

Complete

Multipath TCP for FreeBSD

TCP Extensions for Multipath Operation with Multiple Addresses (MPTCP) allows a mutli-homed host to utilize multiple network interfaces or paths on a single TCP session. The protocol is currently being standardized by the IETF in RFC 6824.

Read more

Complete

FreeBSD ARMv8 64-bit ARM port

Officially known as AArch64, the 64-bit ARM architecture is also known as ARMv8 and arm64. The 64-bit ARM architecture is expected to find use in traditional server markets, in contrast to the embedded and mobile markets where 32-bit ARM is widely adopted.

Read more

Complete

Newcons console driver integration

The Newcons project will deliver an updated FreeBSD console driver with Unicode support and improved support for graphics modes. This will improve interoperability with X11 and Kernel Mode Setting (KMS) graphics drivers.

Read more

Complete

Improving the Hardware Performance Counter Support

The FreeBSD Foundation, with a generous grant from Google, teamed up to sponsor Joseph Koshy in improving the hardware performance counter support in FreeBSD. The goal of the project was the addition of callgraph support in the hwpmc driver.

Read more

Complete

Make removing disk devices with mounted filesystems on them safe.

The project is to make FreeBSD tolerate the removal of active disk devices, such as when a USB flash device with a mounted filesystems is physically detached by a user. Currently the system may panic in this situation.

Read more

Complete

Improvements to the FreeBSD TCP Stack.

This three-part project will include implementing Appropriate Byte Counting (ABC) RFC3465 support, adapting and merging CAIA's Statistical Information for TCP Research (SIFTR) TCP analysis tool into FreeBSD, and making improvements to the TCP reassembly queue.

Read more

Complete

Wireless Mesh Support

Rui Paulo will be implementing the forthcoming IEEE 802.11s wireless mesh standard for FreeBSD. Wireless mesh networks are expected to become widespread as routers and network appliances deploy them, allowing wireless networks to be built and extended dynamically.

Read more

Complete

Flattened Device Tree Project

Rafal Jaworowski and Semihalf has been awarded a grant to provide FreeBSD with support for the flattened device tree (FDT) technology. This project allows for describing hardware resources of a computer system and their dependencies in a platform-neutral and portable way.

Read more

Complete

High Available Storage Project

Pawel Jakub Dawidek has been awarded a grant to implement storage replication software that will enable users to use the FreeBSD operating system for highly available configurations where data has to be shared across the cluster nodes.

Read more

Complete

Network Stack Virtualization Project

The network stack virtualization project aims at extending the FreeBSD kernel to maintain multiple independent instances of networking state. This will allow for complete networking independence between jails on a system, including giving each jail its own firewall, virtual network interfaces, rate limiting, routing tables, and IPSEC configuration.

Read more

Complete

FreeBSD Jail Based Virtualization Project

Bjoern A. Zeeb has been awarded a grant to improve FreeBSD's jail based virtualization infrastructure and to continue to work on the virtual network stack. His employer, CK Software GmbH is matching the Foundation's funding with hours.

Read more

Complete

DTrace Userland Project

DTrace is a general purpose and lightweight tracing framework that allows administrators, developers and users to investigate causes of system failure or performance bottlenecks. The FreeBSD operating system has had support for kernel-only DTrace since FreeBSD 8.0, but DTrace userland support was missing.

Read more

Complete

DAHDI FreeBSD driver port

Max Khon has been awarded a grant to finish the DAHDI FreeBSD driver port. The purpose of DAHDI/FreeBSD project is to make it possible to use FreeBSD as a base system for software PBX solutions.

Read more

Complete

Resource Containers Project

Edward Tomasz Napierala has been awarded a grant to implement resource containers and a simple per-jail resource limits mechanism.

Read more

Complete

BSNMP Improvements Project

The FreeBSD Foundation is pleased to announce that Shteryana Shopova has been awarded a grant to make improvements to BSNMP.

Read more

Complete

IPv6 Support in FreeBSD and PC-BSD

The FreeBSD Foundation is pleased to announce that it has awarded Bjoern Zeeb a grant to improve the maturity of IPv6 support in FreeBSD and PC-BSD. This project is jointly sponsored with iXsystems.

Read more

Complete

GEM, KMS, and DRI Support for Intel Drivers

The FreeBSD Foundation is pleased to announce that Konstantin Belousov has been awarded a grant to implement support of GEM, KMS, and DRI for Intel Drivers. This project is being co-sponsored by iXsystems.

Read more

Complete

Five New TCP Congestion Control Algorithms

The FreeBSD Foundation is pleased to announce that Swinburne University of Technology's Centre for Advanced Internet Architectures has been awarded a grant to implement Five new TCP Congestion Control Algorithms in FreeBSD.

Read more

Complete

Feed-Forward Clock Synchronization Algorithms

The FreeBSD Foundation is pleased to announce that Julien Ridoux and Darryl Veitch at the University of Melbourne have been awarded a grant to implement support of feed-forward clock synchronization algorithms.

Read more

Complete

Implementing xlocale APIs

The C standard library (libc) is one of the most important parts of a UNIX system as most programs interact with the kernel through interfaces written in C. Porting code between platforms with similar libc implementations is trivial and if something is supported by libc, higher-level languages can use it without being reimplemented.

Read more

Complete

Analyzing the Performance of FreeBSD's IPv6 Stack

The FreeBSD Foundation is pleased to announce that it has awarded Bjoern Zeeb a grant to analyze the performance of FreeBSD's IPv6 stack. This project is jointly sponsored with iXsystems.

Read more

Complete

Implementing auditdistd daemon

The FreeBSD audit facility provides fine-grained, configurable logging of security-relevant events. One of the key purposes of logging security events is postmortem analysis in case of system compromise.

Read more

Complete

Growfs for mounted filesystems

This project makes it possible to grow a UFS or ZFS file system while mounted read-write. This includes changes to both file systems, GEOM infrastructure, and drivers.

Read more

Complete

Documentation project infrastructure enhancements

The FreeBSD Documentation Project relied on outdated and obsolete tools for producing the FreeBSD Handbook and other documentation.

Read more

Complete

Superpages for ARMv7

The ARM architecture is expanding into higher-end server computing markets, and supporting sophisticated features of the platform is key to FreeBSD's success in these new areas.

Read more

Complete

Native iSCSI kernel stack

This project delivered a native in-kernel iSCSI stack (both target and initiator) for the increasingly popular block storage protocol.

Read more

Complete

Capsicum integration

This project continued the integration of Capsicum and the Casper daemon into FreeBSD. A new structure for capability rights increased the number of possible capability rights to around 1000, allowing for future development while maintaining API/ABI compatibility.

Read more

Complete

Autofs-based Automounter

Limitations of the amd(8) automounter are a recurring problem reported by many FreeBSD users. The new automounter project intends to address these concerns.

Read more

Complete

UEFI Boot Integration

The Unified Extensible Firmware Interface (UEFI) provides boot- and run-time services for x86 computers, and is a replacement for the legacy BIOS. This project will adapt the FreeBSD loader and kernel boot process for compatibility with UEFI firmware, found on contemporary servers, desktops, and laptops.

Read more

Complete

Updated AES modes for OpenCrypto

This project adds modern AES modes to FreeBSD's OpenCrypto cryptographic framework, for use by IPsec and other consumers. This project is co-sponsored by the FreeBSD Foundation and Netgate, a leading vendor of BSD-based firewalls and networking gear.

Read more