So you’re thinking about going open-source. You’ll need an operating system.

There are a lot of free operating systems out there, many of which are, to some extent, open-source. A large number are based to some extent on Unix, in large part because a huge amount of Unix software has been freely available since the 1970s. This meant that all that was necessary to run that software was an operating system that conformed to (what has become) the POSIX specification. Hundreds of these operating systems are freely available for download and installation, with Linux (it would be more technically correct to say “GNU/Linux,” and some snobs insist on that) being an umbrella term for many of them. Some of the more user-friendly Linux distributions (“distros”) are an excellent way to dip your toes into the world of the open-source OS.

It used to be the case that Linux was only for power users and computer geeks, but the operating system family is now more then twenty years old, and a lot of progress has been made in making adoption easier. You may have heard horror stories about hardware compatibility, difficulty configuring software, needing to compile programs yourself, etc. etc. etc. Though Linux embeds different assumptions into your computing experience than Windows or Mac OS does, and there’s definitely a learning curve, it doesn’t need to be a steep one. It’s possible to run Linux alongside your existing operating system on virtually any hardware, for instance, so that you can always fall back on Windows or Mac OS if you need to; one of the easiest ways to set this up is to have your computer choose which operating system you want to run each time it boots. The more user-friendly Linux distributions can set this up automatically for you when you install them. (There are also ways to run some Linux distributions inside of Windows, and to “virtualize” them from virtually any other operating system that you might reasonably be using, but this can be harder to set up if you don’t have experience with Linux already.)

I think that there are a number of upsides to using Linux, and I’ve talked about them in this Reddit post. There are a number of downsides, too, and I’ve talked about those, as well. Here’s a quick summary, though:


  • It’s free. You can download it and install it and you don’t need a license key. If you want to give to to a friend, that’s perfectly legal. If you want to install it on twenty computers, you can do that. If you want to use it in an office where you’ll be making money using it, you don’t need to get an “Enterprise Edition,” because it’s still free.
  • If you’re a coder, you can get the source code and customize it to your heart’s content. If you’re not a coder, the fact that real coders are looking at what you’re using provides a modicum of security that no one’s using it to spy on you, especially for software that a lot of people are using.
  • It’s more or less infinitely customizable. Because you can modify it to your heart’s content, well, there are lots of modified versions, and you can pick one that’s already been made based on what you need out of it. Old hardware? There are versions for that. Blinding-fast new laptop? You can get something that has lots of special effects. Want to set up an old computer that you have lying around as a file server or a print server or a web server or a media player? There are versions for that, too. Want a version that works a lot like Windows XP or Windows 8 or Mac OS X to ease your learning curve as you transition? That’s available. Want a version that’s primarily for gaming or CAD or scientific data-crunching? Yep, those are out there. If none of them are exactly what you need, you can modify something that’s close and, if you want, re-release it under a new name.
  • Though there is commercial Linux software, virtually everything you want to do can be done for free. If you’ve got hardware and an Internet connection, almost everything you want to do with it can be done without spending any more money. This means you can experiment with different software packages that fulfill the same basic function without needing to worry that you’ve wasted money: if you install something and don’t like it, you can easily uninstall it and install another package that fulfills similar functions in different ways. You haven’t lost anything aside from a few minutes’ time, because you’re almost certainly not paying for either package. This means you’re not locked into something just because you’ve paid for it.
  • Linux software is incredibly powerful and flexible. If you have experience with the Windows command line, you can adapt to the Linux terminal emulator fairly quickly, and chain pieces of software together to accomplish complex tasks quickly and with a great deal of granular control and specificity. If you know the Mac OS terminal, you essentially already know the Linux terminal, because Mac OS is in many ways based on Unix, just as Linux is.

Some downsides:

  • The operating system makes a number of assumptions that are different from the assumptions that Windows or Mac OS makes, and you have to spend some time (a few hours, say) adjusting. This is actually not all that hard, and (in fact) the less you “know about computers,” the easier it is.
  • More to the point, you’ll need to learn a bunch of new programs. This is the real deterrent for a lot of people, I think. It’s not that they can’t learn a new operating system … it’s that they need to learn LibreOffice when they’re already used to using MS Word, and the GIMP instead of Photoshop, Amarok instead of iTunes, and … well, you get the idea. None of these pieces of software are hard to learn, I think, just as many other Linux software packages aren’t hard to learn … but if you’re the kind of person who can only learn to use software by memorizing a list of steps that you need to take in order to accomplish a particular task, and are totally lost when Microsoft moves a button to a different part of the screen, then learning a lot of new applications in a short period of time might be daunting. As for me, I tend to prefer the Linux ways of doing things over the equivalent Windows or Mac OS ways (e.g., LibreOffice has an interface a lot more like old versions of Microsoft Office than its recent versions, with a standard menu bar instead of a bunch of contextual buttons. But this works for me: I want the functionality exposed all the time, and I hate that damned ribbon in MS Office because I want to be able to see all my options at once in the menu, not have to guess what context I need to activate in order to show a particular button.
  • If you’re locked into a particular software ecosystem and can’t leave, then the lack of Linux clients for that ecosystem might imply that there’s a time-prohibitive barrier for getting your data out of that ecosystem. Apple is particularly bad with this problem, I think, but other companies do similar things to a greater or lesser extend. A lot of software and cloud-based ecosystems are accessible from Linux more or less easily, but some aren’t. There’s a Dropbox client, for instance, but no easy way to get at the iCloud ecosystem other than downloading your files one by one. For me, the fact that Apple charge substantially more than comparable software and hardware companies only to lock you in in this way is a reason to avoid Apple, and would be a reason to break out of their ecosystem if I were trapped in it, but this can be a prohibitive task. Similarly, if you have to use a particular software package for, say, professional reasons, than the lack of support for that software package under Linux might be a reason to stay with your existing operating system.

There are hundreds of Linux distros, and picking one can be a daunting task. There’s a list on Wikipedia that provides some comparative information, as well as a family tree of distributions that might be interesting or helpful for some people. DistroWatch provides some more in-depth information, too. This flowchart, which is quite humorous in some places, can point you in the right direction if you have questions, too.

But if you’re thinking, “Just tell me where to start,” my recommendation is installing one of the available flavors of Linux Mint: MATE if you want something that looks a lot like Windows XP; Cinnamon if you want something that works more like newer versions of Windows; or XFCE if you have older hardware that you want to squeeze as much performance as possible out of (it also winds up looking a lot like Windows XP). Linux Mint has a few advantages over the competitors, in my opinion:

  • It’s the world’s fourth-largest operating system, so there’s a large support community. It’s also based on another Linux distribution, Ubuntu, which is the world’s third-largest operating system, so there’s an even bigger community to fall back on if necessary. There’s an active support community available through the Linux Mint website, and Reddit has several active channels that are relevant, including /r/linuxmint, /r/linux4noobs, and /r/linuxquestions. (Of course, a Google search can be helpful, and academics already know how to do that; and there are plenty of other unofficial ways to get support, though I’m a Redditor myself and admittedly biased toward that way of finding answers.)
  • Unlike Ubuntu, which has a rather extreme (in my opinion, of course) stance on free and open-source software and in which a lot of things that people expect to work out of the box (MP3 and DVD playback, Flash video in web browsers, etc.) need to be specially configured, playback of closed-source software on Mint works out of the box. I’m in favor of open-source software whenever possible; but I want to be able to play my expansive MP3 and DVD collections, too. This is easier on Mint than it is on Ubuntu.
  • The interface is a lot like Windows, which makes the learning curve less steep.
  • The installer does a good job of walking you through issues that are more complex on other Linux distros by making sensible choices for you in most situations.

I myself currently use CrunchBang Linux, which (like Mint and Ubuntu) is based on Debian Linux, one of the oldest and most venerable distributions … but I think that Mint is a great place to start learning, and recommend it highly for Linux newbies.

There are of course many other free and/or open-source operating systems available, including the *BSD family and Haiku, but truthfully, I think Linux, and Linux Mint in particular, are great places to get started.

What do you think? What are your experiences with free and open-source operating systems? What’s holding you back? Let me know in the comments!