From Computer Science
Jump to navigationJump to search

Guides> linux > why

I recommend you begin your adventure by installing the Arch Linux distribution into a VirtualBox virtual machine. But why?

Why Linux?

There are a variety of reasons one might want to install and use Linux; the following reasons apply both to Linux itself and the software one frequently runs when using Linux.

  • Freedom Linux is free: as in, you needn't pay any fee to use it. (This is
sometimes referred to as "free as in beer".)
  • Freedom Linux is free: as in, you are welcome to inspect and modify its
source code. (This is sometimes referred to as "free as in speech".)
  • Transparency Linux makes it easier to see what's really going on in your
computer. If you want to understand how computers work, Linux is the way to
  • Choice How many web browsers can you name off the top of your head? I'm
guessing four-ish: Firefox, Chrome, Internet Explorer, Safari, and maybe
Opera; those are pretty much your choices on Windows or OS X. On Linux,
however, there are many, many more. (The Arch Linux list of Common Applications
currently lists 38.) One of those gems might be exactly what you want in
ways that the others aren't, and you frequently can't get them to run on
Windows or OS X.
  • Hackability If you can't find a program that does exactly what you want,
it's easier to either modify an existing program to do it (because source
code for Linux programs is typically freely available: see point #1) or to
write it yourself.
  • Bleeding edge Linux makes it easier to stay on the forefront of software
development, meaning you'll get the newest, shiniest stuff first.
  • Support The open-source software community consists of normal people; many
(if not most) do it because they love it, not because somebody pays them to.
As a result, it's often possible to get better help, more quickly, and
outside normal business hours.
  • Necessity Your sadist of a professor requires you to.

Why not Linux?

There are also some reasons not to use Linux:

  • Stability You want your computer to be a black box that just does what
it's supposed to do (except when it doesn't).
  • Necessity You need to run software that isn't available on Linux. (There
are workarounds to this, but they are not universally reliable.)
  • Choice Sometimes you just don't want to dig through 38 different web
browsers to find which one works best for you.
  • Bleeding edge Linux makes it easier to stay on the forefront of software
development, and some of that blood may end up being yours. (Bleeding-edge
software isn't always reliable.)
  • Support The open-source software community consists of normal people: you
often can't pay a company to guarantee you support when you need it.

Alternatives to Linux

There exist other operating systems whose pros and cons are similar to those of Linux (notably the BSDs: FreeBSD, OpenBSD, NetBSD, DragonflyBSD; but also OpenSolaris). The preceding paragraphs apply to them as well, though for your initial foray into discarding the Microsoft/Apple shackles, I do recommend sticking with Linux. Linux remains far more prevalent than the rest, which means there is going to be more support for it, both in terms of available software and assistance.

There are, also, caveats to all the points I've listed above. This is intended as a starting point, not an exhaustive description.

Why Arch Linux?

There are bazillions of Linux distributions one might choose to install---and if you're feeling adventurous, by all means go ahead and check some out ---but if you're interested in understanding Linux, I recommend Arch Linux.

of documentation. Chances are, if you do a web search for help with Linux,
some of the top results will be on the Arch Wiki.
Due to their popularity, fora for distributions like Ubuntu and Fedora have
a poor signal-to-noise ratio; Arch hasn't quite got there yet.
  • Most distributions attempt to give you a full-featured system after the
initial install. Arch does not. You ~~have to~~ get to manually install
software such as graphical environments on your own, which reduces the
likelihood you'll take such things for granted.
  • As part of this philosophy, Arch modifies software as little as possible
from the original authors' releases. As a result, there are fewer barriers
to you seeking understanding of how a particular piece of software works and
also fewer barriers to you contributing to that software. (Many software
authors dislike receiving source code patches made against versions of their
code that have been "tainted" by distributions: they will often require you
to submit a patch relative to the official release, which Arch strongly
prefers, whereas many other prominent distributions do not.)

Why virtualized?

Suggesting that one abandon the computing environment one is used to and moving completely over to Linux is a huge proposition, especially when Arch is specifically recommended because it's a barebones distribution (meaning that you may have to do a non-trivial amount of work to get back to previous level of productivity).

Running Linux in a virtualized environment lets you run Linux within a window on your existing operating system: the two will coexist and you can transfer files between them. You needn't worry about losing your ability to use any given program just because you've installed Linux nor will your Linux installation be somehow crippled because it's installed as a virtual machine. It's the best of both worlds for learning a new operating system.

Why VirtualBox?

I prefer VirtualBox because it's open source.