---
title: "FreeBSD Development Projects"
sidenav: developers
---

include::shared/en/urls.adoc[]

= FreeBSD Development Projects

In addition to the mainstream development path of FreeBSD, a number of developer groups are working on the cutting edge to expand FreeBSD's range of applications in new directions. Follow the links below to learn more about these exciting projects.

If you feel that a project is missing, please send the URL and a short description (3-10 lines) to link:../mailto/[www@FreeBSD.org].

In addition, some of these projects regularly submit status reports, which can be viewed on the link:../status/[status reports page].

* <<documentation,Documentation>>
* link:../advocacy/[Advocacy]
* <<applications,Applications>>
* <<storage,Storage>>
* <<kernelandsecurity,Kernel and Security>>
* <<devicedrivers,Device drivers>>
* <<architecture,Architecture>>
* <<misc,Misc>>
* link:summerofcode[Google Summer of Code]

[[documentation]]
== Documentation

* link:../docproj/[FreeBSD Documentation Project]: The FreeBSD Documentation Project is a group of people who maintain and write the documentation (such as the Handbook and FAQ) for the FreeBSD project. If you want to help with the documentation project, subscribe to the freebsd-doc@FreeBSD.org mailing list and participate.
* link:newbies[FreeBSD Resources for Newbies]: A list of resources to help those new to FreeBSD and UNIX(R) in general.
* http://www.freebsddiary.org/[The FreeBSD Diary]: A collection of how-to entries aimed at UNIX novices. The aim is to provide a set of step-by-step guides to installing and configuring various ports.
* link:{developers-handbook}[The FreeBSD Developers' Handbook]
* link:{contributing}[Contributing to FreeBSD]

[[applications]]
== Applications

* link:../java/[Java(R) on FreeBSD]: This contains information on where to obtain the latest JDK(R) for FreeBSD, how to install and run it, and a list of Java(R) software that you may find interesting.
* link:../gnome/[GNOME on FreeBSD]: This contains information on where to obtain the latest GNOME for FreeBSD, how to install and run it, latest project news and updates, FAQ covering FreeBSD-specific GNOME issues, application porting guidelines and much more.
* https://freebsd.kde.org[KDE on FreeBSD]: This contains links to the latest KDE releases for FreeBSD, as well as documentation and tutorials about how to install and run KDE on FreeBSD. Project news and a FreeBSD-specific FAQ are also available.
* http://www.mono-project.com/docs/about-mono/supported-platforms/bsd/[Mono on FreeBSD]: Here you can find information about the state of Mono and C# for FreeBSD.
* https://porting.openoffice.org/freebsd/[OpenOffice.org on FreeBSD]: Information about the various OpenOffice.org ports.
* link:../ports/[FreeBSD Ports Collection]: The FreeBSD Ports Collection provides an easy way to compile and install a wide range of applications with a minimum amount of effort. A list of current ports is available along with a search mechanism to see if a specific application exists in the Ports Collection.
* https://portscout.FreeBSD.org/[FreeBSD Ports distfiles scanner]: A list which checks the Ports Collection for unfetchable distfiles and provides a summary for each port.
* https://FreshPorts.org/[FreshPorts]: Provides the most up-to-date list of ports and port changes. Add your favourite ports to your watch list and receive email notification of any changes.

[[storage]]
== Storage

* http://www.coda.cs.cmu.edu/[Coda]: A distributed filesystem. Among its features are disconnected operation, good security model, server replication and persistent client side caching.
* http://www.ece.cmu.edu/~ganger/papers/[Journaling versus Soft Updates]: Asynchronous Meta-data Protection in File Systems.

[[kernelandsecurity]]
== Kernel, security

* http://www.TrustedBSD.org/[TrustedBSD]: Provides a set of trusted operating system extensions to the FreeBSD operating system. This includes features such as fine-grained privileges (capabilities), Access Control Lists, and Mandatory Access Control. These features are being integrated back into the base FreeBSD distribution, as well as being ported to other BSD-derived systems.
* https://people.freebsd.org/~pho/stress/index.html[Kernel Stress Test Suite]: The purpose of this stress test is to crash the system. The stress test is composed of small test programs and scripts. Each test targets a specific area of the kernel. The key concept of this test suite is chaos. Each test sleeps for a random number of seconds before it starts up in a random number of invocations.

[[devicedrivers]]
== Device drivers

* https://people.FreeBSD.org/~fsmp/HomeAuto/HomeAuto.html[Home Automation]: Using FreeBSD to run appliance controllers, infra-red controllers, automated telephone systems, and more.

[[architecture]]
== Architecture

* link:../platforms/ppc/[Porting FreeBSD to PowerPC(R) systems]: Contains information on the FreeBSD PPC port, such as mailing list information and so on.
* http://www.cs.utah.edu/flux/oskit/[The OSKit]: The OSKit is a framework and a set of 31 component libraries oriented to operating systems, together with extensive documentation. By providing in a modular way not only most of the infrastructure "grunge" needed by an OS, but also many higher-level components, the OSKit's goal is to lower the barrier to entry to OS R&D and to lower its costs. The OSKit makes it vastly easier to create a new OS, port an existing OS to the x86 (or in the future, to other architectures supported by the OSkit), or enhance an OS to support a wider range of devices, filesystem formats, executable formats, or network services. The OSKit also works well for constructing OS-related programs, such as boot loaders or OS-level servers atop a microkernel.

[[misc]]
== Misc

* link:{nanobsd}[NanoBSD]: NanoBSD is a tool designed to create a possibly reduced FreeBSD system image, which is suited to fit on a Compact Flash card (or other mass storage medium) in a way which is suitable for use in appliance like applications. The FreeBSD documentation collection includes an introductory link:{nanobsd}[article about NanoBSD], which includes useful tips about setting up, running and using NanoBSD.
* http://www.gnu.org/software/global/global.html[GLOBAL]: A common source code tag system that works the same way across diverse environments. Currently, it supports the shell command line, the nvi editor, web browser, the emacs editor, and the elvis editor, and the supported languages are C, Yacc, and Java.
* link:https://wiki.freebsd.org/ACPI[ACPI on FreeBSD]: A Project created to get ACPI working smoothly on FreeBSD.
* http://wiki.freebsd.org/TestSuite[TestSuite]: This project aims to equip FreeBSD with a comprehensive test suite that is easy to run out of the box and during the development of the system. The goal of the test suite is to assist both developers and users in assessing the quality of FreeBSD.
