Why GNU/Linux

by Jani Kärki — 2017-04-28
Last updated 2017-12-21

Swedish translation / svensk översättning

Contents:

Introduction

GNU/Linux* is my operating system of choice. In this text I will explain why that is the case, and I hope that it may inspire someone else to use it too.

The most important reasons for using GNU/Linux are true for any free software, because they are related to the freedoms that are granted to the user with regard to the software. These freedoms often give rise to secondary reasons as to why choosing GNU/Linux over other operating systems is beneficial.

First, we need to define exactly what we are talking about. Are we addressing operating systems themselves, or rather, the whole ecosystems that surround them? This text leans towards the latter, since it is directed at the users of operating systems, rather than computer scientists who may be interested in operating systems from a purely techical point of view. The case for GNU/Linux is much simpler in a techical discussion, because it is technically at least as capable as either Windows or macOS. It is with the ecosystem (availability of, and compatibility with programs) that questions usually arise.

* I call it “GNU/Linux” in this text because I am specifically referring to the combination of GNU and Linux (not just any OS that uses Linux) and the GNU parts of that operating system are important to me. It is common to refer to GNU/Linux as simply “Linux”, but in this text “Linux” refers to the kernel alone.

Overview of Reasons to Use GNU/Linux

Here is a quick overview of some of the reasons for using GNU/Linux rather than Windows or macOS. Some of them are further expanded upon in subsequent parts of the text. They are roughly ordered by importance and strength, as I see it.

GNU/Linux is Free Software

When we say that GNU/Linux is “free software”, we mean that it is free as in “freedom”, not free of cost, although it is almost always that too. GNU/Linux is also what we call “open source software”. Free software is a subset of open source software, but largely the two sets of software are the same.

The free software movement and the open source movement are two separate movements with different ideologies that in practice lead to the same end result:

These two factors have profound consequences for the affected software and its users. The source code is the human-readable version of a program. It gives anyone with access to it the practical means to study what the program does, change the program, and to make derivative versions of it. The licensing terms that accompany the source code of a free and open source program give anyone who obtains it the legal right to use, read, modify, and redistribute the software and its source code.

Such software has a copyright holder, but it is “owned” and controlled by everyone and noone. It benefits the underdogs and large enterprises alike, and hurts only those who are out to make money through competing nonfree software.

Most of the arguments in this text are in some way related to, or consequences of the fact that GNU/Linux is free software. The prevailing theme is one about freedom, choice, privacy, control and independence.

The exact definitions of free and open source software can be found at https://www.gnu.org/philosophy/free-sw.html and https://opensource.org/osd, respectively.

Do You Own Your OS?

Many Windows users are angry these days. They feel like their operating system does things that they do not approve of. Their expectations of being all powerful within their own computers are not unreasonable. Usually, when you have bought something, you own it, and if you own something, you have ultimate authority over it.

But what does Windows do? (not a a comprehensive list)

It’s as if Windows users did not own their copy of Windows. Well, they don’t. The Windows 10 EULA states: “The software is licensed, not sold”. Windows users own a license: a permission to use Windows under Microsoft’s terms. This means that it is Microsoft who owns all copies of Windows, and has ultimate authority over them. Microsoft can do whatever they like, including, but not limited to, the things listed above.

I cannot speak as much on Apple’s practices, but the licensing of macOS is of the same spirit as that of Windows. I expect Apple to be doing at least some of the same things to their users as Microsoft does.

With GNU/Linux, your copy of your OS is truly yours. It answers only to you. Things are as they should be, as even Windows users expect from an OS.

Customization

In both Windows or macOS, you have one certain graphical user interface. You have one certain file manager, one task manager, one login manager, one kernel etc.

GNU/Linux can be endlessly customized. An operating system can be thought of as a bunch of programs stacked on top of each other. In GNU/Linux, any program (for which an alternative exists) can be switched out. Most commonly people customize their desktop environment on the top of the “stack” (see the diversity at the unixporn subreddit (not actual porn)), but you can also customize and switch out the Linux kernel on the very bottom.

For instance, there is not just one desktop environment. Here’s a list of alternatives off the top of my head: XFCE, KDE, Gnome, LXDE, MATE, Cinnamon, Unity. You can pick any of these, or something else, or none at all. Maybe you just need a window manager: Openbox, i3, awesome, xmonad, JWM? Maybe you dont even need that, but if you are at that level of command line proficiency, I don’t need to try to convince you of anything.

Most commonly people pick a pre-made “stack” (a distribution) and customize that a little bit (this is the recommended approach for new users), but there is nothing stopping you from building your own GNU/Linux operating system from scratch if you like (and have the time and dedication).

Software Support

A nonfree operating system such as Windows or macOS can only be maintained and supported by its creators. However, a single company (or individal) can only support a piece of software for so long; it will eventually be left unmaintained (read: die). Since Windows and macOS are proprietary, when Microsoft and Apple give some version of them up, those versions are dead forever (unless they at that point make them free, but historically, that has never happened).

The only option in such a situation, if you wish to stay in their ecosystem and still use supported software, is to upgrade to a newer version; a version which may be vastly different from what you actually want to use, or, as in the case of Windows 10, has malicious functionalities.

This is not the case with GNU/Linux. Any free software will, as long as it is useful to sufficiently many people, organizations and companies, be maintained indefinitely by the community. Sure, releases of most GNU/Linux distributions eventually lose support, but the useful software that they contain will most likely not just disappear.

A recent example of this is Canoical’s decision to abandon their own Ubuntu desktop environment, Unity, in favour of Gnome. If Ubuntu was proprietary, its users would eventually be forced to switch to Gnome if they intended to keep using Ubuntu. What happened instead was that just days after the announcement from Canonical, a community maintained fork of Unity emerged, called Yunit. It seems thus that people who like Unity will (if there is enough interest from the public) have the option to keep using it, even though its original creators will abandon it.

The world of free software is full of events like this. When useful, widely used software is abandoned by its creators, or takes a direction that the community does not like, it is forked.

Security

Less Targeted

Currently GNU/Linux has a relatively small market share among desktop operating systems. This makes it inefficient for cyber criminals to target it with malware, so they focus most of their effort on Windows.

That said, if my dream comes true, namely that Windows and macOS both die a horrible death, and GNU/Linux emerges victorious from the rubble (with explosions in the background), this argument will be no longer hold.

At this point in time however, Linux users are relatively safe from malware. Just don’t download questionable things from the Internet.

Linus’s Law

“Linus’s law” states that “given enough eyeballs, all bugs are shallow”. In other words, with many people looking at a codebase, most bugs and security flaws will be identified and quickly fixed. Whether this is true or not, or to which degree, is debated. There have certainly been security disasters in free and open source software in the past (such as Heartbleed) and there are probably many more to come.

Linus’s law is, regardless, the reason why many consider free and open source software to generally be more secure than nonfree software. With the source code available for anyone study, the potential number of people who may review and audit the software is much greater.

For it to make any difference however, potential people are not enough; actual people need to be actually looking at the code. In the case of GNU/Linux, a set of software projects that are the most popular and well known in the world, that is exactly what is happening. We’re not just talking about volunteering developers here; huge corporations depend GNU/Linux and its security for their business. Therefore, they invest in it for their own sake, but the whole community benefits.

Community & User Support

GNU/Linux has a vast community of passionate users and developers. Together they form a hivemind that possesses large volumes of information about the system, down to its most intricate details. More often than not they will be happy to help you if you encounter technical issues.

Since the shell (discussed further in the section “Powerful Tools”) is the same in practically all GNU/Linux distributions, regardless of graphical user interface, support that you receive will most likely come in the form of commands to run in the terminal (the application that presents to you the shell). For this reason it is highly recommended to be at least somewhat familiar with the shell.

See the “Resources” section for a link to a crash course video on the shell.

Powerful Tools

If you just want to click around in a graphical user interface, browse the web, and play games, that is mostly fine. But GNU/Linux has much more than that to offer.

At this point we have established that GNU/Linux offers unparalleled control over your computer. The GNU tools are the manifestation of the power that you have over your GNU/Linux system. The most important of these is Bash, which is a shell that executes any command that you issue. Bash combined with a multitude of command line tools (i.e. “commands”) is very useful for doing things like batch operations on large sets of files, automation, and edit obscure system configurations.

Considering that you can install GNU/Linux on just about any device, on as many devices as you like, you can use these powerful tools to build and rule your very own GNU/Linux empire. In our household, just about all devices run GNU/Linux, which opens up an entire world of interactions, integrations and automations. We have desktops, laptops, Raspberry Pis and virtual private servers, and they can all sync files and communicate with each other, either periodically, in response to certain events or at my command. They can all be used with the same shell, same set of command line utilities and same skillset on my part, dispite being very different from each other.

See the “Resources” section for a link to a crash course video on the shell.

Revive an Old Computer

Do you have an old, super slow computer gathering dust? Do not throw it away. It can still be useful and fully usable if it runs GNU/Linux. There are special lightweight distributions of GNU/Linux for this purpose, and Linux support for old hardware is amazing.

Learn About Operating Systems

Windows and macOS do not offer any way to take a peek inside of them. We do know some things about their architecture, in the same way that we know that a car has an engine, an electrical system and four wheels. But we cannot open the hood, so to speak, of Windows to actually see the engine and study how it works.

For the person who is interested about software, and operating systems specifically, GNU/Linux is the go-to OS to look at. Isn’t it wonderful that this operating system that is widely used in the real world, is available for anyone to use and study? You also do not have to try to figure out everything on your own. Others who have gone before you can explain it to you; there are many books written on the internals of GNU/Linux.

GNU/Linux in Government

Many governments around the world find themselves in a bizarre predicament; their IT systems are built around Windows (on both servers and clients) and MS Office. Why is it bizarre? Because it makes them absolutely dependent upon Microsoft, a U.S. company. By extension, all of their IT systems are at the mercy of the United States. Such a situation is disasterously compromising for an independent nation. It’s all fun and games as long as you are on friendly terms with the U.S., but that can change, can’t it? Windows really is a wide open window through which the U.S. can spy on anyone who uses it, including other governments. They could also hold other governments’ IT systems hostage, because they could force Microsoft to shut them down.

Russia, China and many other governments have because of issues like these moved to GNU/Linux; it offers them independence, security and control. Many of them develop and maintain their own GNU/Linux distributions which they can freely adapt to their needs. Even the U.S. government uses GNU/Linux to a great extent, because not even for them does it make sense to depend on a company, be it from their own country or not.

There is also the issue of electronic government services directed at the public. Should a citizen be forced to use some propritetary program in order to conduct their (possibly mandatory) business with the government? This (and many other topics touched upon in this text) is discussed extensively by GNU founder Richard Stallman at https://www.gnu.org/philosophy/government-free-software.html.

GNU/Linux in Education

When considering the option of teaching with GNU/Linux, schools often conclude with something along the lines of the following:

“Children need to learn to use Windows because that’s what their future employers expect them to know.”

I was taught to use Windows in school. However, that was Windows XP, and knowing the specifics of Windows XP is worthless today. If the objective of computer education is to teach students to use specific proprietary tools, then it misses the whole point altogether. Kids should not be taught to be dependent on any single product in the hope that it will still be relevant 10 years later (it most likely wont be), but they should rather be taught general concepts that enable them to regularly learn to use new programs with ease.

These general concepts can just as well be taught using GNU/Linux. In actuality, they can be taught even better, because GNU/Linux is transparent, both in its operation and its architecture.

Furthermore, schools should use GNU/Linux in order to not depend on a single, for-profit US corporation. Microsoft’s primary interest is to get more money, and thus to uphold the current state of affairs in which everyone uses their products because everyone else does too. Schools are in a unique position to break this cycle which promotes unbalanced dependence.

There are also huge economical savings to be made by adopting GNU/Linux in education, since it has no licensing fees or restrictions on the number of installations whatsoever.

Also, consider the list in the section “Do You Own Your OS?” of things that Windows does against the will of its users. Should a child, or even a university student, be forced to run an operating system that contains backdoors, spyware and adware in order to get a grade or pass a course? What if they simply do not agree to the end user license agreement?

Responses to Arguments for Not Using GNU/Linux

“I need program X but it does not run on GNU/Linux.”

Well, that sucks. I get that there is professional software to which there is no sufficient alternative on GNU/Linux (I’ll be the first to admit that Photoshop is far superior over GIMP purely in terms of its capabilities). I also get that there are circumstances (such as some workplaces) in which you are locked in to a certain ecosystem because of what others around you are using, and there may be cross-platform compatibility issues. I’m afraid that in those cases you are left to wait for things to improve on GNU/Linux, but in most cases they are improving as GNU/Linux’s market share grows.

However, many people do not need such programs, nor do they need to partake in a particular ecosystem. An interesting point was made in episode 2 (33:00 - 36:15) of the Ask Noah podcast: If you are willing to use the hugely popular Chromebook with its Chrome OS (an actively restricted variant of GNU/Linux according to GNU founder Richard Stallman), you should be just as willing to use the real GNU/Linux which can do everything Chrome OS can, and much, much more. It just lacks Google’s branding and stamp of approval.

There often are very capable tools available for GNU/Linux. Here is a non-comprehensive list of them:

Purpose Program
Office LibreOffice, LaTeX
E-mail Thunderbird, KMail
Image manipulation, graphic design GIMP, Inkscape, Krita
Photo workflow, raw development Darktable
Publishing Scribus
3D modeling and rendering Blender
Video editing Kdenlive, OpenShot, Blender
Streaming and screen capture OBS Studio
Audio production Ardour, Audacity
Accounting GnuCash
Genealogy Gramps
Novel writing oStorybook, bibisco
File sync Nextcloud, Dropbox
Note-taking Boostnote, Nextcloud with “Notes” app

“GNU/Linux is difficult to use.”

The statement “GNU/Linux is difficult to use” is currently more false than true, and is continuously becoming more false. You don’t necessarily have know how to use the terminal (even though it’s awesome (see the section “Powerful Tools”), but if you ever get support, it will likely come in the form of commands to run (see the section “Community & User Support”)). You usually don’t have to install drivers yourself, because they are included in Linux. Many modern desktop environments in GNU/Linux are very polished and easy to use, such as Gnome, KDE and MATE. Gnome for instance, now has at least two companies supporting it; Canonical (makers of Ubuntu) and Red Hat (a hugely successful Linux company). If ease of use is important to you, just make sure to pick an easy-to-use GNU/Linux distribution (get help with that at the FindMeADistro subreddit).

One thing GNU/Linux is guarateed to be, is different, and for some, that means “difficult”. But GNU/Linux is no longer inherently any more difficult to use than the alternatives. Some people have observed that accustomed Windows users have more difficulty with GNU/Linux that those who know nothing about computers: Why Windows Power Users Break Linux.

“Installing GNU/Linux is difficult.”

It’s not any more difficult to install GNU/Linux than it is to install any other OS, but OK, Windows and macOS often come pre-installed on new computers. You can buy a computer with GNU/Linux pre-installed from System76 or Dell, or get help from an individual or a company to install it on just about any computer.

“I want to play games.”

Gaming on GNU/Linux is quickly improving with for example Steam and the Vulkan graphics API. Things are looking very bright; GNU/Linux may even be the future of PC gaming.

Alas, I do have a Windows partition from back when I did not know any better. I very rarely need to touch it, but when I do, it’s usually for some game that I desperately want to play right now. GNU/Linux gives gamers the same freedom in software that PC gamers already have in hardware in contrast to console gamers.

Resources