Saturday, January 5, 2013

Thoughts on Linux v. Windows

It's been almost 3 years since I switched from Windows to GNU/Linux, so it's time for some reflection and evaluation. After 3 years, what do I love about GNU/Linux? Miss about Windows? I'm definitely more committed to GNU/Linux than ever before, but hopefully the rose tinting has faded from my glasses somewhat, enabling me to be somewhat objective. Since Ubuntu is my distribution of choice, much of my comments are Ubuntu-specific, but some are relevant to all or most GNU/Linux distro's.

Application Integration/Installation

Ubuntu features tight integration with free and open-source software (FOSS) applications, which is both a benefit and a drawback.

Pros:

  • Commonly used programs are pre-installed, such as LibreOffice (office suite), RhythmBox (music manager/player), Firefox, and Thunderbird (email client).
  • Often the program you are looking for is just a few mouse-clicks away in the Ubuntu Software Center, available for (usually) free download from Ubuntu's servers. It's really amazing, when you think about it: tends of thousands of applications at your fingertips, absolutely free of charge. 
Cons:
  • Tight application integration means that for certain applications (e.g., LibreOffice), if you want the latest version, you need to upgrade your entire operating system to a newer version. I know there are sometimes workarounds, like PPA's, but they are cumbersome and in my experience, trying to get the latest version installed can cause more problems than it solves. 
  • If the application you are looking for is not in the Ubuntu repositories, it can be a real pain to install. Unlike Windows, there is no standard means of creating an application installation package that just works, because Linux distro's use completely different means of package management. Often, you need to find a package that is specific to your distro or try to build the program from source. The latter solution can be a real pain for the average end-user. 
Application Availability

The Achilles heel of GNU/Linux (or any alternative to Windows) has always been the lack of native applications. The situation here has improved by leaps and bounds and continues to do so. 

Pros: 
  • There is now a wealth of free, open-source applications for Linux. Ironically, Windows users have benefited from the FOSS explosion as well, because many FOSS programs are multi-platform, running on Linux, Windows, and MacOS. 
  • wine, which allows many Windows programs to run under Linux, keeps getting better and better. In significant ways, it's actually a better Windows than Windows. For example, if your Windows installation gets corrupted, fixing it is as simple as restoring a backup of your .wine folder; you can have Windows up and running in about two minutes. There is always virtualbox as well, which creates a virtual machine that can run any OS, including Windows, within GNU/Linux. 
  • Steam is coming to GNU/Linux!
Cons:
  • There are still a few common applications that have no decent Linux equivalent, such as TurboTax and Silverlight (needed for Netflix, although a workaround was recently found). 
  • There have been some disappointing regressions lately. Google abandoned its Linux version of Picasa, and Adobe abandoned Flash for Linux (albeit the Chrome browser will continue to have Flash support built-in).  
  • For niche applications, such as software specific to specific fields and professions (such as attorneys), there are often no Linux alternatives. 
Device Support (Drivers)

Driver support is almost a non-issue for GNU/Linux users now (aside from webcams and other video capture devices). Hardware developers usually release Linux versions of their drivers, and for those that don't, the GNU/Linux community quickly develops them.  

Speed

GNU/Linux is a mixed bag when it comes to speed. 

Pros: 
  • Famously light on resources (hard drive space, RAM, processors speed), bringing life to older hardware.
  • Takes full advantage of modern processor capabilities (multi-core, 64-bit, etc.)
Cons: 
  • Lags in some modern video applications (Flash, HTML5). 
Distro Release Schedule

GNU/Linux distros tend to operate on a much more frequent release schedule than Windows users are accustomed to. A new version of Windows comes to market 3-4 years, but Linux distributions are often released on a six-month cycle. 

Pros: 
  • Instead of having to wait 3-4 years for the newest in software development, users can be on the bleeding edge. 
Cons: 
  • Call me lazy, but my ideal distro update schedule would be about every 10 years. I put a lot of effort into customizing my setup exactly the way I like it, so installing and configuring a new installation is a time-consuming process. 
Alternatives:
  • Arch Linux is a Linux distro that distributes updates on a rolling basis, so that your operating system is always up-to-date, instead of having to upgrade a completely new operating system periodically to have the latest software. Ubuntu has recently been talking about switching to that model. 
Flexibility

The one feature of GNU/Linux that cannot be found in any other OS is its flexibility:

Pros:
  • There are an infinite number of distros to choose from, and each can be customized in infinite ways. 
  • You can swap out your motherboard, CPU, hard drive, and video card, and your GNU/Linux installation will not skip a beat. It will just boot right up and detect the new hardware automatically. Ever try that on a Windows box?! If you're very lucky, you might actually get to a GUI, but if you do, you'll almost certainly get a warning that your license is invalid or some such thing. For someone who loves to build, break, and tweak systems, this aspect of GNU/Linux is something I can no longer live without!  
  • Cloning a GNU/Linux installation can be done with a single command. Again, ever tried to clone a Windows install? 
Geek Factor

The "geek factor" of GNU/Linux simply can't be beat. If you're a geek, you know what I'm talking about. If not, well never mind...

Community

Perhaps the best part of GNU/Linux is the user and developer community. I do some IT support for both Windows and Linux desktops, and while there are a gazillion web sites with free answers for Windows problems, I find that I often find answers for my Ubuntu problems more quickly. You have to sort through a lot of junk to find an answer for a Windows problem, while solutions for Ubuntu problems are usually easy to find.