diff --git a/en/projects/projects.sgml b/en/projects/projects.sgml
index 381059a0dc93..a8235a6fa873 100644
@@ -1,485 +1,485 @@
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
In addition, some of these projects regularly submit status reports,
which can be viewed on the status
- 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.
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.
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.
- 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.
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.
- ALTQ: bandwidth management for applications
- KAME Project, a free IPv6/IPsec stack for BSD
- Point to Point Protocol (PPP)
- Secure MobileIP via IP
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
All help is welcome. Send an email to firstname.lastname@example.org for info.
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
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.
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.
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
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.
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.
- 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.
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
- 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.
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 email@example.com to
- Mike Smith's list of supported RAID
cards and their respective information.
- 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
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
- 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!
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
- FreeBSD cross reference.
A hypertext cross referenced presentation of the FreeBSD kernel
source code. The version indexed is -CURRENT, and it is updated every
- 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).
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.