Supporting an open source operating system: a Q&A with the FreeBSD Foundation

(Image credit: FreeBSD)

When discussing alternative operating systems to Microsoft’s Windows or Apple’s macOS, Linux often comes to mind. However, while Linux is a recreation of UNIX, FreeBSD is more of a continuation. The free and open source operating system was initially developed by students at the University of California at Berkeley which is why the BSD in its name stands for Berkeley Software Distribution.

FreeBSD runs on its own kernel and all of the operating system’s key components have been developed to be part of a single whole. This is where it differs the most from Linux because Linux is just the kernel and the other components are supplied by third parties.

To learn more about FreeBSD and its ongoing development, TechRadar Pro spoke to the executive director of the FreeBSD Foundation, Deb Goodkin.

What aspects of your job excite you the most?

What excites me the most is getting a large financial contribution from a commercial user. Not only does it help us continue the work we are doing, but it also validates the work the community and the Foundation are doing.

Besides that, other aspects that excite me are working with this community, watching people grow within the community, advocating for FreeBSD, working with my team on  developing new/improved ways to help the Project and community, and  being able to constantly learn and grow in my job.

Website

(Image credit: FreeBSD Foundation)

How does the FreeBSD Foundation work to support the development of FreeBSD?

The FreeBSD Foundation’s purpose is to support the FreeBSD Project. While we’re an entirely separate entity, we step in to fill critical needs of the project. To support the development of FreeBSD, we have software developers on staff to quickly step in to fix bugs, implement workarounds to hardware issues, and implement new features and functionality. They also review many of the software changes, providing constructive feedback to continuously help improve the code. In addition, we provide the FreeBSD infrastructure that is hosted around the world and provide staff to oversee continuous integration and quality assurance efforts, to improve testing and code coverage. 

I’d be remiss if I didn’t include our advocacy efforts in supporting development of FreeBSD. We attend technical conferences around the world, giving FreeBSD talks and workshops, to recruit more users and contributors to the Project. Increasing the number of contributors allows more people to step in to help in various areas of the Project, and this will help us with long-term sustainability. New users help test FreeBSD, with their various use cases, helping to identify issues or providing their input on how to improve FreeBSD.

We are 100% dependent on donations to support these efforts, so we are constantly reaching out to commercial users and the community to give a financial contribution.

How is FreeBSD the antithesis of Linux?

I wouldn’t refer to FreeBSD being the antithesis of Linux, since we both have similarities and are both Unix-like. But the similarities do lend people to think that FreeBSD is a Linux Distribution. However, that is not the case. FreeBSD is descended from the Unix developed at the University of California, Berkeley in the 1970s. Linux, on the other hand, was built as an open source alternative to UNIX. The similarities do make it easier for Linux developers to get involved with FreeBSD.

Currently there are over 400 active developers and thousands of contributors. FreeBSD works on 32- and 64-bit Intel / AMD x86, 32- and 64-bit Arm, RISC-V, PowerPC, Sparc64, and MIPS CPUs, and cloud providers like AWS, Azure, and GCP. There are tens of millions of deployed systems.

As with other BSDs, the FreeBSD base system is an integrated operating system distribution that is developed and released as a cohesive whole by a single team, which is in contrast to the Linux approach of distributions picking up the kernel from one source, the C library from another, the userland tools from another and so on. 

FreeBSD operates on the Principle of Least Astonishment. In other words, don’t break things that work. Because the OS doesn’t change without good reason, if you are basing your code or product on it, you don't have to constantly catch up everytime there is a new OS release. It also makes upgrading relatively painless. The licensing model is probably the biggest difference between the two. Linux is under the  GNU General Public License (GPL), meaning in part, that any derivative work of a product released under the GPL must also be supplied with source code if requested. FreeBSD on the other hand, is under the copy-free BSD license. It’s less restrictive: binary-only distributions are allowed and particularly useful for embedded platforms. 

FreeBSD doesn’t come with a GUI by default. Why is this and how can users install their own GUI when running FreeBSD?

FreeBSD doesn’t include a GUI in the initial install, because it follows the philosophy of starting out with only what you need to develop on FreeBSD. Since FreeBSD offers many GUIs through its ports and packages collection, this allows the user to select the one they want to use. 

(Image credit: Shutterstock)

Can you tell us a bit more about how BSD forms the core of macOS?

MacOS uses a significant amount of FreeBSD in its kernel and userland. More specifically they use the networking stack and a fair bit of userland, like libraries and utilities. For example, most of their command line is FreeBSD. 

Are there any upcoming features or developments planned for FreeBSD that you can tell us about?

Some of the software development efforts going on include, improving performance and scalability, increasing the hardware support, adding OpenZFS Raid-Z Expansion functionality, improving graphics and desktop support, improving OpenJDK on FreeBSD and improved wifi support. In addition, there is exciting news coming out of the University of Cambridge with their CHERI (Capability Hardware Enhanced RISC Instructions) collaborative effort with Arm to create a CHERI/ARM processor (you can find out more here).

Other plans include increasing our advocacy efforts, by increasing the FreeBSD workshops and FreeBSD talks around the globe.

What kind of user should consider giving FreeBSD a try?

There’s no limitation on who should consider using FreeBSD! It is perfect for someone who cares about rock solid stability and high performance. It has ZFS for protecting your data. FreeBSD has a community that is friendly, helpful, and approachable, and it provides excellent documentation to easily find answers. There are over 30,000 open source software packages that are easy to install, allowing you to easily set up your environment without a lot of extras, and that includes many choices of popular GUIs. Finally, our philosophy of don’t break things that work is very appealing.