Previously, Part Zero: Introduction.

Part I: Desktop Operating Systems

 

Let us start at the start. The first piece of software with which you will interact after you first boot your computer, whether it’s a desktop or notebook PC, a smart phone, a tablet, a gaming console or other appliance, is its operating system (OS) – the master program that will run the rest of your software and help it interact with your hardware. For desktop and notebook PCs, this will usually be Windows or macOS. For smart phones, mobile devices and some smart appliances like TVs, this will usually be Android or iOS. So-called “Internet of Things” (IoT) devices will typically have an embedded OS that is either entirely proprietary, or based on the Linux kernel. There are also edge cases like Chromebooks, which run a hobbledversion of Gentoo Linux called ChromeOS to essentially host a proprietary web interface to Google cloud services. We will be ignoring IoT devices as they are usually not user serviceable, and their spying is by design and not easily mitigated. My personal recommendation would be to never buy an IoT device, and if you already have one, take it on a boating trip to visit your firearms. Single board computers (SBCs) like the Raspberry Pi line can replace many “smart” IoT devices when paired with the right software and a little elbow grease if you really have such a use case. We will also be ignoring Chromebooks for the sake of time, although it is entirely possible to replace ChromeOS with a Windows or Linux-based OS if you so desire.Windows, macOS and iOS are proprietary (although macOS and iOS integrate some open source code from the FreeBSD operating system), and as you may recall, I will not be recommending any proprietary software in this series. Of course, most of us do not get a choice in operating systems when we purchase a device; it ships with something preinstalled from the manufacturer. We will now take a look first at desktop operating systems, and then mobile operating systems in Part II.

Microsoft’s Windows is the OS most of us have used when sitting down in front of our desktop or notebook PCs both at home and at work for nearly as long as I’ve been alive. The twocurrently supported iterations, Windows 10 and Windows 11, are a privacy nightmare. By default, these OSes collect and transmit data about nearly every interaction you have with your PC, and phone home to Microsoft as well as Microsoft’s advertising partners. Your Windows installation includes a unique advertising ID, and ads are displayed in the start menu and search bar. Every word you speak to the Windows virtual assistant Cortana is captured and analyzed by Microsoft. Your files are scanned and indexed for searching, with metadata being transmitted back to Microsoft. The emails you store in Outlook and the files you store in OneDrive, both integrated into the OS, can be accessed by Microsoft and shared with third parties, including law enforcement, without notice to you per the terms of the user agreement. And that’s just the beginning. Detailing all of the privacy violations built into Windows is beyond the scope of this article. Suffice to say, when you set up your new Windows computer, you would be well advised to not take the default options, and furthermore, unless necessary for work or business, you should opt to use only a local user account to sign into your Windows computer. You should never have to sign into an online service just to use your operating system. Microsoft has made it increasingly difficult to use a local-only Windows user account, but disconnecting from a network before setting up Windows should give you the option to create a local-only account after you have satisfied the installer that you do not have internet access. Alternatively, you can set up a Microsoft account with a throwaway email address and then set up a local account later and delete the original. A basic guide to adjusting Windows privacy settings can be found here. You may also want to block domains known to be used for Microsoft telemetry using a firewall, DNS-level ad blocker, or the local hosts file to prevent the OS from phoning home. Unfortunately, some of the domains used for telemetry are also used for OS updates and other services like Bing search and OneDrive, so blocking them can interfere with that functionality. Other than OS updates, I consider that a feature rather than a bug. If you use your local hosts file for domain blocking, you will receive nag notifications from Windows’ built-in anti-malware program, which you can safely ignore.

Fortunately, most consumer PCs running Windows are a cobbled together collection of commodity hardware held together by a combination of interoperable firmware and relatively open standards, so it is not prohibitively difficult to replace Windows with another OS in most cases. Which brings us to GNU/Linux OSes. This combination of low level utilities (the GNU utilities in most cases, though there are exceptions) and the Linux kernel forms the basis of a complete free and open source Unix-like operating system. I have been a daily user of various desktop GNU/Linux OSes since 2005, and would recommend installing a Linux-based OS – called a distribution or “distro” – on your desktop or notebook PC if it is practical for you to do so. Obviously, that may not be an option for company-provided or work computers, but for your personal boxen, it has never been easier to start using a Linux-based OS. Most computers that run Windows are capable of running a Linux distro, although brand new/state of the art hardware will sometimes not have driver support immediately on release. Fortunately, most Linux distros have a “live” USB installer, which allows you to boot and run the OS from a USB thumb drive and preview its functionality before you commit to installing it. There are even distros that are intended only to be used from a live environment, such as the privacy-oriented Tails. At the very least, a live Linux distro is extremely handy to keep around as a rescue/data recovery system, or for occasions when you are doing sensitive work that you’d prefer not to share with Microsoft. The number of Linux distros and their various options for desktop environments and software can be a bit overwhelming to the uninitiated, but most of the mainstream distros have a desktop interface that is familiar enough to the average Windows or macOS user that it is not all that difficult to get started. For the Windows user, a distro running the KDE Plasma or Cinnamon desktop environments will likely feel the most familiar. For the macOS user, a distro running the GNOME or Pantheon desktop environments will likely feel the most familiar. Having said that, most Linux desktop environments can be customized nearly infinitely to suit your preference. For the utter newbie, a Linux distro such as Linux Mint or openSUSE will likely be a good first choice, as they offer good stability, multiple desktop environments, ease of installation, and additional graphical configuration tools so you should rarely if ever need to touch the dreaded command line. For a long time, Ubuntu was considered the standard newbie-friendly distro, but it has some quirks that I believe instill bad habits and make it a weaker choice of first distro. But that’s the great thing about having choices: you can find what works best for you. Head over to DistroWatch and see what strikes your fancy. Whichever distro you choose, it is a good idea to enable disk encryption during installation should you choose to make it permanent. This is usually as simple as just toggling a check box. Running a Linux distro is by no means a guarantee of privacy, but even the most privacy-disrespecting Linux distro generates an infinitesimal fraction of the telemetry data a Windows installation does, and that data is usually less personally identifiable, if it is so at all.

If you are in the market for a new desktop or notebook PC, there are a limited number of companies that sell computers with a Linux distro preinstalled. System76 and Purism sell desktop and notebook PCs designed from the ground up with Linux support in mind, including free and open source alternative BIOS/UEFI firmware, while a limited number of Dell and Lenovo models are available with Linux preinstalled in place of Windows. Ironically, despite Windows carrying a per-installation licensing fee, models that ship with a Linux-based OS often cost more due to economies of scale. I tend to buy relatively inexpensive and/or second hand computers and install a Linux distro myself as I am very comfortable doing so, but having an officially supported distro preinstalled from the factory has its advantages, especially if you are new to Linux and want something that “just works”.

The BSD family of operating systems provides another alternative, although hardware support and software availability is not quite as robust as it is in Linux-based OSes in my experience.This is particularly true of OpenBSD and NetBSD, which are better suited to server and network tasks rather than a general purpose desktop OS. However, this has improved over the years, as many Linux drivers can be used on BSD systems, and most major pieces of software, such as desktop environments, can be built on BSD without issue. FreeBSD and its derivativesrepresent the most widely used and supported of the BSD OSes on desktop hardware. For the utter newbie, GhostBSD, MidnightBSD and DragonFlyBSD offer simplified installation and a preinstalled desktop environment, and would make a good choice for your first foray into the BSD world. The BSD OSes all derive from the Berkeley Software Distribution developed from the late 1970s to the mid 1990s at UC Berkeley, which in turn was based on Research Unix. The BSDs are therefore a more direct descendant of Unix in the Unix-like OS pantheon. As each BSD is a complete OS in its own right rather than a collection of utilities married to an unrelated kernel, development is typically a little slower, but stability is typically a little better compared to GNU/Linux. I haven’t dabbled in the BSDs personally in about 10 years, but my distaste for certain aspects of the direction desktop Linux is headed will likely drive me back there in the next few years.

While Windows enjoys a dominant market share in desktop OSes, Apple’s macOS is also well represented. Apple is vertically integrated, in that their hardware is designed to operate only with their own OS, and their OS is designed to operate only with their own hardware. Because of that tight integration between proprietary OS and proprietary hardware, installing an alternative OS onto Mac computers presents some unique difficulties, primarily in ensuring good driver support. For all practical purposes, if you’re in the Apple ecosystem, it’s a walled garden and you are stuck there. Apple’s operating systems are marginally more privacy-respecting than Microsoft and Google, but they still collect a lot of telemetry data and have anti-features such as client-side file scanning – for the children, of course. However, a sufficiently motivated user can install a GNU/Linux OS onto Mac hardware. On older desktop and notebook Macs using Intel CPUs, some manual intervention is required in order to prepare the machine for booting a Linux-based OS, but once the disk partitioning and bootloader installation are completed, the process is about the same as installing a Linux distro onto any other PC. On a Mac, it is even more important than on Windows-based PCs to thoroughly test your chosen distro, either from a live environment or a dual-boot setup, to ensure all driver functionality is present and working properly. Since 2020, Apple has deprecated its Intel-based Macs in favor of its own ARM-based “Apple Silicon” CPUs, and unfortunately, it is more difficult to install an alternative OS on ARM-based machines, including Apple Silicon. While the x86-based CPUs from Intel and AMD used in most PCs are able to boot alternative OSes easily due to the relatively open nature of BIOS/UEFI firmware, ARM-based devices do not have a standardized firmware interface for booting. Instead, each licensee of the ARM instruction set typically implements their own, usually proprietary, bootloader, which must be reverse engineered or reimplemented in order to boot an alternative OS. There are efforts underway by the Asahi Linux team to develop a Linux-based OS for Apple Silicon, but it is still a work in progress and probably not a great choice as a daily driver quite yet.

TL;DR: If it is practical to do, especially for your personal computers that you use at home rather than an office, consider replacing Windows with a Linux distribution or BSD operating system. Recommended Linux distros for beginners: Linux Mint and openSUSE. Recommended BSD OSes for beginners: GhostBSD, DragonflyBSD and MidnightBSD. If you are a Mac user, it is more difficult to install an alternative OS, but still possible if you are adventurous enough. Be aware that Linux on Apple Silicon is still a work in progress.

Next, “Part II: Mobile Operating Systems.”