kids encyclopedia robot

FreeBSD facts for kids

Kids Encyclopedia Facts
Quick facts for kids
FreeBSD
.
The Power To Serve
FreeBSD 13.0 boot loader autoboot screenshot.png
FreeBSD bootloader with ASCII art logo in version 13.0
Company / developer The FreeBSD Project
Programmed in C (C11)
OS family Unix-like (BSD)
Working state Current
Source model Open source
Initial release 1 November 1993; 31 years ago (1993-11-01)
Marketing target Servers, workstations, embedded systems, network firewalls
Package manager pkg
Supported platforms Tier 1: 64-bit x86 (amd64), 64-bit ARM (originally only 32-bit x86, i386, 32-bit x86 now with tier 2 support and additionally 64-bit RISC-V, 32-bit ARMv7, 64-bit PowerPC; previously supported e.g. MIPS, IA-64 and SPARC)
Kernel type Monolithic with dynamically loadable modules
Userland BSD
Default user interface Unix shells: sh or tcsh (user-selectable) csh (in the past)
License FreeBSD License, FreeBSD Documentation License

FreeBSD is a special kind of operating system that works like Unix. It's free to use and change. It came from something called the Berkeley Software Distribution (BSD).

The first version of FreeBSD came out in 1993. It was built from an older system called 386BSD. FreeBSD has been the most popular BSD-based operating system ever since.

FreeBSD gives you a complete system. This includes the main part (the kernel), device drivers, and other tools. This is different from Linux, which only provides the kernel and drivers. FreeBSD's code is usually available under a simple license. This license lets people use and share the code freely. The project also has a team that makes sure all its software is safe. You can add more programs using a tool called pkg or from source code. The FreeBSD Foundation helps support and promote the project.

Many other operating systems use parts of FreeBSD. For example, Darwin, which is the base for macOS and iOS, uses FreeBSD code. Game consoles like the PlayStation 3, PlayStation 4, and PlayStation 5 also use parts of it. Other BSD systems like OpenBSD and NetBSD share a lot of code with FreeBSD too.

How FreeBSD Started

Early Days of Unix

In 1974, a professor named Bob Fabry at the University of California, Berkeley, got permission to use Unix code from AT&T. With money from DARPA, a group at the university started changing and making AT&T Unix better. They called their new version "Berkeley Unix" or "Berkeley Software Distribution" (BSD). This version added important features like TCP/IP for networking. The BSD project began in 1976. But because BSD used AT&T's code, anyone who wanted to use BSD needed a license from AT&T first.

In 1989, the first public version of BSD, called Net-1, was released. A BSD developer, Keith Bostic, wanted to replace all the AT&T code with free code. After 18 months, most of the AT&T code was gone. Only six files in the kernel still had AT&T code. So, the developers released Net-2 in 1991 without those six files.

The Birth of FreeBSD

In 1992, after Net-2 came out, William and Lynne Jolitz created new code for the six missing AT&T files. They also made BSD work on Intel 80386 computers. They called their new system 386BSD and shared it online.

The development of 386BSD was slow. So, a group of users, including Nate Williams, Rod Grimes, and Jordan Hubbard, decided to start their own project. They wanted to keep the operating system updated. On June 19, 1993, they chose the name FreeBSD. The first version of FreeBSD was released in November 1993.

Early on, a company called Walnut Creek CDROM helped FreeBSD. They released the operating system on CD-ROM. They also hired Jordan Hubbard and David Greenman, used FreeBSD on their own servers, and supported FreeBSD events. By 1997, FreeBSD was their most successful product. This company later became iXsystems.

Today, many big tech companies use FreeBSD. IBM, Nokia, Juniper Networks, and NetApp use it to build their products. Parts of Apple's macOS are based on FreeBSD. The operating systems for the PlayStation 3 and Nintendo Switch also use parts of FreeBSD. The PlayStation 4 operating system comes from FreeBSD 9. Companies like Netflix, WhatsApp, and FlightAware also use FreeBSD for their services.

Legal Challenge

Both 386BSD and FreeBSD came from BSD releases. In 1992, a company called Berkeley Software Design Inc. (BSDi) started selling an operating system called BSD/386. AT&T sued BSDi, saying they were using AT&T's code without permission. The lawsuit was settled out of court. One public term was that BSDi would switch to newer 4.4BSD-Lite2 code. Even though FreeBSD was not part of the lawsuit, it was suggested that they also switch. FreeBSD 2.0, released in November 1994, was the first version of FreeBSD without any AT&T code.

What FreeBSD Can Do

FreeBSD 14 welcome screen after login
FreeBSD 14 console after login

How People Use It

FreeBSD has many tools for servers. You can use it as a mail server, web server, firewall, FTP server, DNS server, or router.

You can also install FreeBSD on a regular desktop or laptop. It does not come with a graphical interface by default. But you can easily add one from the FreeBSD ports collection. You can choose from many desktop environments like GNOME, KDE, and Xfce. Popular web browsers like Firefox and Chromium are also available. FreeBSD supports many wireless devices.

FreeBSD offers installation files for different computer types. Since FreeBSD 13, it mainly focuses on 64-bit x86 (amd64) and 64-bit ARM (AArch64) computers. These are called "Tier 1" supported. Other types, like 32-bit x86, have "Tier 2" support.

Networking Features

FreeBSD's networking system is very important. It helped make TCP/IP (the internet's main language) popular. FreeBSD also supports newer networking features like IPv6 and Wi-Fi.

FreeBSD 5.4 added support for Common Address Redundancy Protocol (CARP). This lets several computers share the same internet addresses. If one computer stops working, others can take over. This helps keep online services running smoothly.

Storing Information

FreeBSD has special ways to handle storage. Soft updates help keep your files safe if the system crashes. You can also take "snapshots" of your files. This creates a copy of your files at a certain moment. This is great for making reliable backups.

GEOM is a system that helps manage storage. It can combine disks to make them faster or safer (like RAID). It also allows for full disk encryption to protect your data.

FreeBSD offers two ways to encrypt your data: GBDE and Geli. Both encrypt your entire disk.

Since version 7.0, FreeBSD supports the ZFS filesystem. ZFS is a powerful way to store and manage large amounts of data. The FreeBSD project continues to improve its ZFS support through the OpenZFS project.

Security Features

FreeBSD comes with three different firewall programs: IPFW, pf, and IPFilter. These help protect your computer from unwanted network traffic.

OpenSSH is also included. It's a secure way to connect to other computers. Unlike older tools like telnet, OpenSSH encrypts all your information, including passwords.

In November 2012, the FreeBSD Security Team found that hackers got into two of their servers. The hackers used stolen SSH keys from a developer. The team quickly turned off the servers. They checked the software packages and found no changes. However, they could not guarantee the safety of packages downloaded between September 19 and November 11.

TrustedBSD Project

FreeBSD has many security features thanks to the TrustedBSD project. These features include access-control lists (ACLs) and mandatory access controls (MAC). These help control who can access what on the system. This project aims to make FreeBSD very secure. Many of its improvements have been added to FreeBSD.

The project also helped bring OpenBSM to FreeBSD. This system helps keep a detailed record of security events. Many TrustedBSD features are now part of FreeBSD. Some have even been used in other operating systems, like OpenPAM in NetBSD and the MAC Framework in Apple's macOS.

Running on Different Computers

FreeBSD can run on many different types of computer hardware. The FreeBSD project groups these types into "tiers."

  • Tier 1 means the hardware is fully supported and stable.
  • Tier 2 means it's still being worked on but not fully supported.
  • Tier 3 means it's experimental or no longer actively developed.

As of April 2025, FreeBSD supports:

  • x86-64 (called "amd64"): Tier 1
  • 64-bit ARMv8 (called "aarch64"): Tier 1
  • x86 (IA-32) (called "i386"): Tier 2 (will be dropped in future versions)
  • 32-bit ARMv7 (called "armv7"): Tier 2
  • 64-bit PowerPC: Tier 2
  • 64-bit RISC-V: Tier 2

FreeBSD also runs on small computers like the BeagleBone Black and Raspberry Pi.

Adding More Software

FreeBSD has a huge collection of over 30,000 programs from other developers. These include windowing systems, web browsers, email clients, and office suites. The FreeBSD project itself doesn't make these programs. Instead, it provides a system called the Ports collection to install them. You can either build these programs from their source code or download them as ready-to-use packages.

The Ports collection uses special files called Makefiles. These files automatically download the program's code, unpack it, fix any issues, and then build it. Building from source can take time, but it gives you more control. Most ports also have pre-built packages. These are faster to install but offer fewer choices for customization.

FreeBSD 10.0 introduced a new package manager called pkg. It's like apt or yum on Linux. It helps you install, update, and remove programs easily.

Jails: Secure Containers

First seen in FreeBSD 4, "jails" are a security feature. They let you run many separate mini-operating systems on one FreeBSD host. It's like having many small, secure boxes inside your main system. A program running in a jail cannot access things outside its box. Each jail has its own name and internet address. You can run many jails at once, but they all share the same main FreeBSD kernel.

Virtualization: Running Other OSes

bhyve is a new way to run other operating systems on FreeBSD. It was added in FreeBSD 10.0. With bhyve, you can run different guest operating systems like FreeBSD, OpenBSD, Linux, and Microsoft Windows at the same time.

The main difference between bhyve and jails is that jails only run FreeBSD guests. bhyve, however, can run many different operating systems. It's similar to KVM on Linux.

You can also use VirtualBox and QEMU on FreeBSD.

Running Linux Programs

Most programs made for Linux can run on FreeBSD. This is thanks to a special built-in compatibility layer. This layer is not an emulator. Instead, FreeBSD's kernel understands Linux's commands. So, Linux programs run almost as if they were made for FreeBSD.

There's usually no slowdown when running Linux programs on FreeBSD. Sometimes, they even run better! However, not all Linux programs work perfectly. FreeBSD can run 64-bit Linux programs since release 10.3.

FreeBSD also has ways to run some Microsoft Windows network drivers. And you can use Wine to run other Windows software.

The Kernel: FreeBSD's Brain

FreeBSD's kernel is the main part of the operating system. It handles important jobs like managing programs, communication, and files. It's a "monolithic" kernel, but it's built in a modular way. This means different parts, like drivers, are separate modules. You can load and unload these modules whenever you need to.

Since version 7.1, FreeBSD uses a scheduler called ULE. This helps the system run many tasks at once on computers with multiple processors. The FreeBSD kernel also has a system called kqueue for handling events.

Help and Information

FreeBSD has lots of helpful information. This includes handbooks, manual pages, and articles. The FreeBSD Documentation Project keeps all this updated. The documentation is available in many languages. All official documents use the FreeBSD Documentation License, which lets people use and share them freely.

The FreeBSD project also has many mailing lists. These are like online forums where users can ask questions and get help.

Installers: Getting Started

From version 2.0 to 8.4, FreeBSD used a program called sysinstall to install the system. It was a text-based program with menus.

Now, FreeBSD uses a newer installer called bsdinstall. It was introduced in FreeBSD 9.0. It's simpler and more flexible.

Shell: Your Command Center

Before version 14.0, the default command line interface (shell) was tcsh for the main administrator and sh for regular users. Starting with version 14.0, `sh` is the default shell for everyone.

How FreeBSD is Developed

FreeBSD is created by a team of volunteers from all over the world. They communicate online and often don't meet in person. There are also annual conferences like BSDcon, EuroBSDCon, AsiaBSDCon, and BSDCan where developers and users meet.

Who Runs the Project

The FreeBSD Project is managed by about 500 "committers." These are developers who can directly change the main code. Most are volunteers, but some are paid by companies. Committers work on the operating system, documentation, or adding third-party programs.

Every two years, the committers choose a 9-member FreeBSD Core Team. This team guides the project, sets rules, and approves new committers. Other teams handle specific tasks, like managing the collection of third-party programs.

Besides committers, thousands of "contributors" help out. These are volunteers who suggest changes to the code. Committers review these suggestions. If a contributor sends in many good changes, they might be asked to become a committer.

Development Branches

FreeBSD developers work on at least two main versions at the same time:

  • The -CURRENT branch is where all the newest changes and experiments happen. It's the "bleeding edge."
  • A -STABLE branch is made for each major version number. From this, new "releases" are created about every 4–6 months. If a new feature in -CURRENT becomes stable, it's often added to the -STABLE branch.

The FreeBSD Foundation

The FreeBSD Foundation helps support FreeBSD development. It's a non-profit group that takes donations. These donations help pay developers, buy computer equipment, and support developer meetings.

In November 2014, the FreeBSD Foundation received a $1 million donation from Jan Koum, the co-founder of WhatsApp. This was the largest single donation they had received. In December 2016, he donated another $500,000. Jan Koum has been a FreeBSD user for a long time, and WhatsApp uses FreeBSD on its servers.

Licenses for FreeBSD

FreeBSD uses different open-source licenses. Most of the kernel code and new code use the two-clause BSD license. This license lets anyone use and share FreeBSD as they wish. It's a very flexible license. Some parts use other BSD licenses or even the Beerware license.

Some parts of the code from other projects use licenses like GPL or CDDL. These are kept separate from the more flexible BSD-licensed code. This makes it easier for companies to use only the most open parts of FreeBSD if they need to.

For many years, FreeBSD's logo was the BSD Daemon, also known as Beastie. This friendly-looking demon was not just for FreeBSD. It first appeared in 1976 on Unix T-shirts.

More popular versions of Beastie were drawn by John Lasseter starting in 1984. Later, Tatsumi Hosokawa drew some versions specifically for FreeBSD. However, Beastie was seen as too detailed for a simple logo.

Because of this, a competition was held, and a new logo designed by Anton K. Gural was chosen on October 8, 2005. This new logo still hints at the BSD daemon. However, the FreeBSD project decided to keep Beastie as its mascot, even with the new logo.

The name "FreeBSD" was suggested by David Greenman on June 19, 1993. FreeBSD's slogan, "The Power to Serve," is a trademark of The FreeBSD Foundation.

Systems Based on FreeBSD

PC-BSD-10
PC-BSD version 10, the operating system that was later known as TrueOS.

Many other software systems are built using FreeBSD. These are like different versions of FreeBSD that come with specific programs already installed. This is similar to how different Linux distributions work.

Active FreeBSD-based Systems

Name What it focuses on Purpose Started First release Latest release
GhostBSD For everyday users A system with the MATE desktop, also offers other desktops 2010 2024
NomadBSD For everyday users A system you can run from a USB stick (can also be installed) 2018 2024
helloSystem For everyday users Started in 2020, aims to be easy for users coming from macOS 2020 2021 2023
MidnightBSD For everyday users A project to make FreeBSD good for desktop use 2007 2025
OPNsense For servers or network devices Focuses on being a firewall, router, and network system 2015 2024
pfSense For servers or network devices Focuses on being a firewall, router, and network system 2004 2006 2023
TrueNAS For servers or network devices For network-attached storage devices 2005 2010 2025
XigmaNAS For servers or network devices For network-attached storage devices 2011 2012 2024

Other Systems Using FreeBSD Parts

  • Juniper's JUNOS router operating system.
  • EMC Isilon's OneFS operating system.
  • NetApp's Data ONTAP 8.x.
  • Netflix's Open Connect Appliance for delivering content.
  • The PlayStation 4 ("Orbis OS") and PlayStation 5.
  • Panasas' PanFS parallel file system.
  • WhatsApp uses FreeBSD on its servers to handle many connections.

Independent Operating Systems

Some operating systems are based on FreeBSD but have become very different. DragonFly BSD is one example. It started from FreeBSD 4.8 and changed a lot of its core parts.

Darwin, which is the core of Apple's macOS, uses parts of FreeBSD's file system and network code.

FreeBSD Version History

Version Release date Supported until Key changes
Old version, no longer maintained: 1.x November 1993 ?
  • First official release.
  • Introduced the Ports Collection for easy software installation.
Old version, no longer maintained: 2.x November 22, 1994 ?
  • Codebase updated to meet legal requirements.
  • New installer and boot manager.
  • Added support for more file systems.
  • Full Linux program emulation.
Old version, no longer maintained: 3.x October 16, 1998 ?
  • Improved support for computers with multiple processors (SMP).
  • Initial USB device support.
  • Added Pluggable Authentication Modules (PAM) for user logins.
Old version, no longer maintained: 4.x March 14, 2000 January 31, 2007
  • Added IPv6 and IPsec support for modern networking.
  • OpenSSH included for secure connections.
  • New `jail(2)` system for secure containers.
  • Kqueue for efficient event handling.
  • Basic Firewire and USB2 support.
Old version, no longer maintained: 5.x January 14, 2003 May 31, 2008
  • Support for UltraSPARC and IA-64 processors.
  • Major improvements for multi-processor systems.
  • GEOM for advanced storage management.
  • Mandatory Access Control for better security.
  • Bluetooth support.
  • pf firewall from OpenBSD added.
Old version, no longer maintained: 6.x November 1, 2005 November 30, 2010
  • New Wi-Fi system.
  • GELI for disk encryption.
  • NDIS driver support for some Windows network drivers.
  • OpenBSM for security auditing.
  • `freebsd-update` for easy system updates.
Old version, no longer maintained: 7.x February 27, 2008 February 28, 2013
  • Introduced ZFS filesystem.
  • Added DTrace for system analysis.
  • Support for ARM architecture.
  • ULE scheduler became the default for better performance.
Old version, no longer maintained: 8.x November 26, 2009 August 1, 2015
  • Improved SATA performance.
  • Support for Xen virtualization.
  • USB 3.0 support.
Old version, no longer maintained: 9.x January 12, 2012 December 31, 2016
  • Capsicum capability-based security for stronger security.
  • ZFS updated to version 28.
  • `bsdinstall`, the new system installer.
  • `pkgng`, the new package manager.
Old version, no longer maintained: 10.x January 20, 2014 October 31, 2018
  • Introduced bhyve hypervisor for running other OSes.
  • Clang replaced GCC as the main compiler.
  • Added support for Raspberry Pi.
  • UEFI boot for modern computers.
  • Support for 64-bit Linux programs.
Old version, no longer maintained: 11.x October 10, 2016 September 30, 2021
  • New version of NetMap for fast networking.
  • Support for 64-bit ARM Architecture.
  • ZFS filesystem updated for parallel mounting.
  • `trim(8)` utility added for flash storage.
Old version, no longer maintained: 12.x December 11, 2018 December 31, 2023
  • ext2fs(5) filesystem updated to support full read/write for ext4.
  • Improved handling of graphics drivers.
  • UFS/FFS filesystem updated for better data integrity.
Older version, yet still maintained: 13.x April 13, 2021 April 30, 2026
  • Updated compiler tools (clang, lld, etc.) to version 11.0.1.
  • Removed older compiler tools.
  • Kernel now supports in-kernel encryption for TLS data.
  • 64-bit ARM (arm64 or AArch64) became a Tier-1 supported architecture.
Current stable version: 14.x November 20, 2023 November 30, 2028
  • OpenSSH updated to version 9.5p1.
  • OpenSSL updated to version 3.0.12.
  • bhyve hypervisor now supports TPM and GPU passthrough.
  • FreeBSD supports up to 1024 cores on amd64 and arm64.
  • ZFS upgraded to OpenZFS release 2.2 with performance improvements.
  • Background filesystem checks for UFS with journaled soft updates.
  • Default TCP congestion control changed to CUBIC.
Future release: 15.x December 2025 ?
  • Will drop support for most 32-bit CPU types except armv7.
Future release: 16.x December 2027 ? No information yet.
Version Release date Supported until Key changes
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

More to Explore

  • BAPP, a set of common software used with FreeBSD
  • Comparison of BSD operating systems
  • Comparison of operating system kernels
  • Comparison of operating systems
  • Computer Systems Research Group
  • List of BSD adopters

See also

Kids robot.svg In Spanish: FreeBSD para niños

kids search engine
FreeBSD Facts for Kids. Kiddle Encyclopedia.