|Developer||The FreeBSD Project|
|OS family||Unix-like (BSD)|
|Source model||Open source|
|Initial release||1.0 (1 November 1993)|
|Latest release||10.2 (13 August 2015) |
|Latest preview||10.2-RC3 (6 August 2015)|
|Marketing target||Desktop, Workstation, Server, Embedded systems|
|Platforms||IA-32, x86-64, SPARC64, IA-64, PowerPC, ARM, MIPS|
|Kernel type||Monolithic with dynamically loadable modules|
|Default user interface||Command-line interface|
|License||Simplified BSD, FreeBSD Documentation License|
FreeBSD is a free Unix-like operating system descended from Research Unix via the Berkeley Software Distribution (BSD). Although for legal reasons FreeBSD cannot use the Unix trademark, it is a direct descendant of BSD, which was historically also called "BSD Unix" or "Berkeley Unix". The first version of FreeBSD was released in 1993, and today FreeBSD is the most widely used open-source BSD distribution, accounting for more than three-quarters of all installed systems running open-source BSD derivatives.
FreeBSD has similarities with Linux, with two major differences in scope and licensing: FreeBSD maintains a complete operating system, i.e. the project delivers kernel, device drivers, userland utilities and documentation, as opposed to Linux delivering a kernel and drivers only and relying on third-parties for system software; and FreeBSD source code is generally released under a permissive BSD license as opposed to the copyleft GPL.
The FreeBSD project includes a security team overseeing all software shipped in the base distribution. A wide range of additional third-party applications may be installed using the pkgng package management system or the FreeBSD Ports, or by directly compiling source code. Due to its permissive licensing terms, much of FreeBSD's code base has become an integral part of other operating systems such as Juniper JUNOS and Apple's OS X.
- Background 1.1
- Birth of FreeBSD 1.2
- Lawsuit 1.3
- Uses 2
- Networking 3.1
- Storage 3.2
- Security 3.3
- Portability 3.4
Third-party software 3.5
- Ports and Packages 3.5.1
- Jails 3.6
- Virtualization 3.7
- Compatibility layers with other operating systems 3.8
- Kernel 3.9
- Documentation and support 3.10
- Installers 3.11
- Governance structure 4.1
- Branches 4.2
- Foundation 4.3
- License 5
- Logo 6
- Derivatives 7
- Unauthorized access to FreeBSD's servers 8
- Version history 9
- See also 10
- References 11
- Notes 12
- External links 13
FreeBSD's roots go back to the University of California, Berkeley. The university acquired a UNIX source license from AT&T. Students of the university started to modify and improve the AT&T Unix and called this modified version Berkeley Unix or BSD, implementing features such as TCP/IP, virtual memory and the Unix 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 get a license from AT&T first 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" without those six files. Net-2 was released in 1991.
Birth of FreeBSD
In 1992, several months after the release of Net-2, William Jolitz and Lynne Jolitz wrote replacements for those six missing files and ported BSD to the Intel 80386-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 decided to branch out on their own and create FreeBSD so that they could keep the operating system up to date. The first version of FreeBSD was released on 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. 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 itself later renamed to The FreeBSD Mall and later iXSystems.
Today, FreeBSD is used by many IT companies such as IBM, Nokia, Juniper Networks, and NetApp to build their product. Certain parts of Apple's Mac OS X operating system are based on FreeBSD. The PlayStation 3 operating system also borrows certain components from FreeBSD, while the PlayStation 4 operating system is derived from FreeBSD 9. Netflix, WhatsApp, and FlightAware are also examples of big, successful and heavily network-oriented companies which are running FreeBSD.
386BSD and FreeBSD were both derived from 1992's BSD release. In January 1992, BSDi started to release BSD/386, later called BSD/OS, an operating system similar to FreeBSD and based on 1992's BSD release. 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 their source base to the newer 4.4BSD-Lite sources. Although not involved in the litigation, it was suggested to FreeBSD that they should also move to 4.4BSD-Lite. FreeBSD 2.0 which was released on November 1994, was the first version of FreeBSD without any code from AT&T.
As a general purpose operating system, FreeBSD could be used in various scenarios:
FreeBSD contains a significant collection of server-related software in the base system and the ports collection, it is possible to configure and use FreeBSD as a mail server, web server, Firewall, FTP server, DNS server and a router, among other applications.
Although FreeBSD does not install the X Window System by default, it is available in the FreeBSD ports collection. A number of Desktop environments such as GNOME, KDE and Xfce, and lightweight window managers such as Openbox, Fluxbox and dwm are also available to FreeBSD.
- Embedded systems
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, SCTP, IPSec, and wireless networking (Wi-Fi). The IPv6 and IPSec stacks were taken from the KAME project. Also, FreeBSD supports IPX and AppleTalk protocols, but they are considered old and it is planned to drop support of them in the upcoming FreeBSD 11.0.
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 still can serve the requests.
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 (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, but when Oracle acquired Sun, ZFS became a proprietary product. However, the FreeBSD project is still developing and improving its ZFS implemention via the OpenZFS project.
FreeBSD provides several security-related features including
- Official website
- Official Forums
- Official Wiki
- Official FreeBSD Handbook
- FreeBSD at DistroWatch
- Project Frenzy - FreeBSD-based LiveCD
- Negus, Christopher; Caen, Francois (5 May 2008), BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD (First ed.),
- Lavigne, Dru (24 May 2004), BSD Hacks (First ed.),
- Lucas, Michael W. (14 November 2007), Absolute FreeBSD (Second ed.),
- Lavigne, Dru; Lehey, Greg; Reed, Jeremy C. (20 December 2007), The Best of FreeBSD Basics (First ed.), Reed Media Services, p. 596,
- Hong, Bryan J. (1 April 2008), Building a Server with FreeBSD 7 (First ed.),
- Tiemann, Brian; Urban, Michael (15 June 2006), FreeBSD 6 Unleashed (First ed.),
- Korff, Yanek; Hope, Paco; Potter, Bruce (March 2005), Mastering FreeBSD and OpenBSD Security (First ed.),
- Lehey, Greg (April 2003), The Complete FreeBSD (Fourth ed.),
- McKusick, Marshall K.; Neville-Neil, George V. (2 August 2004), The Design and Implementation of the FreeBSD Operating System (First ed.),
- Mittelstaedt, Ted (15 December 2000), The FreeBSD Corporate Networker's Guide (First ed.),
- Stokely, Murray; Lee, Chern (1 March 2004), The FreeBSD Handbook, Volume 1: User Guide (Third ed.), FreeBSD Mall, p. 408,
- Stokely, Murray (1 September 2004), The FreeBSD Handbook, Volume 2: Admin Guide (Third ed.), FreeBSD Mall, p. 537,
- "FreeBSD 10.2-RELEASE Announcement". FreeBSD.org. 14 August 2015. Retrieved 14 August 2015.
- "BSD Usage Survey Report" (PDF). The BSD Certification Group. 31 October 2005. Retrieved 5 December 2010.
- Chisnall, David (20 January 2006). "BSD: The Other Free UNIX Family". informit.com. Retrieved 13 December 2013.
- "Open Sources: Voices from the Open Source Revolution".
- Lucas 2007, pp. 4-5.
- "A Brief History of FreeBSD". FreeBSD.org. Retrieved 31 January 2009.
- Bruce, Bob. "Company History". FreeBSD Mall. Retrieved 6 August 2014.
- Johnson, Dwight. "Report from Comdex--Walnut Creek CDROM, FreeBSD and Slackware". Linux Today. Retrieved 6 August 2014.
- Lucas 2007, p. 5.
- Pohlmann, Frank (19 July 2005). "Why FreeBSD".
- "Kernel Programming Guide: BSD Overview".
- "Licenses of software used on PlayStation®3 console". Retrieved 11 August 2010.
- Michael Larabel (23 June 2013). "Sony's PlayStation 4 Is Running Modified FreeBSD 9". Phoronix. Retrieved 17 August 2013.
- Lehey 2003, p. 8.
- "Release Information". The FreeBSD Project. Retrieved 11 September 2014.
- "Welcome to FreeBSD!". The FreeBSD Project. Retrieved 9 September 2014.
- McKusick, Marshall (2005). "Section 2.13". The Design and Implementation of the FreeBSD Operating System.
- Farrokhi, Babak. "Network Configuration—IPv6 with FreeBSD".
- Sam Leffler. "FreeBSD Wireless Netwokring Support". BSDCan. Archived from the original (PDF) on 26 December 2013. Retrieved 26 December 2013.
- "Overview of the KAME Project".
- Smirnoff, Gleb (28 October 2013). "[heads up] axing AppleTalk and IPX/SPX". freebsd-stable (Mailing list). Retrieved 12 August 2014.
- "CARP(4)". The FreeBSD documentation Project. Retrieved 25 October 2013.
- McKusick, Marshall; V. Neville-Neil, George (2005). "8.6. Soft Updates". The Design and Implementation of the FreeBSD Operating System.
- Lucas 2007, p. 220.
- Lucas 2007, 18. DISK TRICKS WITH GEOM.
- "geli(8)". The FreeBSD Project. Retrieved 12 August 2014.
- Kamp, Poul-Henning. "GBDE—GEOM Based Disk Encryption".
- Sean Michael Kerner (25 February 2011). "FreeBSD 8.2 Expands ZFS Support -- Without Oracle".
- "FreeBSD Access Control Lists".
- "The TrustedBSD MAC Framework: Extensible Kernel Access Control for FreeBSD 5.0".
- "TrustedBSD: Adding Trusted Operating System Features to FreeBSD" (PDF). Retrieved 12 September 2014.
- "TrustedBSD: Adding Trusted Operating System Features to FreeBSD".
- "TrustedBSD Project". TrustedBSD Project. Retrieved 9 August 2014.
- "OPENPAM(3)". The NetBSD Project. Retrieved 12 September 2014.
- "Authentication, Authorization, and Permissions Guide". developer.apple.com.
- "Meet The Team". HardenedBSD. The HardenedBSD Project. Retrieved 11 June 2015.
- "FreeBSD: Address Space Layout Randomization". freebsd.org. 2014-12-06. Retrieved 2015-01-12.
- Webb, Shawn. "HardenedBSD". HardenedBSD. The HardenedBSD Project. Retrieved 11 June 2015.
- Webb, Shawn (8 May 2015). "HardenedBSD Teams Up With OPNSense". The HardenedBSD Project. Retrieved 11 June 2015.
- Webb, Shawn (10 June 2015). "First Experimental OPNSense Images With HardenedBSD". The HardenedBSD Project. Retrieved 11 June 2015.
- Lucas 2007, p. 273.
- Lucas 2007, p. 440.
- "FreeBSD/Supported Platforms". FreeBSD.org. Retrieved 26 March 2014.
- "Committer's Guide". The FreeBSD Documentation Project.
- "FreeBSD – Raspberry Pi"., see also Raspbian#Software build
- "Raspberry Pi Software Is Rapidly Maturing". OSNews.
- "FreeBSD/arm". Retrieved 30 November 2014.
- "Chapter 4 Installing Applications: Packages and Ports". FreeBSD.org. Retrieved 30 January 2009.
- Lucas, p. 317.
- Asami, Satoshi. "The FreeBSD Ports Collection" (PDF).
- Larabel, Michael. "FreeBSD Still Working On Next-Gen Package Manager".
- "The BSD family, pt. 1: FreeBSD 9.1".
- "What's new for FreeBSD 11". wiki.freebsd.org. Retrieved 28 September 2015.
- Schenkeveld, Paul. "The BSD Hypervisor" (PDF).
- Larabel, Michael. "The State Of FreeBSD's Bhyve Virtualization".
- Grehan, Peter. "Introduction to bhyve" (PDF). Retrieved 9 August 2014.
- McEwen, Gordon. "Setting up Linux compatibility on FreeBSD 6". Archived from the original on 14 November 2006. Retrieved 15 December 2013.
- Lehey 2003, p. 162.
- Tiemann, Brian (2006). "How FreeBSD Compares to Other Operating Systems". FreeBSD 6 Unleashed.
- Michael, Larabel. "FreeBSD: A Faster Platform For Linux Gaming Than Linux?".
- "FreeBSD10 - FreeBSD Wiki". Retrieved 3 August 2013.
- Bill Paul (January 24, 2004). "Project Evil: The Evil Continues". freebsd-current (Mailing list).
- Chisnall, David (15 July 2005). "Project Evil: Windows network drivers on FreeBSD". Ping Wales. Archived from the original on 4 November 2005. Retrieved 23 October 2013.
- McKusick & Neville-Neil 2004, Chapter 2. Design Overview of FreeBSD.
- Michael Lucas 2007, p. 118.
- Roberson, Jeff. "ULE: A Modern Scheduler for FreeBSD" (PDF).
- Lemon, Jonathan. "KQueue–A Generic and Scalable Event Notification Facility" (PDF).
- "Thread models semantics: Solaris and Linux M:N to 1:1 thread model" (PDF). Department of computer Science and Engineering, Air University Multan Pakistan. Retrieved 16 September 2014.
- Lucas 2007, p. 359.
- Lucas 2007, p. 25.
- "Various Licenses and Comments about Them".
- Lehey 2003, p. 16.
- "BSD: The Other Free UNIX Family".
- "lists.freebsd.org Mailing Lists". Retrieved 11 September 2014.
- Lehey 2003, p. 17.
- "SYSINSTALL(8)". FreeBSD Man Pages. Retrieved 11 September 2014.
- "2012: a BSD year in retrospective".
- Lehey 2003, p. 20.
- "EuroBSDcon 2014". EuroBSDcon. Retrieved 9 August 2014.
- "AsiaBSDCon 2014". AsiaBSDCon. Retrieved 9 August 2014.
- "BSDCan - The BSD Conference". BSDCan. Retrieved 19 February 2015.
- Lucas 2007, p. 6.
- Lucas 2007, pp. 372-375.
- "About the FreeBSD Foundation". The FreeBSD Foundation. Retrieved 6 September 2009.
- "Updated! - FreeBSD Foundation Announces Generous Donation and Fundraising Milestone". FreeBSD Foundation. Retrieved 20 November 2014.
- "Various Licenses and Comments about Them".
- "The BSD 2-Clause License".
- "FreeBSD Copyright and Legal Information". FreeBSD.org. Retrieved 23 April 2013.
- "Contents of /stable/9/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE". The FreeBSD Project. Retrieved 28 August 2014.
- "ClangBSD Is Selfhosting, We Need Testers Now". osnews.com. 17 April 2010. Retrieved 23 April 2013.
- "Usenix". mckusick.com. Retrieved 15 December 2007.
- "Saving UNIX from /dev/null". minnie.tuhs.org. Retrieved 15 December 2007.
- "The BSD Daemon". FreeBSD.org. Retrieved 15 December 2007.
- "FreeBSD logo design competition". OSNews. Retrieved 1 November 2013.
- Kuriyama, Jun (22 February 2005). "FreeBSD logo design competition". FreeBSD-Announce (Mailing list). Retrieved 1 November 2013.
- "Final result for the FreeBSD logo design competition". FreeBSD.org. 2005. Archived from the original on 16 October 2012. Retrieved 1 March 2007.
- Greenman, David. "FreeBSD Archives". The FreeBSD Project. Retrieved 6 August 2014.
- "FreeBSD Logo". The FreeBSD Project. Retrieved 6 August 2014.
- Dillon, Matthew (16 July 2003), "Announcing DragonFly BSD!", freebsd-current mailing list, retrieved 26 July 2007
- "Porting UNIX/Linux Applications to OS X: Overview of OS X". Apple Inc.
- "1 million is so 2011". WhatsApp Blog. Retrieved 27 August 2014.
- Netflix (29 May 2012). "Open Connect Appliance Deployment Guide" (PDF).
- Long, Scott (5 June 2012). "Netflix's New Peering Appliance Uses FreeBSD". freebsd-stable (Mailing list). Retrieved 5 June 2012.
- Matthew Humphries (24 June 2013). "PS4 runs modified version of the FreeBSD 9.0 operating system". Retrieved 19 October 2013.
- Clark, Jack. "Sony's new PlayStation 4 and open source FreeBSD: The TRUTH". theregister.co.uk. Retrieved 16 November 2013.
- "Hackers obtained access to FreeBSD servers". H-Online. Retrieved 9 August 2014.
- "Hackers break into two FreeBSD Project servers using stolen SSH keys". Computer World. Retrieved 9 August 2014.
- "FreeBSD servers hacked". Techeye. Retrieved 9 August 2014.
- "FreeBSD Security Information - End of Life". The FreeBSD Project. Retrieved 5 April 2015.
- "FreeBSD 11.0 Release Process". The FreeBSD Project. Retrieved 2015-04-07.
- "What's new for FreeBSD 11". The FreeBSD Project. Retrieved 2015-03-24.
- BAPP – BSD + Apache + PostgreSQL + Perl/PHP/Python
- BSD descendants
- Usage share of operating systems
- Comparison of BSD operating systems
- Comparison of operating system kernels
- Comparison of operating systems
- Security-focused operating system
- Marshall Kirk McKusick
- Computer Systems Research Group
- How does one patch KDE2 under FreeBSD?
|Version||Release date||Supported until||Significant changes|
|Old version, no longer supported: 1.0||November 1993||
|Old version, no longer supported: 1.1||May 1994|
|Old version, no longer supported: 2.0||22 November 1994|
|Old version, no longer supported: 2.1.5||16 July 1996|
|Old version, no longer supported: 2.1.7||17 February 1997|
|Old version, no longer supported: 2.2||March 1997|
|Old version, no longer supported: 2.2.8||29 November 1998||
|Old version, no longer supported: 3.0||16 October 1998|
|Old version, no longer supported: 3.1||15 February 1999||
|Old version, no longer supported: 3.2||17 May 1999|
|Old version, no longer supported: 3.3||15 September 1999|
|Old version, no longer supported: 3.4||20 December 1999|
|Old version, no longer supported: 3.5||25 June 2000|
|Old version, no longer supported: 3.5.1||27 July 2000|
|Old version, no longer supported: 4.0||14 March 2000|
|Old version, no longer supported: 4.1||27 July 2000|
|Old version, no longer supported: 4.1.1||7 November 2000|
|Old version, no longer supported: 4.2||21 November 2000|
|Old version, no longer supported: 4.3|
|Old version, no longer supported: 4.4|
|Old version, no longer supported: 4.5|
|Old version, no longer supported: 4.6|
|Old version, no longer supported: 4.7|
|Old version, no longer supported: 4.8||3 April 2003||31 March 2004|
|Old version, no longer supported: 4.9|
|Old version, no longer supported: 4.10||27 May 2004||May 2006|
|Old version, no longer supported: 4.11||25 January 2005||31 January 2007|
|Old version, no longer supported: 5.0||14 January 2003||30 June 2003|
|Old version, no longer supported: 5.1||9 June 2003||February 2004|
|Old version, no longer supported: 5.3||6 November 2004||31 October 2006|
|Old version, no longer supported: 5.4||9 May 2005||31 October 2006|
|Old version, no longer supported: 6.0||1 November 2005|
|Old version, no longer supported: 6.2||15 January 2007||31 May 2008|
|Old version, no longer supported: 7.0||27 February 2008||30 April 2009|
|Old version, no longer supported: 7.1||4 January 2009||28 February 2011|
|Old version, no longer supported: 8.0||26 November 2009|
|Old version, no longer supported: 8.1||23 July 2010||31 July 2012||
|Old version, no longer supported: 8.2||24 February 2011||
|Old version, no longer supported: 8.3||9 April 2012||30 April 2014|
|Old version, no longer supported: 8.4||9 June 2013||1 August 2015|
|Old version, no longer supported: 9.0||12 January 2012||31 March 2013|
|Old version, no longer supported: 9.1||30 December 2012||31 December 2014||
|Old version, no longer supported: 9.2||30 September 2013||31 December 2014||
|Older version, yet still supported: 9.3||16 July 2014||31 December 2016||
|Old version, no longer supported: 10.0||20 January 2014||28 February 2015|
|Older version, yet still supported: 10.1||14 November 2014||31 December 2016|
|Current stable version: 10.2||13 August 2015||31 December 2016|
|Future release: 11.0||27 July 2016 (expected)||New version of NetMap|
|Version||Release date||Supported until||Significant changes|
|Legend:||Old version||Older version, still supported||Current version||Latest preview version||Future release|
On 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 September 19. 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 announced that no unauthorized change was made to the binary packages, but they stated that they can't guarantee the integrity of packages that were downloaded between September 19 and November 11.
- NetApp's Data ONTAP 8.x and the now superseded ONTAP GX (only as a loader for proprietary kernel-space module)
- Netflix's Open Connect Appliance to handle content delivery.
- The PlayStation 3
- The PlayStation 4 ("Orbis OS")
Embedded devices and embedded device operating systems based on FreeBSD include:
- WhatsApp - processes 2 million concurrent TCP connections per server.
Some subscription services that are directly based on FreeBSD are:
Darwin, the core of Apple OS X, includes a virtual file system and network stack derived from the FreeBSD virtual file system and network stack, and components of its userspace are also FreeBSD-derived.
Besides these distributions, there are some independent operating systems based on FreeBSD. DragonFly BSD 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 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.
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.
- PC-BSD (aimed at home users and workstations)
- DesktopBSD (desktop-oriented operating system, originally based on KDE)
- GhostBSD (MATE-based distribution, which also offers other desktop environments)
- FreeSBIE (live CD)
- Frenzy (live CD)
- m0n0wall (firewall)
- OPNsense (firewall)
- pfSense (firewall)
- FreeNAS (for Network-attached storage devices)
- NAS4Free (for Network-attached storage devices)
- AuthServ/Zilux - (for network servers & storage)
There are a number of software distributions based on FreeBSD including:
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 registered trademark of The FreeBSD Foundation.
However, Beastie was not unique to FreeBSD. 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 upon 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 will continue to use Beastie as its mascot.
For many years FreeBSD's logo was the generic BSD daemon, also called Beastie, a distorted pronunciation of BSD. First appearing in 1976 on Unix T-shirts purchased by Bell Labs, the 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.
FreeBSD is released under a variety of open source licenses. The kernel code and most newly created code is 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 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 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, CDDL and ISC. All the code licensed under GPL and CDDL 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 with the BSD-licensed LLVM/Clang compiler. ClangBSD became self-hosting on 16 April 2010.
In November 2014, the FreeBSD Foundation received 1 million USD donation from Jan Koum, Co-Founder and CEO of WhatsApp, - the largest single donation to the Foundation since its inception. Jan Koum himself is a FreeBSD user since the late 1990s and WhatsApp uses FreeBSD on its servers.
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.
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 are 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.
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 don't have direct 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.
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 web site authors) and ports (third party application porting and infrastructure). Every two years the FreeBSD committers select a 9-member FreeBSD Core Team who are responsible for overall project direction, setting and enforcing project rules and approving new commiters, or the granting of SVN commit access. 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.
FreeBSD is developed by a volunteer team located around the world. The developers use the Internet 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 operating systems, including OpenBSD and NetBSD. In addition to BSDcon, three other annual conferences, EuroBSDCon, AsiaBSDCon and BSDCan take place in Europe, Japan and Canada respectively.
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".
From version 2.0 to 9.0, 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.
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).
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".
Documentation and support
FreeBSD's kernel provides support for some essential tasks such as managing processes, communication, booting and filesystems. FreeBSD has a monolithic kernel, with 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, 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.
Most software that runs on  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 2.6.18, available since FreeBSD 7.0. However, there is currently no support for running 64-bit Linux binaries. As of September 2014, there are plans for supporting 64-bit Linux binaries.
Compatibility layers with other operating systems
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, and Microsoft Windows) simultaneously. Other operating systems such as Illumos are planned. bhyve was written by Neel Nato 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 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.
First introduced in 4.x, a FreeBSD jail is a security mechanism and an implementation of operating system-level virtualization that enables the user to run multiple instances of a guest operating system (FreeBSD) on top of a FreeBSD host. Jails are enhanced version of traditional chroot mechanism. A process that runs in a jail, is unable to access the resources outside of that jail. Every jail has its own hostname and IP address. It is possible to run multiple jails at the same time. The kernel is shared among all of them, therefore only software supported by the FreeBSD kernel can be run inside a jail.
PackageKit also supports the FreeBSD Ports collection as an accepted repository.
In FreeBSD 10.0, a new package manager, called pkg, was introduced. pkg is a replacement for the previously used package tools. It has functionality similar to apt and yum. It includes installation and upgrades from both source (ports) and with pre-built binary packages.
Each application in the Ports Collection is installed from source. Ports are instructions for compiling software on FreeBSD, and packages are pre-compiled ports. Each port's Makefile automatically fetches the application source code, either from a local disk, CD-ROM or via ftp, unpacks it on the system, applies the patches, and compiles. This method can be very time consuming as compiling large packages can take hours, but the user is able to install a customized program. For most ports, precompiled binary packages also exist. This method is very quick as the whole compilation process is avoided, but the user is not able to install a program with customized compile time options.
Ports and Packages
FreeBSD has a repository of over 24,000 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.
|x86 (IA-32)||Tier 1||referred to as "i386"|
|x86-64||Tier 1||referred to as "amd64"|
|NEC PC-9801||Tier 2||referred to as "pc98"|
|Sun SPARC||Tier 2||Only 64-bit (V9) architecture|
|Itanium (IA-64)||Tier 2|
|PowerPC and PowerPC/64||Tier 2|
|IBM ESA/390||Tier 3||referred to as "S/390"|
As of March 2014, FreeBSD has been ported to the following architectures:
FreeBSD has been ported to a variety of processor architectures. The FreeBSD project organizes architectures into tiers that characterize the level of support provided. Tier 1 architectures are mature and fully supported. Tier 2 architectures are undergoing major development. Tier 3 architectures are experimental or are no longer under active development and Tier 4 architectures have no support at all.
Taken from OpenBSD, the OpenSSH program was included in default install. OpenSSH is a Free implementation of the SSH protocol and is a replacement for telnet. Unlike telnet, OpenSSH encrypts all information (including username and password).
TrustedBSD's Robert Watson also contributed to HardenedBSD, a project that develops Address space layout randomization (ASLR) and exploit mitigation in preparation for software upstreaming to FreeBSD. The project started when Oliver Pinter implemented basic ASLR support in 2013. In 2014, Shawn Webb picked up the patch and started enhancing it to include per-jail support and mac_bsdextended/ugidfw integration. Oliver and Shawn have teamed up to create The HardenedBSD Project in 2014. It also has Nathan Dautenhahn, and Danilo Egea Gondolfo as developers, and is in cooperation with the OPNsense project.
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 has been adopted by NetBSD. Moreover, the TrustedBSD MAC Framework has been adopted by Apple for OS X.
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.