FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX (many of whose original developers became FreeBSD developers), FreeBSD’s internals and system APIs are UNIX-compliant. Thanks to its permissive licensing terms, much of FreeBSD’s code base has become an integral part of other operating systems such as Mac OS X that have subsequently been certified as UNIX-compliant and have formally received UNIX branding. With the exception of the proprietary Mac OS X, FreeBSD is the most widely used BSD-derived operating system in terms of number of installed computers, and is the most widely used freely licensed, open-source BSD distribution, accounting for more than three quarters of all installed systems running free, open-source BSD derivatives.
FreeBSD is a complete operating system; the kernel, device drivers, and all of the userland utilities, such as the shell, are held in the same source code revision tracking tree. (This is in contrast to Linux distributions, for which the kernel, userland utilities, and applications are developed separately, and then packaged together in various ways by others.) Third-party application software may be installed using various software installation systems, the two most common being source installation and package installation, both of which use the FreeBSD Ports system.
FreeBSD has been characterized as “the unknown giant among free operating systems” and is widely regarded as reliable and robust. In a Netcraft survey published 1 March 2011, the top three most reliable Web hosting company sites for the month of February 2011 (the most recent month for which figures are available as of March 2011) were all found to be running FreeBSD on their servers.
FreeBSD development began in 1993 with a quickly growing, unofficial patchkit maintained by users of the 386BSD operating system. This patchkit forked from 386BSD and grew into an operating system taken from U.C. Berkeley's 4.3BSD-Lite (Net/2) tape with many 386BSD components and code from the Free Software Foundation. After two public beta releases via FTP (1.0-GAMMA on September 2, 1993, and 1.0-EPSILON on October 3, 1993), the first official release was FreeBSD 1.0, available via FTP on November 1, 1993 and on CDROM on December 30, 1993. This official release was coordinated by Jordan Hubbard, Nate Williams and Rodney W. Grimes with a name thought up by David Greenman. Walnut Creek CDROM agreed to distribute FreeBSD on CD and gave the project a machine to work on along with a fast Internet connection, which Hubbard later said helped stir FreeBSD's rapid growth. A "highly successful" FreeBSD 1.1 release followed in May 1994.
However, there were legal concerns about the BSD Net/2 release source code used in 386BSD. After a lawsuit between UNIX copyright owner at the time Unix System Laboratories and the University of California, Berkeley, the FreeBSD project re-engineered most of the system using the 4.4BSD-Lite release from Berkeley, which, owing to this lawsuit, had none of the AT&T source code earlier BSD versions had depended upon, making it an unbootable operating system. Following much work, the unencumbered outcome was released as FreeBSD 2.0 in January 1995.
FreeBSD 2.0 featured a revamp of the original Carnegie Mellon University Mach virtual memory system, which was optimized for performance under high loads. This release also introduced the FreeBSD Ports system, which made downloading, building and installing third party software very easy. By 1996 FreeBSD had become popular among commercial and ISP users, powering extremely successful sites like Walnut Creek CD-ROM (a huge repository of software that broke several throughput records on the Internet), Yahoo! and Hotmail. The last release along the 2-STABLE branch was 2.2.8 in November 1998. FreeBSD 3.0 brought many more changes, including the switch to the ELF binary format. Support for SMP systems and the 64-bit Alpha platform were also added. The 3-STABLE branch ended with 3.5.1 in June 2000.
Updates (via Distrowatch):
Ken Smith has announced the availability of the second beta of FreeBSD 9.0, more than a month later than planned: "The second beta build of the 9.0-RELEASE release cycle is now available. Note: the location of the FTP install tree and ISOs have changed slightly. What we used for BETA2 reflects a directory structure that would let us fully utilize building and distributing a wider variety of architectures. The new layout does add some extra complexity, so we're actively discussing whether or not to change the layout from previous releases, and if we do change it whether or not to change it this much. What's there now can be viewed as an almost 'worst-case' scenario. It's entirely possible we'll back off and revert to the old layout despite that layout potentially limiting."
There is much more information in the release announcement, including notes on what to test.
Download links for the i386 and amd64 ISO images: FreeBSD-9.0-BETA2-i386-dvd1.iso (498MB, SHA256), FreeBSD-9.0-BETA2-amd64-dvd1.iso (607MB, SHA256).
• 2011-09-08: Development Release: FreeBSD 9.0-BETA2
• 2011-08-01: Development Release: FreeBSD 9.0-BETA1
• 2011-02-24: BSD Release: FreeBSD 8.2, 7.4
• 2011-02-04: Development Releases: FreeBSD 8.2-RC3, 7.4-RC3
• 2011-01-23: Development Release: FreeBSD 7.4-RC2
• 2011-01-16: Development Release: FreeBSD 8.2-RC2
FreeBSD Snapshot Releases.
What Are Snapshots?
They can also be found in the same directory on other FTP mirror sites.
Currently the snapshots of 9-CURRENT, 8-STABLE, 7-STABLE, and 6-STABLE are released monthly in directories whose URLs have the format ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/<year><month>/ where <year> is the four-digit year and <month> is the two-digit month in which the snapshot was released. For each supported platform, the snapshot includes ISO images of the bootonly, disc1, and disc2 disks (plus the separate livefs disk on platforms where this is applicable). Each snapshot directory might contain a RELNOTES.TXT file which outlines the changes for the particular snapshot.
Things You Might Want to Know.
In particular, before getting and installing a snapshot release, be aware of following:
- The snapshots are primarily for testing purposes and not fully tested compared to the releases. They may include experimental or degraded features that can corrupt your existing system.
- The major release number will not be changed in the main distribution for each snapshot. It will only be changed on the boot floppies so that you know when the snapshot was made. These are not releases, these are snapshots, and it is important that this distinction be preserved. Although people can and will, of course, refer to snapshots by date in mail or netnews, do not confuse them.
- Snapshots might not include package sets, but will generally include a ports tree.
- Finally, we will not necessarily update the documentation. For example, README may still refer to a previous release. This is because that is much less important than getting the real bug fixes and new features out for testing. Please do not send a bug report about the documentation.
FreeBSD provides several security-related features including access control lists (ACLs), security event auditing, extended file system attributes, fine-grained capabilities and mandatory access controls (MAC). These security enhancements were developed by the TrustedBSD project. The project was founded by Robert Watson with the goal of implementing concepts from the Common Criteria for Information Technology Security Evaluation and the Orange Book. This project is ongoing and many of its extensions have been integrated into FreeBSD.
The project has also ported the NSA's FLASK/TE implementation from SELinux to FreeBSD. Other work includes the development of OpenBSM, an open source implementation of Sun's Basic Security Module (BSM) API and audit log file format, which supports an extensive security audit system. This was shipped as part of FreeBSD 6.2. Other infrastructure work in FreeBSD performed as part of the TrustedBSD Project has included SYN cookies, GEOM and OpenPAM.
While most components of the TrustedBSD project are eventually folded into the main sources for FreeBSD, many features, once fully matured, find their way into other operating systems. For example, OpenPAM and UFS2 have been adopted by NetBSD. Moreover, the TrustedBSD MAC Framework has been adopted by Apple for Mac OS X.
Much of this work was sponsored by DARPA.
FreeBSD has a repository of thousands of applications that are developed by third parties outside of the project itself. (Examples include windowing systems, Internet browsers, email programs, office suites, and so forth.) In general, the project itself does not develop this software, only the framework to allow these programs to be installed (termed the Ports Collection). Applications may be installed either from source, if its licensing terms allow such redistribution (these are called ports), or as compiled binaries if allowed (these are called packages). The Ports Collection supports the latest release on the -CURRENT and -STABLE branches. Older releases are not supported and may or may not work correctly with an up-to-date ports collection.
There are a number of software distributions based on FreeBSD including:
PC-BSD (aimed at home users and workstations)
DesktopBSD (aimed at home users and workstations)
FreeSBIE (live CD)
Frenzy (live CD)
GhostBSD (Gnome-based live CD)
FreeNAS (for network attached storage)
AuthServ (for network servers & storage)
All these distributions have no or only minor changes when compared with the original FreeBSD base system. The main difference to the original FreeBSD is that they come with pre-installed and pre-configured software for specific use cases. This can be compared with Linux distributions, which are all binary compatible because they use the same kernel and also use the same basic tools, compilers and libraries, while coming with different applications, configurations and branding.
Besides these distributions there is DragonFly BSD, a fork from FreeBSD 4.8 aiming for a different multiprocessor synchronization strategy than the one chosen for FreeBSD 5 and development of some microkernel features. It does not aim to stay compatible with FreeBSD and has huge differences in the kernel and basic userland.
A wide variety of products are directly or indirectly based on FreeBSD. Examples of embedded devices based on FreeBSD include:
F5 Networks's 3DNS version 3 global traffic manager and EDGE-FX version 1 web cache (NB These are now end of life with 3DNS functionality being moved to the Linux based BIGIP Platform)
Ironport network security appliances
Junos network operating system by Juniper Networks used in their routers, switches and security devices
KACE Networks's KBOX 1000 & 2000 Series Appliances and the Virtual KBOX Appliance
NetApp's Data ONTAP GX (only as a loader for proprietary kernel-space module of ONTAP GX and 8.x)
Netasq security appliances
Nokia's firewall operating system
Panasas's and Isilon Systems's cluster storage operating systems
The PlayStation 3 video game console.
Sophos's Email Appliance
St. Bernard Software iPrism web filtering appliances
Panasonic's 2010 TV models (PDP and LCD)
Blue Coat's ProxySG WAN acceleration appliance is partially derived from FreeBSD