The computer field is full of annoying evangelists pushing their favorite operating systems and languages without regard for individual users' needs. I am not one of them. The purpose of this section is not to promote FreeBSD, but to make people aware of its potential advantages. If these advantages make FreeBSD a good fit for your needs, then you should use it. If other factors make a different operating system more suitable for you, then you should use that. My only goal is to help people make informed choices. Most people don't. They are more likely to blindly follow the crown or advice from friends and colleagues, than to properly investigate the alternatives and make a rational choice. This section is here to inform you, not persuade you. I hope you find the information useful.
FreeBSD is a popular platform for scientific computing, for good reasons, though many people are unaware of this. It has a number of features that make it an outstanding platform for scientists.
A minimal FreeBSD installation can be completed in under 5 minutes. This may be all you need for a server installation. Then just configure your security measures, install the packages you need, and get to work.
For desktop PCs, laptops, and workstations, you can install any of the popular desktop environments using the desktop-installer package in the FreeBSD ports system (https://github.com/outpaddling/desktop-installer).
shell-prompt: pkg install desktop-installer shell-prompt: desktop-installer
Unix beginners might prefer GhostBSD, a FreeBSD derivative with a fully graphical installer and systems management tools. (https://www.ghostbsd.org/) GhostBSD provides an experience very similar to Ubuntu Linux.
Unparalleled reliability/robustness. Jobs can run for weeks or months without worry of a system crash or freeze. A FreeBSD HPC cluster I built in 2012 never experienced a single compute node crash in more than eight years of service. It experienced many extreme loads during that time. A few head node crashes early on were traced to a Dell firmware bug affecting single-CPU configurations of the dual-socket PowerEdge server. After upgrading the firmware, the head node never crashed again either.
FreeBSD is renowned for its network performance and reliability. For this reason, many popular networking devices, including Juniper network products, OPNsense, pfSense, and TrueNAS, are based on FreeBSD. This makes FreeBSD a solid platform for big data processing and HPC clusters, which move huge amounts of data between machines.
FreeBSD has a fully-integrated ZFS file system, that can be easily configured during OS installation. Installing FreeBSD to boot from a ZFS RAID is as easy as installing most operating systems to a single disk. If you have a PC with two or more disks and no hardware RAID controller, you can easily configure your disks in any of the standard ZFS RAID levels during the FreeBSD install process. The entire install process will take about five minutes. The screen shots below show the disk configuration steps.
A few minutes later...
Booting from mirrored disks will protect your data from a single disk failure as well as increase performance. You should still back up data off-site to protect against other incidents such as fire, theft, or accidentally file deletion.
You can also manually configure other options outside the installer as well.
The FreeBSD ports system allows users to quickly, easily, and reliably manage over 30,000 software packages. According to repology.org, FreeBSD ports has one of the largest collections, and also one of the highest percentage of packages that are up-to-date (offering the latest release).
Unlike most competing package systems, FreeBSD ports allows you to build and install any package from source as easily as you would install the precompiled (binary) package. This allows building programs with additional, non-portable optimizations to take better advantage of your high-end CPUs, building with optional features, building with debug flags to help track down bugs in the software, etc.
# Install the binary packages pkg install rna-seq # Install from source: Take longer, but no more effort from you cd /usr/ports/biology/rna-seq && make install
Of the more than 30,000 packages in the collection, more than 2,000 are in the science categories.
shell-prompt: count-science-ports astro 141 biology 238 cad 146 math 1200 science 505 Total 2230
The CentOS-based Linux compatibility actually makes FreeBSD more suitable for running commercial Linux applications than many Linux distributions. Most commercial Linux software is built on Redhat Enterprise Linux (RHEL), and much of it does not run properly on Linux platforms with newer tools and libraries. FreeBSD's Linux compatibility is based on CentOS, which is RHEL-compatible. FreeBSD users thus have access to newer tools provided by FreeBSD and a RHEL-compatible Linux environment at the same time, with no virtual machine or container overhead.
FreeBSD's Linux compatibility is not an emulation layer. It is a kernel module that supports Linux system calls that differ from FreeBSD's. There is no additional overhead when running Linux binaries. In fact, Linux binaries sometimes run slightly faster on FreeBSD than they do on Linux.