What Ubuntu software will run on FreeBSD

Free BSD is better than Linux in some ways, we'll show you where

David Wolski

A look at the other free Unix system: BSD with its variants such as Free BSD not only has many supporters and users in the professional environment, but also puts Linux in the shade in some aspects.

EnlargeApple's Mac OS and iOS BSD also use Free BSD as a basis.

The BSD operating system is available in source code, is under a very permissive license and, thanks to its unparalleled portability, runs on a wide variety of hardware - from supercomputers to smartphones. All of this sounds familiar, but it doesn't (only) describe Linux. What is meant here is BSD with its variants. And it is not an exaggeration: in fact, BSD systems are now at home on more platforms than any other operating system.

BSD systems go back to the "Berkeley Software Distribution". This was a free Unix clone that emerged as a spin-off of commercial Unix from AT&T at the University of California at Berkeley in the late 1970s. Today, the term BSD encompasses a whole class of operating systems. The most important are Free BSD, Open BSD and Net BSD. Their source code is also under an open source license, the BSD license.

While the GNU Public License requires that the derivative works are also subject to this license, BSD is liberal: A BSD license also allows commercial licensing of the software. Parts of BSD served as the basis of Apple's Mac OS, and iOS of iPhone and iPad are also based on it. Sony also uses a BSD operating system for the Playstation 4.

Trying it out: BSD in virtual machines

Nobody has to sacrifice the system on a running PC to test BSD in its variants, a virtual machine does too. Both Vmware and Virtualbox support BSD guest systems in 32-bit and 64-bit. The developers of Free BSD accommodate the curious and provide ready-made image files with pre-installed systems at http://ftp.freebsd.org/pub/FreeBSD/snapshots/VM-IMAGES for download in 32-bit and 64-bit. The images are available in the formats VMDK, VHD, RAW and QCOW2.

EnlargeAfter the installation, Free BSD will give you a command line (sh).

Common Unix roots

When Torvalds announced the development of a free Unix system in 1991, BSD was already there. BSD Net 2 was the second edition that no longer contained any code from AT&T. However, there was still no usable BSD output for PC hardware like the 386, which was new at the time. In addition, the open source scene still harbored doubts as to whether the BSD could hold its own against the copyright lawsuits of the old Unix rights holders in the long term. These legal disputes did not actually end until 1994.

Today, BSD with Free BSD is considered to be more consistent than Linux, albeit slower in its development, as the smaller core team is organized centrally. BSD derivatives are often used on servers where admins with long experience are doing their job. BSD systems are closer to the Unix roots and more consistent in their structure than the various Linux distributions. The network stack, i.e. the conceptual architecture of the network functions from the package to the network card, has the reputation of not giving up in Free BSD and Co. even under the highest load. This is why Whatsapp, Net ix and the Apache Software Foundation, for example, still prefer to use Free BSD over a Linux system on their own servers and load balancers. With ZFS, there is an optimal file system for NAS servers and data centers among BSD systems. For many old-school admins, however, it is simply a matter of faith to give priority to BSD systems. Since Linux and BSD systems often find each other side by side and the heavyweights under the open source software run on both systems, there is no rivalry between the systems.

Also interesting: Linux for every purpose and every user - the big overview (update)

Differences between BSD and Linux

Programs that are written for GNU / Linux, i.e. for the Linux kernel and the associated GNU tools, can be compiled for BSD with little effort and vice versa. The common denominator of both systems is the C libraries used, the extensive implementation of the Posix standard, which regulates the interaction between programs and the operating system kernel, and a compatibility layer in the BSD variants especially for Linux. In many cases, a 32-bit program for Linux does not have to be recompiled under the BSD systems. A lot of Linux software is therefore also available for the BSD consorts. This can be clearly seen on the desktop, because XFCE and KDE 4.x are also often seen as a graphical work environment on Free BSD.

There are, however, significant differences in the structure and organization of development: BSD systems are more than just a kernel, which is actually Linux. This is no nitpicking, because Linux actually only has strict requirements for kernel development. Linus Torvalds refuses to make modifications that change a kernel API, for example.

These rules do not apply to libraries and programs, which leads to differences between distributions and even between versions of a Linux distribution. The BSD development is set up more centrally and includes the entire operating system - not just the kernel, but also the programs running on it and even libraries such as the prominent C library - the "userland". BSD summarizes all components as a basic system and attaches great importance to consistency. What does not belong to the basic system is organized in the "ports", behind which there is also a central team.

BSD systems: pros and cons

Although Free BSD, the best-known BSD system, never saw the spread of GNU / Linux, there are good reasons to rely on BSD instead of Linux.

  • Consistent: The basic system of BSD is compiled and maintained centrally. This means that there are fewer deviations between BSD editions and their versions than with Linux distributions.

  • License: The permissive BSD license allows the source code to be used in any form, including in commercial software that is not open source. Only the copyright notice on the original work must be retained.

  • Strong in the network: BSD was written for server use from the start, and the protocol stack in the kernel is extremely efficient. Linux originated as a desktop system and later learned network skills.

However, some weaknesses that result from the small development team make the BSD systems more interesting for servers and as workhorses in the network:

  • Hardware support: While the driver situation under Linux is not optimal, it is miserable in BSD, especially since there are a number of proprietary drivers for commercial BSD variants that are not published.

  • Started: The documentation on the BSD system is extensive (www.freebsd.org/de/docs.html) and unfortunately it is essential to study at least some of it. After all, there is a lot in German.

  • Slow development: The free BSD variants move comparatively slowly. Linux makes BSD look old, at least in desktop mode, as there is no implementation for Systemd, for example, which modern desktop environments such as Gnome 3 and KDE Plasma 5 require.

Package management

BSD is a ready-to-use operating system, but nothing more. Application programs are missing, but the package management for post-installation of software is kept uniform: There are source code packages whose installation scripts (makefiles) are available on the local computer and are compiled at installation time. Any dependencies required are compiled at the same time. Thanks to the consistent environment, this is not a problem and the concept was copied from Gentoo and Arch Linux. Because recompiling is not always practicable with large programs such as Libre Office, Firefox or Apache, the selected ones are also available as a complete binary package.

Reading tip: The 10 most important Linux commands for beginners

EnlargeInstallation of Free BSD in text mode: BSD is quick to set up with default settings.

BSD variants: server to desktop

Compared to Linux systems with countless distributions, the field of official BSDs is manageable. Each project has its own source code, but since they all draw from the same source, the differences are less than in Linux distributions. However, the BSDs each have different objectives, such as a server or universal system, and thus provide a range of ready-made packages of different sizes.

Open BSD: In terms of security, Open BSD is the model system, because the source code is always subject to a precise code analysis. Some Open BSD developments have achieved prominence beyond this BSD, such as Open SSH as the popular SSH server used by most Linux distributions. Despite the emphasis on secure server processes, Open BSD has a graphical X window system with desktops such as XFCE and applications (www.openbsd.org).

Net BSD: