FreeBSD is a
free-software Unix-like
A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
descended from the
Berkeley Software Distribution (BSD). The first version was released in 1993 developed from
386BSD, one of the first fully functional and free
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
clones on affordable home-class hardware, and has since continuously been the most commonly used BSD-derived operating system.
FreeBSD maintains a complete system, delivering a
kernel,
device driver
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
s,
userland utilities, and documentation, as opposed to
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
only delivering a
kernel and drivers, and relying on third-parties such as
GNU for system software.
The FreeBSD
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
is generally released under a
permissive BSD license, as opposed to the
copyleft GPL used by Linux. The project includes a
security team overseeing all software shipped in the base distribution. Third-party
applications may be installed using the pkg
package management system or from source via
FreeBSD Ports
The FreeBSD Ports collection is a package management system for the FreeBSD operating system. Ports in the collection vary with contributed software. There were 38,487 ports available in February 2020 and 36,504 in September 2024. It has also be ...
. The project is supported and promoted by the FreeBSD Foundation.
Much of FreeBSD's codebase has become an integral part of other operating systems such as
Darwin (the basis for
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
,
iOS,
iPadOS,
watchOS
watchOS is the operating system of the Apple Watch, developed by Apple Inc., Apple. It is based on iOS, the operating system used by the iPhone, and has many similar features. It was released on April 24, 2015, along with the Apple Watch, the o ...
, and
tvOS),
TrueNAS (an open-source
NAS/
SAN operating system), and the system software for the
PlayStation 3
The PlayStation 3 (PS3) is a home video game console developed and marketed by Sony Computer Entertainment (SCE). It is the successor to the PlayStation 2, and both are part of the PlayStation brand of consoles. The PS3 was first released on ...
,
PlayStation 4,
PlayStation 5, and
PlayStation Vita game consoles. The other current BSD systems (
OpenBSD,
NetBSD, and
DragonFly BSD
DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in ...
) also contain a large amount of FreeBSD code, and vice-versa.
History
Background
In 1974, Professor
Bob Fabry of the
University of California, Berkeley
The University of California, Berkeley (UC Berkeley, Berkeley, Cal, or California), is a Public university, public Land-grant university, land-grant research university in Berkeley, California, United States. Founded in 1868 and named after t ...
, acquired a Unix source license from
AT&T
AT&T Inc., an abbreviation for its predecessor's former name, the American Telephone and Telegraph Company, is an American multinational telecommunications holding company headquartered at Whitacre Tower in Downtown Dallas, Texas. It is the w ...
. Supported by funding from
DARPA, the
Computer Systems Research Group started to modify and improve AT&T Research Unix. The group called this modified version "Berkeley Unix" or "
Berkeley Software Distribution" (BSD), implementing features such as
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
,
virtual memory
In computing, virtual memory, or virtual storage, is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a ver ...
, and the
Berkeley Fast File System. The BSD project was founded in 1976 by
Bill Joy. But since BSD contained code from AT&T Unix, all recipients had to first get a license from AT&T in order to use BSD.
In June 1989, "Networking Release 1" or simply Net-1 – the first public version of BSD – was released. After releasing Net-1,
Keith Bostic, a developer of BSD, suggested replacing all AT&T code with freely-redistributable code under the original
BSD license. Work on replacing AT&T code began and, after 18 months, much of the AT&T code was replaced. However, six files containing AT&T code remained in the kernel. The BSD developers decided to release the "Networking Release 2" (Net-2) without those six files. Net-2 was released in 1991.
Birth of FreeBSD
In 1992, several months after the release of Net-2,
William
William is a masculine given name of Germanic languages, Germanic origin. It became popular in England after the Norman Conquest, Norman conquest in 1066,All Things William"Meaning & Origin of the Name"/ref> and remained so throughout the Middle ...
and
Lynne Jolitz wrote replacements for the six AT&T files, ported BSD to
Intel 80386
The Intel 386, originally released as the 80386 and later renamed i386, is the third-generation x86 architecture microprocessor from Intel. It was the first 32-bit computing, 32-bit processor in the line, making it a significant evolution in ...
-based microprocessors, and called their new operating system
386BSD. They released 386BSD via an anonymous FTP server.
The development flow of 386BSD was slow, and after a period of neglect, a group of 386BSD users including Nate Williams, Rod Grimes and
Jordan Hubbard decided to branch out on their own so that they could keep the operating system up to date. On 19 June 1993, the name FreeBSD was chosen for the project. The first version of FreeBSD was released in November 1993.
In the early days of the project's inception, a company named
Walnut Creek CDROM, upon the suggestion of the two FreeBSD developers, agreed to release the operating system on
CD-ROM
A CD-ROM (, compact disc read-only memory) is a type of read-only memory consisting of a pre-pressed optical compact disc that contains computer data storage, data computers can read, but not write or erase. Some CDs, called enhanced CDs, hold b ...
. In addition to that, the company employed
Jordan Hubbard and David Greenman, ran FreeBSD on its servers, sponsored FreeBSD conferences and published FreeBSD-related books, including ''The Complete FreeBSD'' by
Greg Lehey. By 1997, FreeBSD was Walnut Creek's "most successful product". The company later renamed itself to ''The FreeBSD Mall'' and later
iXsystems.
Today, FreeBSD is used by many IT companies such as
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
,
Nokia
Nokia Corporation is a Finnish multinational corporation, multinational telecommunications industry, telecommunications, technology company, information technology, and consumer electronics corporation, originally established as a pulp mill in 1 ...
,
Juniper Networks
Juniper Networks, Inc. is an American multinational corporation headquartered in Sunnyvale, California. The company develops and markets networking products, including Router (computing), routers, Network switch, switches, network management so ...
, and
NetApp to build their products.
Certain parts of
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
's
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
operating system are based on FreeBSD.
Both the
PlayStation 3
The PlayStation 3 (PS3) is a home video game console developed and marketed by Sony Computer Entertainment (SCE). It is the successor to the PlayStation 2, and both are part of the PlayStation brand of consoles. The PS3 was first released on ...
and
Nintendo Switch operating system also borrow certain components from FreeBSD,
while the
PlayStation 4 operating system is derived from FreeBSD 9.
Netflix
Netflix is an American subscription video on-demand over-the-top streaming service. The service primarily distributes original and acquired films and television shows from various genres, and it is available internationally in multiple lang ...
,
WhatsApp
WhatsApp (officially WhatsApp Messenger) is an American social media, instant messaging (IM), and voice-over-IP (VoIP) service owned by technology conglomerate Meta. It allows users to send text, voice messages and video messages, make vo ...
, and
FlightAware are also examples of large, successful and heavily network-oriented companies which are running FreeBSD.
Lawsuit
386BSD and FreeBSD were both derived from BSD releases. In January 1992,
Berkeley Software Design Inc. (BSDi) started to release
BSD/386, later called BSD/OS, an operating system similar to FreeBSD and based on 4.3BSD Net/2. AT&T filed a lawsuit against BSDi and alleged distribution of AT&T source code in violation of license agreements. The lawsuit was settled out of court and the exact terms were not all disclosed. The only one that became public was that BSDi would migrate its source base to the newer 4.4BSD-Lite2 sources. Although not involved in the litigation, it was suggested to FreeBSD that it should also move to 4.4BSD-Lite2. FreeBSD 2.0, which was released in November 1994, was the first version of FreeBSD without any code from AT&T.
Features
Use cases
FreeBSD contains a significant collection of server-related software in the base system and the ports collection, allowing FreeBSD to be configured and used as a
mail server,
web server
A web server is computer software and underlying Computer hardware, hardware that accepts requests via Hypertext Transfer Protocol, HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, co ...
,
firewall,
FTP server,
DNS server and a
router, among other applications.
FreeBSD can be installed on a regular desktop or a laptop. The
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
is not installed by default, but is available in the
FreeBSD ports collection. Though not officially supported,
Wayland is also available for FreeBSD. A number of
desktop environments such as
Lumina,
GNOME,
KDE, and
Xfce, as well as lightweight window managers such as
Openbox,
Fluxbox,
dwm, and bspwm, are also available for FreeBSD. Major web browsers such as
Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curr ...
and
Chromium are available unofficially on FreeBSD. As of FreeBSD 12, support for a modern graphics stack is available via drm-kmod. A large number of wireless adapters are supported.
FreeBSD releases installation images for supported platforms. Since FreeBSD 13 the focus has been on
x86-64 and
AArch64
AArch64, also known as ARM64, is a 64-bit version of the ARM architecture family, a widely used set of computer processor designs. It was introduced in 2011 with the ARMv8 architecture and later became part of the ARMv9 series. AArch64 allows ...
platforms which have Tier 1 support, and 32-bit platforms no longer have Tier 1 support.
IA-32
IA-32 (short for "Intel Architecture, 32-bit", commonly called ''i386'') is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the i386, 80386 microprocessor in 1985. IA-32 is the first incarn ...
is a Tier 2 platform in FreeBSD 13 and 14 (but will be dropped in next version). 32-bit ARM processors using armv6 or armv7 also have Tier 2 support, and ARMv7 will keep support. 64-bit versions of
RISC-V
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
and
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
(that still has 32-bit tier 2 supported, but will be dropped in next version) are also supported.
Interest in the RISC-V architecture has been growing.
The
MIPS architecture
MIPS (Microprocessor without Interlocked Pipelined Stages) is a family of reduced instruction set computer (RISC) instruction set architectures (ISA)Price, Charles (September 1995). ''MIPS IV Instruction Set'' (Revision 3.2), MIPS Technologies ...
port was marked for deprecation and there is no image for current 13.4 or later available.
Networking
FreeBSD's TCP/IP stack is based on the
4.2BSD implementation of TCP/IP which greatly contributed to the widespread adoption of these protocols.
FreeBSD also supports
IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
,
SCTP
The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the ...
,
IPSec, and wireless networking (
Wi-Fi
Wi-Fi () is a family of wireless network protocols based on the IEEE 802.11 family of standards, which are commonly used for Wireless LAN, local area networking of devices and Internet access, allowing nearby digital devices to exchange data by ...
).
The IPv6 and IPSec stacks were taken from the
KAME project.
Prior to version 11.0, FreeBSD supported
IPX and
AppleTalk protocols, but they are considered obsolescent and have been dropped.
As of FreeBSD 5.4, support for the
Common Address Redundancy Protocol (CARP) was imported from the
OpenBSD project. CARP allows multiple nodes to share a set of IP addresses, so if one of the nodes goes down, other nodes can still serve the requests.
Storage
FreeBSD has several unique features related to storage.
Soft updates can protect the consistency of the
UFS filesystem (widely used on the BSDs) in the event of a system crash.
Filesystem snapshots allow an image of a UFS filesystem at an instant in time to be efficiently created. Snapshots allow reliable backup of a live filesystem.
GEOM is a modular framework that provides
RAID
RAID (; redundant array of inexpensive disks or redundant array of independent disks) is a data storage virtualization technology that combines multiple physical Computer data storage, data storage components into one or more logical units for th ...
(levels 0, 1, 3 currently),
full disk encryption,
journaling, concatenation, caching, and access to network-backed storage. GEOM allows building of complex storage solutions combining ("chaining") these mechanisms.
FreeBSD provides two frameworks for data encryption:
GBDE and
Geli. Both GBDE and Geli operate at the disk level. GBDE was written by
Poul-Henning Kamp and is distributed under the two-clause BSD license. Geli is an alternative to GBDE that was written by Pawel Jakub Dawidek and first appeared in FreeBSD 6.0.
From 7.0 onward, FreeBSD supports the
ZFS filesystem. ZFS was previously an open-source filesystem that was first developed by
Sun Microsystems
Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
, but when
Oracle
An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination.
Descript ...
acquired Sun, ZFS became a proprietary product. However, the FreeBSD project is still developing and improving its ZFS implementation via the
OpenZFS project.
The currently supported version of OpenZFS is 2.2.2 which contains an important fix for a data corruption bug. This version is compatible with releases starting from 12.2-RELEASE.
Security
FreeBSD ships with three different firewall packages:
IPFW,
pf and
IPFilter. IPFW is FreeBSD's native firewall. pf was taken from OpenBSD and IPFilter was ported to FreeBSD by Darren Reed.
Taken from OpenBSD, the
OpenSSH program was included in the default install. OpenSSH is a free implementation of the SSH protocol and is a replacement for
telnet. Unlike telnet, OpenSSH encrypts all information (including usernames and passwords).
In November 2012, The FreeBSD Security Team announced that hackers gained unauthorized access on two of the project's servers. These servers were turned off immediately. More research demonstrated that the first unauthorized access by hackers occurred on 19 September. Apparently hackers gained access to these servers by stealing
SSH keys from one of the developers, not by exploiting a bug in the operating system itself. These two hacked servers were part of the infrastructure used to build third-party software packages. The FreeBSD Security Team checked the integrity of the binary packages and determined that no unauthorized changes were made to the binary packages, but stated that it could not guarantee the integrity of packages that were downloaded between 19 September and 11 November.
TrustedBSD
FreeBSD provides several security-related features including
access-control lists (ACLs),
security event auditing, extended file system attributes,
mandatory access controls (MAC)
and fine-grained
capabilities.
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
The Common Criteria for Information Technology Security Evaluation (referred to as Common Criteria or CC) is an international standard (International Organization for Standardization, ISO/International Electrotechnical Commission, IEC 15408) for co ...
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 is supported by a variety of organizations, including the DARPA, NSA, Network Associates Laboratories, Safeport Network Services, the University of Pennsylvania, Yahoo!, McAfee Research, SPARTA, Apple Computer, nCircle Network Security, Google, the University of Cambridge Computer Laboratory, and others.
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 GEOM and OpenPAM.
Most components of the TrustedBSD project are eventually folded into the main sources for FreeBSD. In addition, many features, once fully matured, find their way into other operating systems. For example,
OpenPAM has been adopted by
NetBSD.
Moreover, the TrustedBSD MAC Framework has been adopted by
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
for
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
.
Portability
FreeBSD has been ported to a variety of
instruction set architecture
In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, ...
s (though most of no longer supported, at least with Tier 1 support). The FreeBSD project organizes architectures into tiers that characterize the level of support provided. Tier 1 architectures are mature and fully supported, e.g. it is the only tier "supported by the security officer". Tier 2 architectures are under active development but are not fully supported. Tier 3 architectures are experimental or are no longer under active development.
, FreeBSD has been ported to the following architectures:
The 32-bit ARM (including OTG) and MIPS support is mostly aimed at embedded systems (
ARM64 is also aimed at servers), however FreeBSD/ARM runs on a number of
single-board computers, including the
BeagleBone Black,
Raspberry Pi
Raspberry Pi ( ) is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in collaboration with Broadcom Inc., Broadcom. To commercialize the product and support its growing demand, the ...
and Wandboard.
Hardware compatibility
Supported devices are listed in the FreeBSD 14.3 Hardware Notes.
The document describes the devices currently known to be supported by FreeBSD. Other configurations may also work, but simply have not been tested yet. Rough automatically extracted lists of supported device ids are available in a third party repository.
In 2020, a new project was introduced to automatically collect information about tested hardware configurations.
Third-party software
FreeBSD has a
software repository
A software repository, or repo for short, is a storage location for Package format, software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source or version control, or rep ...
of over 30,000 applications that are developed by third parties. Examples include
windowing systems,
web browser
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s,
email clients,
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, which is known as the Ports collection. Applications may either be compiled from source ("ports"), provided their licensing terms allow this, or downloaded as precompiled binaries ("packages"). The Ports collection supports the current and stable branches of FreeBSD. Older releases are not supported and may or may not work correctly with an up-to-date Ports collection.
Ports use
Makefile
In software development, Make is a command-line interface software tool that performs actions ordered by configured Dependence analysis, dependencies as defined in a configuration file called a ''makefile''. It is commonly used for build automati ...
s to automatically fetch the desired application's
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
, either from a local or remote
repository, unpack it on the system, apply patches to it and compile it.
Depending on the size of the source code, compiling can take a long time, but it gives the user more control over the process and its result. Most ports also have package counterparts (i.e. precompiled binaries), giving the user a choice. Although this method is faster, the user has fewer customization options.
FreeBSD version 10.0 introduced the
package manager
A package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
A package manager deals wi ...
pkg as a replacement for the previously used package tools.
It is functionally similar to
apt and
yum in
Linux distributions. It allows for installation, upgrading and removal of both ports and packages. In addition to pkg,
PackageKit can also be used to access the Ports collection.
Jails
First introduced in FreeBSD version 4,
jails are a security mechanism and an implementation of
operating-system-level virtualization that enables the user to run multiple instances of a guest operating system on top of a FreeBSD host. It is an enhanced version of the traditional
chroot
chroot is a shell (computer), shell command (computing), command and a system call on Unix and Unix-like operating systems that changes the apparent root directory for the current running process and its Child process, children. A program that i ...
mechanism. A process that runs within such a jail is unable to access the resources outside of it. Every jail has its own
hostname and
IP address
An Internet Protocol address (IP address) is a numerical label such as that is assigned to a device connected to a computer network that uses the Internet Protocol for communication. IP addresses serve two main functions: network interface i ...
. It is possible to run multiple jails at the same time, but the kernel is shared among all of them. Hence only software supported by the FreeBSD kernel can be run within a jail.
Virtualization
bhyve, a new virtualization solution, was introduced in FreeBSD 10.0. bhyve allows a user to run a number of guest operating systems (FreeBSD,
OpenBSD,
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, and
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
) simultaneously. Other operating systems such as
Illumos
Illumos (stylized as "illumos") is a partly free and open-source Unix operating system. It has been developed since 2010 and is based on OpenSolaris, after the discontinuation of that product by Oracle. It comprises a kernel, device driver ...
are planned. bhyve was written by Neel Natu and Peter Grehan and was announced in the 2011 BSDCan conference for the first time. The main difference between bhyve and
FreeBSD jails is that jails are an
operating system-level virtualization
OS-level virtualization is an operating system (OS) virtualization paradigm in which the Kernel (operating system), kernel allows the existence of multiple isolated user space and kernel space, user space instances, including containers (LXC, Sol ...
and therefore limited to only FreeBSD guests; but bhyve is a type 2
hypervisor and is not limited to only FreeBSD guests.
For comparison, bhyve is a similar technology to
KVM whereas jails are closer to
LXC containers or
Solaris Zones.
Amazon EC2 AMI instances are also supported via
amazon-ssm-agent
Since FreeBSD 11.0, there has been support for running as the Dom0 privileged domain for the
Xen type 1 hypervisor. Support for running as DomU (guest) has been available since FreeBSD 8.0.
VirtualBox
Oracle VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and InnoTek VirtualBox) is a hosted hypervisor for x86 virtualization developed by Oracle Corporation. VirtualBox was originally created by InnoTek Systemberatung GmbH, which was ac ...
(without the closed-source
Extension Pack) and
QEMU are available on FreeBSD.
OS compatibility layers
Most software that runs on
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
can run on FreeBSD using an optional built-in
compatibility layer. Hence, most Linux binaries can be run on FreeBSD, including some proprietary applications distributed only in binary form. This compatibility layer is not an
emulation; Linux's
system call interface is implemented in the FreeBSD's kernel and hence, Linux
executable images and
shared libraries are treated the same as FreeBSD's native executable images and shared libraries.
Additionally, FreeBSD provides
compatibility layers for several other
Unix-like
A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s, in addition to Linux, such as
BSD/OS and
SVR4,
however, it is more common for users to compile those programs directly on FreeBSD.
No noticeable performance penalty over native FreeBSD programs has been noted when running Linux binaries, and, in some cases, these may even perform more smoothly than on Linux.
However, the layer is not altogether seamless, and some Linux binaries are unusable or only partially usable on FreeBSD. There is support for system calls up to version
4.4.0,
available since . As of release 10.3, FreeBSD can run 64-bit Linux binaries.
FreeBSD has implemented a number of
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
native
NDIS kernel interfaces to allow FreeBSD to run (otherwise) Windows-only network drivers.
The
Wine
Wine is an alcoholic drink made from Fermentation in winemaking, fermented fruit. Yeast in winemaking, Yeast consumes the sugar in the fruit and converts it to ethanol and carbon dioxide, releasing heat in the process. Wine is most often made f ...
compatibility layer, which allows the running of software made for
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
on
Unix-like
A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating systems, is available for FreeBSD.
Kernel
FreeBSD's kernel provides support for some essential tasks such as managing processes, communication, booting and filesystems. FreeBSD has a
monolithic kernel, with a modular design. Different parts of the kernel, such as drivers, are designed as modules. The user can load and unload these modules at any time.
ULE is the default
scheduler in FreeBSD since version 7.1, it supports
SMP and
SMT.
The FreeBSD kernel has also a scalable event notification interface, named
kqueue. It has been ported to other BSD-derivatives such as
OpenBSD and
NetBSD.
Kernel threading was introduced in FreeBSD 5.0, using an
M:N threading model. This model works well in theory, but it is hard to implement and few operating systems support it. Although FreeBSD's implementation of this model worked, it did not perform well, so from version 7.0 onward, FreeBSD started using a
1:1 threading model, called libthr.
Documentation and support
FreeBSD's documentation consists of its handbooks, manual pages, mailing list archives, FAQs and a variety of articles, mainly maintained by The FreeBSD Documentation Project. FreeBSD's documentation is translated into several languages. All official documentation is released under the
FreeBSD Documentation License, "a permissive non-copyleft free documentation license that is compatible with the GNU FDL".
FreeBSD's documentation is described as "high-quality".
The FreeBSD project maintains a variety of mailing lists.
Among the most popular mailing lists are FreeBSD-questions (general questions) and FreeBSD-hackers (a place for asking more technical questions).
Since 2004, the New York City BSD Users Group database provides
dmesg information from a collection of computers (
laptop
A laptop computer or notebook computer, also known as a laptop or notebook, is a small, portable personal computer (PC). Laptops typically have a Clamshell design, clamshell form factor (design), form factor with a flat-panel computer scree ...
s,
workstation
A workstation is a special computer designed for technical or computational science, scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating syste ...
s,
single-board computers,
embedded systems,
virtual machine
In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
s, etc.) running FreeBSD.
Installers
From version 2.0 to 8.4, FreeBSD used the sysinstall program as its main installer. It was written in
C by
Jordan Hubbard. It uses a
text user interface, and is divided into a number of menus and screens that can be used to configure and control the installation process. It can also be used to install Ports and Packages as an alternative to the
command-line interface
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
.
The sysinstall utility is now considered deprecated in favor of bsdinstall, a new installer which was introduced in FreeBSD 9.0. bsdinstall is "a lightweight replacement for sysinstall" that was written in sh. According to
OSNews, "It has lost some features while gaining others, but it is a much more flexible design, and will ultimately be significant improvement".
Shell
Prior to 14.0, the default login shell was
tcsh for root
and the
Almquist shell
Almquist shell (also known as A Shell, ash and sh) is a lightweight Unix shell originally written by Kenneth Almquist in the late 1980s. Initially a clone of the System V.4 variant of the Bourne shell, it replaced the original Bourne shell in t ...
(sh) for regular users. Starting with 14.0, the default shell is sh for both root and regular users.
The default scripting shell is the Almquist shell.
Development
FreeBSD is developed by a volunteer team located around the world. The developers use the
Internet
The Internet (or internet) is the Global network, global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a internetworking, network of networks ...
for all communication and many have not met each other in person. In addition to local user groups sponsored and attended by users, an annual conference, called BSDcon, is held by
USENIX. BSDcon is not FreeBSD-specific so it deals with the technical aspects of all BSD-derived operating systems, including
OpenBSD and
NetBSD. In addition to BSDcon, three other annual conferences, EuroBSDCon, AsiaBSDCon and BSDCan take place in
Europe
Europe is a continent located entirely in the Northern Hemisphere and mostly in the Eastern Hemisphere. It is bordered by the Arctic Ocean to the north, the Atlantic Ocean to the west, the Mediterranean Sea to the south, and Asia to the east ...
,
Japan
Japan is an island country in East Asia. Located in the Pacific Ocean off the northeast coast of the Asia, Asian mainland, it is bordered on the west by the Sea of Japan and extends from the Sea of Okhotsk in the north to the East China Sea ...
and
Canada
Canada is a country in North America. Its Provinces and territories of Canada, ten provinces and three territories extend from the Atlantic Ocean to the Pacific Ocean and northward into the Arctic Ocean, making it the world's List of coun ...
respectively.
Governance structure
The FreeBSD Project is run by around 500 committers or developers who have commit access to the master source code repositories and can develop, debug or enhance any part of the system. Most of the developers are volunteers and few developers are paid by some companies. There are several kinds of committers, including source committers (base operating system), doc committers (documentation and website authors) and ports (third-party application porting and infrastructure). Every two years the FreeBSD committers select a 9-member FreeBSD Core Team, which is responsible for overall project direction, setting and enforcing project rules and approving new committers, or the granting of commit access to the source code repositories. A number of responsibilities are officially assigned to other development teams by the FreeBSD Core Team, for example, responsibility for managing the ports collection is delegated to the Ports Management Team.
In addition to developers, FreeBSD has thousands of "contributors". Contributors are also volunteers outside of the FreeBSD project who submit patches for consideration by committers, as they do not have commit access to FreeBSD's source code repository. Committers then evaluate contributors' submissions and decide what to accept and what to reject. A contributor who submits high-quality patches is often asked to become a committer.
Branches
FreeBSD
developers maintain at least two branches of simultaneous development. The ''-CURRENT'' branch always represents the "
bleeding edge" of FreeBSD development. A ''-STABLE'' branch of FreeBSD is created for each major version number, from which -RELEASE is cut about once every 4–6 months. If a feature is sufficiently stable and mature it will likely be
backported (''MFC'' or ''Merge from CURRENT'' in FreeBSD developer slang) to the ''-STABLE'' branch.
Foundation
FreeBSD development is supported in part by the FreeBSD Foundation. The foundation is a non-profit organization that accepts donations to fund FreeBSD development. Such funding has been used to sponsor developers for specific activities, purchase hardware and network infrastructure, provide travel grants to developer summits, and provide legal support to the FreeBSD project.
In November 2014, the FreeBSD Foundation received US$1 million donation from
Jan Koum, co-founder and CEO of
WhatsApp
WhatsApp (officially WhatsApp Messenger) is an American social media, instant messaging (IM), and voice-over-IP (VoIP) service owned by technology conglomerate Meta. It allows users to send text, voice messages and video messages, make vo ...
the largest single donation to the Foundation since its inception. In December 2016, Jan Koum donated another $500,000. Jan Koum himself is a FreeBSD user since the late 1990s and WhatsApp uses FreeBSD on its servers.
License
FreeBSD is released under a variety of open-source licenses. The kernel code and most newly created code are released under the two-clause
BSD license which allows everyone to use and redistribute FreeBSD as they wish. This license was approved by
Free Software Foundation
The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985. The organisation supports the free software movement, with the organization's preference for software being distributed ...
and
Open Source Initiative as a Free Software and Open Source license respectively. Free Software Foundation described this license as "a lax, permissive non-copyleft free software license, compatible with the GNU GPL". There are parts released under three- and four-clause BSD licenses, as well as the
Beerware license. Some device drivers include a
binary blob,
such as the
Atheros HAL of FreeBSD versions before 7.2.
Some of the code contributed by other projects is licensed under
GPL,
LGPL
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
,
CDDL
The Common Development and Distribution License (CDDL) is a free and open-source software license, produced by Sun Microsystems, based on the Mozilla Public License (MPL). Files licensed under the CDDL can be combined with files licensed under o ...
and
ISC. All the code licensed under
GPL and
CDDL
The Common Development and Distribution License (CDDL) is a free and open-source software license, produced by Sun Microsystems, based on the Mozilla Public License (MPL). Files licensed under the CDDL can be combined with files licensed under o ...
is clearly separated from the code under liberal licenses, to make it easy for users such as embedded device manufacturers to use only
permissive free software licenses. ClangBSD aims to replace some
GPL dependencies in the FreeBSD base system by replacing the
GNU compiler collection
The GNU Compiler Collection (GCC) is a collection of compilers from the GNU Project that support various programming languages, Computer architecture, hardware architectures, and operating systems. The Free Software Foundation (FSF) distributes ...
with the BSD-licensed
LLVM
LLVM, also called LLVM Core, is a target-independent optimizer and code generator. It can be used to develop a Compiler#Front end, frontend for any programming language and a Compiler#Back end, backend for any instruction set architecture. LLVM i ...
/
Clang
Clang () is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, and the software frameworks OpenMP, OpenCL, RenderScript, CUDA, SYCL, and HIP. It acts as a drop-in replacement for the GNU Compiler ...
compiler. ClangBSD became self-hosting on 16 April 2010.
Logo
For many years FreeBSD's logo was the generic
BSD Daemon, also called ''Beastie'', a distorted pronunciation of ''BSD''. However, Beastie was not unique to FreeBSD. Beastie first appeared in 1976 on Unix T-shirts of comic artist Phil Foglio art, for Mike O'Brien, with some purchased by
Bell Labs
Nokia Bell Labs, commonly referred to as ''Bell Labs'', is an American industrial research and development company owned by Finnish technology company Nokia. With headquarters located in Murray Hill, New Jersey, Murray Hill, New Jersey, the compa ...
.
More popular versions of the BSD daemon were drawn by animation director
John Lasseter beginning in 1984.
Several FreeBSD-specific versions were later drawn by Tatsumi Hosokawa.
In lithographic terms, the Lasseter graphic is not
line art and often requires a screened, four-color
photo offset printing process for faithful reproduction on physical surfaces such as paper. Also, the BSD daemon was thought to be too graphically detailed for smooth size scaling and aesthetically over-dependent on multiple color gradations, making it hard to reliably reproduce as a simple, standardized logo in only two or three colors, much less in monochrome.
Because of these worries, a competition was held and a new logo designed by Anton K. Gural, still echoing the BSD daemon, was released on 8 October 2005.
However, it was announced by
Robert Watson that the FreeBSD project is "seeking a new logo, but not a new mascot" and that the FreeBSD project would continue to use Beastie as its mascot.
The name "FreeBSD" was coined by David Greenman on 19 June 1993, other suggested names were "BSDFree86" and "Free86BSD".
FreeBSD's slogan, "The Power to Serve", is a trademark of The FreeBSD Foundation.
Derivatives
FreeBSD-based distributions
There are a number of software distributions based on FreeBSD.
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
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
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.
Active
Abandoned
Additional developments added to FreeBSD
*
NanoBSD
*
TrustedBSD
Products-specific developments
*
Juniper's
JUNOS router operating system.
*
EMC Isilon's
OneFS operating system.
* NS-BSD, a freebsd-based adaptation to Stormshield (
fr)
UTM network devices
*
NetApp's Data ONTAP 8.x and the now-superseded ONTAP GX (only as a loader for proprietary kernel-space module).
*
Netflix
Netflix is an American subscription video on-demand over-the-top streaming service. The service primarily distributes original and acquired films and television shows from various genres, and it is available internationally in multiple lang ...
's
Open Connect Appliance
to handle content delivery.
* The
PlayStation 4 ("
Orbis OS")
* The
PlayStation 5
*
Panasas' PanFS parallel file system
Some online services that are directly based on FreeBSD
*
WhatsApp
WhatsApp (officially WhatsApp Messenger) is an American social media, instant messaging (IM), and voice-over-IP (VoIP) service owned by technology conglomerate Meta. It allows users to send text, voice messages and video messages, make vo ...
processes 2 million concurrent TCP connections per server.
Independent operating systems
Besides these distributions, there are some independent operating systems based on FreeBSD.
DragonFly BSD
DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in ...
is 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
In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
features.
It does not aim to stay compatible with FreeBSD and has huge differences in the kernel and basic
userland.
MidnightBSD is a fork of FreeBSD 6.1 borrowing heavily from
NeXTSTEP, particularly in the user interface department.
Darwin, the core of
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
's
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
, includes a
virtual file system and network stack derived from those of FreeBSD, and components of its
userspace are also FreeBSD-derived.
Version history
See also
*
BAPP, a set of commonly used software with FreeBSD
*
Comparison of BSD operating systems
*
Comparison of operating system kernels
*
Comparison of operating systems
*
Comparison of router software projects
*
Computer Systems Research Group
*
List of BSD adopters
*
List of router and firewall distributions
*
List of router firmware projects
*
Marshall Kirk McKusick
References
Citations
Sources
*
*
*
*
*
*
*
*
*
*
*
*
External links
*
FreeBSDon
DistroWatch
{{Authority control
1993 software
ARM operating systems
Computing platforms
IA-32 operating systems
Lightweight Unix-like systems
PowerPC operating systems
Software using the BSD license
X86-64 operating systems
Monolithic kernels