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 miss a project please send the URL and a short
description (3-10 lines) to www@FreeBSD.ORG
In addition, some of these projects regularly submit status
reports, which can be viewed on the status reports page.
Documentation
- 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.
- FreeBSD Resources for Newbies is a
list of resources to help those new to FreeBSD and UNIX®
in general. There is also a freebsd-newbies@FreeBSD.ORG
mailing list.
- FreeBSD
Security How-To FreeBSD is a very secure operating
system. Since source code is freely available, the OS is
constantly going through the review and audit. While FreeBSD
comes very secure OOB (Out-Of-Box), there are many features
that can make it more secure for those of you who are
"paranoid". This How-To will go over some steps which will
help you increase overall security of your machine.
- RELEASE/SNAP finder for
FreeBSD FTP servers. A resource that would allow anyone
to find a FTP server that contains particular releases and
SNAP of FreeBSD. The database is updated daily at 3am
Melbourne time (10 hours ahead of UTC).
- The FreeBSD Diary is
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.
- A
Comprehensive Guide to FreeBSD - an attempt at a more
readable, "book-like" tutorial explaining the FreeBSD
Operating System. Intended for people new to both FreeBSD and
UNIX. Currently a work in progress.
- FreeBSD
How-To's for the Lazy and Hopeless is another somewhat
more light-hearted attempt to provide more readable "how-to"
style information on setting up and configuring FreeBSD.
-
The Linux+FreeBSD mini-HOWTO describes how to use Linux
and FreeBSD on the same system. It introduces FreeBSD and
discusses how the two operating systems can cooperate, e.g.
by sharing swap space.
- Install
Preview for FreeBSD 2.2.7 This is a guide illustrating
the FreeBSD install program for those new to unix and/or
FreeBSD.
-
The FreeBSD Developers Handbook
-
The FreeBSD Cook Book Ok, you got FreeBSD installed, now
what? Here are some suggested solutions to common problems
you can implement with the knowledge you now have. This
document is styled after the electronics cook books with some
recipes for some common types of installations. Each "recipe"
has some recommended minimum hardware, specific software to
use, and most important the configuration information
required to get the system running correctly.
- The FreeBSD
Corporate Networker's Guide This Web site serves as a
supplement to The FreeBSD Corporate Networker's Guide, with
the principal goal of enhancing its usefulness. While books
like fictional novels can be used and enjoyed for hundreds of
years after initial publication, technical manuals like the
Networker's Guide are obsoleted in a few years by changes in
the product they are written for.
Applications
- Java™ on FreeBSD This
contains information on where to obtain the latest JDK™
for FreeBSD, how to install and run it, and a list of java
software that you may find interesting. Please note that the
JDK is unsupported on versions of FreeBSD prior to 2.2.
- 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.
-
MultiMedia A resource of links to information and
software pertaining to the world of multimedia in the UNIX
world.
- 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.
- FreeBSD
Ports distfiles survey is a list which checks the Ports
Collection for unfetchable distfiles and provides a summary
for each port.
- 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.
- Bento is a server
which checks the Ports Collection and keeps package building
logs and error logs for each port.
Networking
-
ALTQ: bandwidth management for applications
- KAME
Project, a free IPv6/IPsec stack for BSD
- Point to Point
Protocol (PPP)
- Secure MobileIP
via IP
- SYSLOG-SECURE: In August 2001 a
standard of syslog was made: RFC3164. This to describe some
extensions tot syslog to add security. The project I started
in 2002 is to adapt RFC3164 to FreeBSD version of syslog, and
to add some security extensions. At least syslog-sign. Both
libc and syslogd will be modified. And optional some tools to
verify/manage the security will made. All help is welcome.
Send an email to albert@ons-huis.net for info.
File system
- HFS and HFS
Plus in FreeBSD. This project is aimed at integrating HFS
support from Darwin into FreeBSD.
- Arla is a
free AFS client implementation. The main goal is to make a
fully functional client with all capabilities of normal AFS.
Other planned and implemented things are all the normal
management tools and a server.
- Coda is a distributed
filesystem. Among its features are disconnected operation,
good security model, server replication and persistent client
side caching.
- cryptfs
encrypts file names and data pages using Blowfish.
-
Elephant: The File System that Never Forgets
- Journaling
versus Soft Updates: Asynchronous Meta-data Protection in
File Systems
- Mode
locking
- Make the
namei interface reflexive
- NFS client
and server locking
-
The Design and Implementation of a DCD Device Driver for
Unix
- NTFS Driver
for FreeBSD This driver allows Windows® NTFS
partitions to be mounted by FreeBSD. Currently NTFS
partitions can only be accessed in read-only mode, but plans
are in the works for read/write access.
- Rio (RAM I/O): The
Rio project is investigating how to implement and use
reliable memory. Reliable memory enables dramatic
improvements in reliability and performance.
-
Soft Updates: A Solution to the Metadata Update Problem
in File Systems
- TCFS is a Transparent
Cryptographic File System that is a suitable solution to the
problem of privacy for distributed filesystem. By a deeper
integration between the encryption service and the
filesystem, it results in a complete transparency of use to
the user applications. Files are stored in encrypted form and
are decrypted before they are read. The encryption/decryption
process takes place on the client machine and thus the
encryption/decryption key never travels on the network.
- Tertiary Disk is a
storage system architecture to create large disk storage
systems that avoid the disadvantages of custom built disk
arrays. The name comes from twin goals: to have the cost per
megabyte and capacity of tape libraries and the performance
of magnetic disks. We use commodity, off the shelf components
to develop a scalable, low cost, terabyte capacity disk
system. Our target is to build a complete storage system with
about 30-50% extra to the cost of the raw disk. Tertiary Disk
uses PCs connected by a switched network to host a large
number of disks. Our prototype consists of 20 200MHz PC PCs,
which host 370 8GB disks. The PCs are connected through a
100Mbps Ethernet switch.
- Vinum is a logical volume
manager modeled after the VERITAS volume manager™.
However, it is not a clone of Veritas, and attempts to solve
a number of problems more elegantly than Veritas. It also
offers features that Veritas does not have.
- The PathConvert
project is to develop utilities which make conversion
between absolute path name and relative path name. It brings
benefits mainly to the users of NFS and WWW.
- WAFS is a
simple filesystem designed to act as a logging service for
kernel subsystems. Reads and writes are keyed by log-sequence
number (LSN). All writes to WAFS are sequential. Kernel
subsystems can use this LSN service to enforce write-ahead
logging and guarantee consistency.
Kernel, security
- Drawbridge is a
firewall package that was developed at Texas A&M
University and was designed with a large academic environment
in mind. It's greatest strength is the ability to perform
high speed packet filtering for a larger number of individual
hosts within an intranetwork.
- Kernel
Scheduler Entities: A project to enhance the threading
support on FreeBSD, using a threading system similar in
design to Scheduler Activations.
- Lottery
Scheduling Kernel: This work is based on Waldspurger's
lottery scheduling algorithm, which implements
proportional-share resource management. The primary
advantages are that users have strict control over the
relative execution rates of their processes, and users are
load-insulated from each other, preventing one user from
dominating the CPU.
- Working LDAP
for FreeBSD
- Symmetric
MultiProcessor Support Documentation and other
information about taking advantage of multiple processors
under FreeBSD.
- A validation
suite for testing for kernel memory leaks
- SPY allows
you to monitor and/or selectively block syscalls on your
system. It could be used either as a safety monitoring
device, policy enforcement, or debugging tool.
- 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.
Device drivers
- BSD Driver
Database Just because you don't have the time to write
the driver yourself doesn't mean you can't still help. The
idea behind the BSD Driver Database is to help individuals
with hardware that needs supporting get in touch with driver
developers with the knowledge to write the support for the
hardware. This is a list of drivers currently under
development that could stand to gain from time or resources
you may have to offer.
- busdma and SMPng driver
conversion: busdma provides a portable abstraction to the
Direct Memory Access (DMA) hardware primitives used by many
high performance device drivers. By using this abstraction,
device driver authors avoid adding platform-specific DMA
management code, improving the portability of drivers between
hardware architectures. This page also tracks the progress of
drivers towards being SMPng-safe.
- A New
Device Framework for FreeBSD
-
BSD ATM: implementation of ATM internetworking under
4.4BSD: New computer applications in areas such as
multimedia, imaging, and distributed computing demand high
levels of performance from computer networks. ATM-based
networking solutions provide one possible alternative to
meeting these performance needs. However, the complexity of
ATM over traditional networks such as Ethernet has proven to
be a barrier to its being used. In this paper we present the
design and implementation of BSD ATM, a light-weight and
efficient ATM software layer for BSD-based operating systems
that requires minimal changes to the operating system. BSD
ATM can be used both for IP-based networking traffic and for
``native'' ATM traffic.
- High-precision
timekeeping with FreeBSD How to create a NTP stratum 1
server with state of the art performance.
-
Home Automation with FreeBSD such as appliance
controllers, infra-red controllers, automated telephone
systems, and more.
- CAM: New SCSI layer
for FreeBSD Details about what the new CAM SCSI layer is,
and how it works.
- The FreeBSD
Token-Ring Project Information, files, patches, and
documentation about adding Token Ring support to
FreeBSD.
- FreeBSD USB
driver development The NetBSD USB stack has been ported
to FreeBSD. Together with them we have started developing the
drivers for many devices using the USB bus. Have a look on
the webpage if you want to join the effort or you want to
have a look on the devices that are being supported.
-
Setting up PnP (Plug-and-Play) and the AWE64, AWE32, or SB32
soundcards with FreeBSD.
- A mailing list
exists for further development of Scott Mitchell's Xircom CEM
ethernet driver. Send subscribe freebsd-xircom to majordomo@lovett.com
to join.
- Mike Smith's list of
supported RAID cards and their respective information.
Architecture
- Porting FreeBSD to Alpha
systems Contains information on the FreeBSD Alpha port
such as the status, mailing list information, the hardware
used, and other Alpha projects.
- Porting FreeBSD to IA-64
systems This project is responsible for porting FreeBSD
to the IA-64 architecture. Direct any questions specific to
this project to the freebsd-ia64@FreeBSD.org mailing
list.
- Porting FreeBSD to PowerPC®
systems. Contains information on the FreeBSD PPC port,
such as mailing list information and so on.
- Porting FreeBSD to SPARC®
systems Contains information on the FreeBSD SPARC port
including a FAQ, some early boot code, information on SPARC
processors and motherboards, and other SPARC projects.
- The
SysVR4 Emulation page describes an SysVR4 emulator for
FreeBSD. It is currently capable of running (or walking, in
some cases) a wide-ish variety of SysV executables taken from
Solaris™/x86 2.5.1 and 2.6 systems. I have reason to
believe that it will also run SCO UnixWare and SCO OpenServer
binaries.
- 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.
- Small and embedded
FreeBSD (PicoBSD) PicoBSD is a one floppy version of
FreeBSD which in its different variations allows you to have
secure dial-up access, small diskless router, or even a
dial-in server. All of this on only one standard 1.44MB
floppy disk. It runs on a minimum 386SX CPU with 8MB of RAM,
and no hard drive is required!
Misc
- GLOBAL is 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.
- PAO: Mobile Computing
page, laptops running FreeBSD 2.2.X and 3.X Laptop users
looking for PC Card (aka PCMCIA) support under FreeBSD 2.2.X
and 3.X should look at the PAO project for laptop support
(FreeBSD 4.X and higher are provided with laptop
support).
- FreeBSD source
code tour. A hypertext cross referenced presentation of
the FreeBSD kernel source code. The versions indexed are
-CURRENT and RELENG_4.
- Enteruser:
A Replacement for Adduser
- FreeBSD libh
Project. Libh is a wrapper that allows tcl scripts to run
in a sort of sandbox and interface to other libraries. Some
of the stock libraries that come with libh that can be called
from the Tcl scripts include a generic user interface
library, which uses Turbo Vision for its console backend, and
Qt for its X11 backend. Libh also includes a new package
system that uses Zip archives and various per-package scripts
among other things. It also includes the beginnings of a new
sysinstall.
- Binary
Updater (binup). The FreeBSD Binary Updater Project aims
to provide a secure mechanism for the distribution of binary
updates for FreeBSD. This system is a client / server
mechanism that allows clients to install any known "profile"
or release of FreeBSD over the network. Where a specific
profile might contain a specific set of FreeBSD software to
install, additional packages, and configuration actions that
make it more ideal for a specific environment (ie FreeBSD 4.3
Secure Web server profile).
- The FreeBSD C99 &
POSIX® Conformance Project aims to implement all
requirements of the ISO 9899:1999 (C99) and IEEE 1003.1-2001
(POSIX) standards.
- CVSweb is a WWW interface for CVS
repositories with which you can browse a file hierarchy on
your browser to view each file's revision history in a very
handy manner.
home | contact | legal |
© 1995-2003 The FreeBSD Project. All rights
reserved.
Last modified: 2003/08/11 18:20:11