Tuesday, December 28, 2010

Making the Switch to Linux

(original post 01/17/2010)

This blog/article is meant to inform the general public about open source software, but is more heavily geared specifically toward my experiences and opinions relating to Linux-based desktop operating systems and, more specifically, Linux Mint.

I won't go into too much detail about my history with computers, but I had learned on and exclusively used Microsoft Windows as my computing platform for at least a decade. I learned all of the ins, outs and idiosyncrasies of it in painstaking detail. My opinion of Windows XP when it debuted, was that it was powerful, flexible, and adequately secure. But as the Internet grew up, innumerable problems started to arise. That's what lead me to search for something else, and what lead me to, ultimately, start using Linux.

Many things I took as standard operating procedure, were actually just exclusive to Windows. Like forced restarts, for example. I remember one time I was working on some things and the system decided to restart itself in the middle of my work. I couldn't save all the documents in time before it shutdown. Every time, it seems, I update the operating system, it constantly nags me to restart. Install a new application? Restart. Uninstall an application? Restart. File system error? Restart. Persistent dialog box won't go away? Re... well, you get the idea. And sometimes I will reboot after a Microsoft update, only to have the system tell me it needs another update. Then when I install it, it tells me I need to reboot again!

Speaking of booting, why is it that with every passing week of regular use, Windows takes longer and longer to boot. The constant rebooting wouldn't be so bad if it booted in 45 sec. like it did out of the factory. But it does get worse. In my experience after about six months I find it takes at least three to five times as long to boot. I can't blame this entirely on Microsoft, but the problem seems to only occur on their operating system so what else can I say.

It's not just the boot performance that suffers over time, but other aspects as well. Many programs load a small script at each startup and run in the background taking up precious disk space, RAM, and computing power. Not to mention they can also be a back door for an exploitative malware program.

I'm somewhat of a go-to guy for everyone and their dog's computer-related problems (and other problems for that matter!). Many times people will come to me with a "broken" machine. But it usually turns out that they were not maintained at all. By this I mean registry clean up, hard drive defragmentation, virus/malware scans, and, especially, startup scripts/applications. These computers had simply used up all of their RAM and were resorting to "virtual" RAM at a terrible performance penalty, rendering their computers unusable.

To counter this "Windows degradation" I decided to just wipe my hard drive clean and reinstall Windows every 6 months or so. This was not only to maintain peak performance, but to eradicate trojan and rootkit malware as well.

Microsoft should, in my opinion, have made Windows secure in the first place. But they failed MISERABLY at securing the desktop and, until recently, relied upon third party vendors to plug in the holes. So what you have, ultimately, is a company with closed-source binary code that has a plethora of both known and constantly emerging security flaws telling you that you can rely on them to patch the code for you sometime in the future. It's like having someone with a known high level of incompetence promising they know how to pack your parachute.

There are well over a million viruses circulating that target the Windows platform. We live in an age where online transactions are a major part of normal business operations. Security is a big deal. I personally took every precaution (or so i thought) and still picked up viruses (virii?) on my Windows machines. This is what lead me to search for a more secure operating system. Here are a couple of articles that may be relevant:

I was excited when the tech world was abuzz with Windows Vista before it's release. I was happy that Microsoft had finally gotten their act together and was working to put out a world class operating system for the masses. Or so I thought. When it finally came out, I gave it a whirl myself. I was underwhelmed, to say the least. I was actually accepting of their User Access Control scheme, which most people considered annoying and tiresome. But the hardware requirements for Vista are appalling! They not only force you to upgrade all their software packages (by pulling support for the older ones)... they force you to upgrade your hardware too! All of this just to try and get the same performance you used to get before. Windows uses their monopoly to push their latest operating system, requiring new hardware whether the consumer wants it or not. And the computer manufacturers encourage this behavior so they can keep selling more machines. Which loops right back to Microsoft maintaining it's monopoly stronghold. It is a vicious cycle of greed that seems to be a perpetual motion machine so far.

When I bought a laptop that had Vista on it, I read the End User License Agreement (EULA) before accepting it. It had some pretty disagreeable stuff in there. Especially for people like me who re-install Windows on a regular basis due to their shoddy product degrading itself over time.

Vista also has an increased level of Digital Rights Management, another tech industry idea that I am vehemently opposed against. Here is a snippet from a Wikipedia entry on the subject:

Windows Vista supports additional forms of digital rights management restrictions. One aspect of this is the Protected Video Path, which is designed so that "premium content" from HD DVD or Blu-ray Discs may mandate that the connections between PC components be encrypted. Depending on what the content demands, the devices may not pass premium content over non-encrypted outputs, or they must artificially degrade the quality of the signal on such outputs or not display it at all. Drivers for such hardware must be approved by Microsoft; a revocation mechanism is also included which allows Microsoft to disable drivers of devices in end-user PCs over the Internet.[107] Peter Gutmann, security researcher and author of the open source cryptlib library, claims that these mechanisms violate fundamental rights of the user (such as fair use), unnecessarily increase the cost of hardware, and make systems less reliable (the "tilt bit" being a particular worry; if triggered, the entire graphic subsystem performs a reset) and vulnerable to denial-of-service attacks.[108] However despite several requests[109] for evidence supporting such claims Peter Gutman has never supported his claims with any researched evidence.

While I could keep ranting about how draconian Windows is, it's time for me to switch gears and talk about my most used operating system: Linux.

I found Linux out of a quest for a more secure operating system. System security was (and still is) my number one priority. I do trading, banking, purchasing and so forth over the Internet. I also keep records and personal information in "the cloud", so security is of paramount importance to me. I have seen other people's lives turned upside down because of various attacks that criminals use in cyberspace. I try to stay informed about security issues on the Internet. 

What I found was that, basically, Linux is more secure because of three primary things:
  1. A clear division between users and administrators (whereas Windows is built with the assumption that the user will be the administrator). If you don't have the correct permission, then you cannot, for example, access a particular piece of hardware. Additionally, privacy can be ensured because the files on the PC are owned by individual users, who can permit or deny others access to those files;
  2. It lacks hooks in kernelspace that Microsoft built in to give its additional products a performance edge over those of competitors (which make Windows as a whole vulnerable to a user's actions, even if the user doesn't have administrative privileges), and finally;
  3. Because of code transparency. Because code is published rather than hidden, it is publicly scrutinized and patched BEFORE it is released into production. 
Some people might also add security through obscurity, since only about 1% of the computing population uses Linux as a desktop consumer operating system. Linux is more secure, but make no mistake, this is hardly because of obscurity. The majority of publicly accessible webservers in use today are running Linux. Those are targets with public IP addresses and an always-on connection -- prime targets for worms -- yet they are the least commonly infected, with percentages well below those of Microsoft's security-optimized servers. Wikipedia says this:

The Linux operating system, Unix and other Unix-like computer operating systems are generally regarded as well-protected, though not immune, from computer viruses, compared to Microsoft Windows. There has not yet been a single widespread Linux malware threat of the type that Microsoft Windows software constantly faces; this is commonly attributed to the malware's lack of root access and fast updates to most Linux vulnerabilities. (src)

There are entire books written on Linux security, so I won't go into any further detail. But anyone who does the most rudimentary research will find the Linux is far more secure than Windows. Here are a couple of commentaries worth reading on the subject:

So after picking a distribution, I installed Linux for the first time. I initially found it to be a headache getting some of the hardware to work properly, but after a short amount of googling everything came together nicely. I switched distributions to a version of Linux called Linux Mint. It turned out to be a pleasant surprise. Everything worked more or less perfectly out of the box. As a side effect, I found other various attributes and virtues of Linux. Here is the list off the top of my head:
  • Speed.
There was a noticeable performance increase of the system. Boot times were quite expeditious. I had a hunch that it was not as much of a resource hog either. I checked the System Monitor (Linux's version of Task Manager) and sure enough, it was using far less RAM idling at 188 MB vs. Vista's 700+ MB.  In my tests, it has had faster file transfer times than Vista. Linux supports USB 3.0 already, something Vista and 7 can't claim yet (please correct me if I'm wrong on that).
  • Stability. Reliability. 
In my experience Linux simply does not crash. Period. I have been using Linux for more than two years now and can't remember a single time when an application took down the entire operating system. That used to happen to me at least once a week in Windows. No frozen mouse cursors. No error dialog boxes that cannot be resolved without a reboot. It was refreshing to find that a system can work so well in this manner.
  • Applications. 
The version of Linux that I use, Linux Mint, comes standard with a graphics editing program (that has been put on par with Adobe's Photoshop by some people), a softphone VoIP client, IRC chat client, dictionary, PDF viewer, OpenOffice.org -- a full office suite (fully compatible with Microsoft Office 2007 and earlier) that supports 110 languages -- and a fully capable media player. As a side note, OpenOffice.org has been found to be able to open files of older versions of Microsoft Office and damaged files that newer versions of Microsoft Office itself cannot open. Thousands of additional applications are available for the cost of $0.00 USD. A perfect fit for a cheapskate like me. Almost every piece of software I use in Linux is open source. What this means is that it is not only free of charge, but that it is arguably more secure. It also has a nice philosophical undertone akin to free speech. The source code is available for anyone to view and improve upon, a condition that open source advocates view as necessary and vital for technological and societal advancement. Linux is a platform dedicated, almost exclusively it seems, to open source software. There is a great 8 page chapter by Kier Thomas on the history and philosophy of open source software that I highly recommend reading . I found it very interesting. It can be found here:
  • Inherent Malware Protection.
I have mentioned the security aspect already, but did I tell you that you no longer have to do anti-virus, anti-spyware, anti-trojan, and anti-rootkit scans? That's right. There are very few, if any, active viruses in the wild that are infecting Linux boxes. They do crop up every now and again but in most cases they only affect those administrators who changed the permissions from the default settings and/or rely on someone having physical access to the computer to plant the malware. In addition, security holes are patched promptly and updates are issued immediately, not the second Tuesday of each month or whatever Microsoft does. No operating system is completely invincible, but all in all, it's a very efficient system. Unfortunately, I still use Windows from time to time so I'm still tied to scanning the computer for 2 hours (seriously) after surfing the Internet.
  • Updates. 
The updating system in Linux Mint (a specific version of Linux) is far, far superior to anything I have ever witnessed prior. It allows you to prioritize updates according to what level they have been tested. It issues critical updates immediately. And best of all, it updates not only the operating system, but all of the installed software on the computer as well! Eat that Microsoft and Apple. Okay, I'll settle down before I start to sound like a fanboy. Here is a quote I pulled from Michael Horowitz, a syndicated "defensive computing" CNET blogger/analyst:

Linux is better at self updating than either Windows or OS X. This is critically important because many malware infections result from exploiting bugs in installed software. Apple and Microsoft update their own software, period. Microsoft's Windows Update is fine, but it doesn't go far enough. Keeping all the software up to date on a Windows computer is nearly impossible. It's the Wild West, with each software vendor using a different approach to maintaining their software. Applying bug fixes across the board challenges techies and is impossible for non-techies. I'd go so far as to say that keeping software updated is the biggest problem Windows users have, even though many don't know it.

Yes, Macs are immune to most of the malware, but there's still the issue of applying patches to all the installed software. In a commerical software environment, we'll never see bug fixes from a single source. Things are drastically different in Linux land. Each distribution has a software cocoon called a repository. Software in the repository comes from hundreds of different sources and is tested to be compatible with the Linux distribution in question. Each update package is tested to make sure that it will integrate smoothly and not break the system before being released into the wild. I'd be curious to know how many people have experienced a Windows update completely breaking the OS, because I've had to reformat and reinstall on a hard drive at least 3 times due solely to Windows updates breaking things.

Windows, in contrast, is an absolute security disaster for non-techies. We start with inconsistent and too-often manual procedures for installing bug fixes from dozens of different vendors. Then we add the huge amount of malware that targets Windows and top it all off with the hassle of maintaining at least one, if not multiple anti-malware programs.
  • Hardware Requirements.
Do an experiment. Take your oldest laptop or desktop computer -- you know, the one in the basement with a caked-on layer of dust covering it -- and try putting on the latest Microsoft operating system on it and see what happens. Uh oh! That's not gonna work even using witchcraft and sorcery. Now try putting on the latest version of a mainstream Linux distribution on it and Presto! You've got a system that likely works just as good, maybe even better than it ever has before. Older peripherals generally have better support under Linux as well. All those peripherals that would be in the landfill long ago can have a breath of new life put back into them. Linux generally gets new hardware drivers after Windows, but even that landscape is changing with more and more manufacturers opening up their specs and source code for hardware and drivers. Many manufacturers are writing the source code for Linux drivers themselves now and releasing it concurrently alongside the Windows drivers.
  • Support.
I have never had to call in to tech support for Linux. Every question I've ever had has been answered by googling the Internet, the Linux community (forums), and sometimes the actual authors of the software itself. There are also paid support systems in place for those who need someone on the other line when questions need answered. Also it works the other way too. I would rather support someone that was using Linux Mint than any other operating system.
  • System Maintenance.
How does this sound: an operating system that doesn't need to be defragged. Ever. How about never having to do registry cleanup utilities? How about not having to constantly monitor and modify startup application policies? Firewall policies are a cinch with either Gufw or Firestarter, both of which are free programs. It literally takes one minute to set up the firewall and doesn't constantly nag you. Also, as previously mentioned, no anti-whatever scans.
  • Being Different.
Okay, so I can't really count this as an objective benefit.
  • Cost.
It's free. 'Nuff said. Seriously though, I have come to enjoy Linux so much over the last two years that I now give back to the community both financially and through beta testing and bug reporting. Personally, I donate $5 to linuxmint.com for every version of Linux Mint I install on each computer. I also donate to The Linux Foundation whenever I can for upstream development and improvement. So although I may be paying for my software just like in a Microsoft ecosystem, there is still a major difference. The difference is that I choose to donate. If money gets tight I can choose to halt my donations and still get the same free software updates.
  • Participation.
What I love about Linux Mint is the democratic philosophy it's based on. For example, the lead developer decided that it was best for the community to decide which wallpaper the operating system should come with. He held a vote on the website and directly used feedback from the users to make his decisions for him. If I want a new feature added to Linux Mint, all I have to do is email the lead developer my suggestion and he will consider that feature for integration in a future release. It is truly unparalleled when you compare it to Microsoft and Apple.
  • Flexibility.
How about a pocket watch that runs on Linux? Sound absurd? Linux can and does run on everything from plug computers to mainframes. Who uses Linux? Short answer: governments, schools, Fortune 500 companies, individual users, stock market back-end trade executing mainframes, email systems, Internet servers... In fact, the majority of computers that make the Internet work run Linux (with Al Gore's help, of course :-). Linux has been a very strong player in the area of virtualization and the optimization of hardware. Linux is also completely scalable. The creator of Linux, Linus Torvalds, said that flexibility is Linux's biggest strength. Also, the operating system is more customizable than any version of Windows that I have played with. In my opinion, open source is always conducive to flexibility. This is what Torvalds had to say about it:
I think the real strength of Linux is not in any particular area, but in the flexibility. For example, you mention virtualization, and in some ways that's a really excellent example, because it's not only an example of something where Linux is a fairly strong player, but more tellingly, it's an example where there are actually many different approaches, and there is no one-size-fits-all "One True Virtualization" model....

...I mention that as a strong point of open source! Why? Because it actually is a great example of what open source results in: one person's (or company's) particular interests don't end up being dominant. The fact that I personally think that virtualization isn't all that exciting means next to nothing.

This is actually the biggest strength of Linux. When you buy an OS from Microsoft, not only you can't fix it, but it has had years of being skewed by one single entity's sense of the market. It doesn't matter how competent Microsoft -- or any individual company--is, it's going to reflect that fact. In contrast, look at where Linux is used. Everything from cell phones and other small embedded computers that people wouldn't even think of as computers, to the bulk of the biggest machines on the supercomputer Top-500 list. That is flexibility. And it stems directly from the fact that anybody who is interested can participate in the development, and no single entity ends up being in control of where it all goes.

And what does that then lead to? Linux ends up being very good at a lot of different things, and rather well-rounded in general.
  • Vendor Lock-in. (actually, a lack thereof)
Vendor lock-in, also known as proprietary lock-in, or customer lock-in, makes a customer dependent on a vendor for products and services, unable to use another vendor without substantial switching costs. Lock-in costs which create barriers to market entry may result in antitrust action against a monopoly. Companies like Microsoft and Apple have been practicing vendor lock-in since their inception. Open source software prevents a vendor lock-in occurrence from happening by its very definition. Read what Wikipedia has to say about vendor lock-in here:
  • Diversity.
It is common knowledge that genetic diversity in a population of living creatures is desirable because it reduces the likelihood that an illness -- such as a virus -- will completely wipe out every animal or plant. Many people, however, don't realize that a computer virus works just like it does in a biological setting. Operating system diversity is important for the same reason. So my concern is that Microsoft's monopoly isn't just illegal, it's a major security concern. For example, experts estimate that the Mydoom worm infected approximately a quarter-million computers in a single day in January 2004. Back in March 1999, the Melissa virus was so powerful that it forced Microsoft and a number of other very large companies to completely turn off their e-mail systems until the virus could be contained. The ILOVEYOU virus in 2000 had a similarly devastating effect. In January 2007, a worm called Storm appeared -- by October, experts believed up to 50 million computers were infected. Each one of these cost companies billions of dollars in lost productivity. Read this:
  • Longevity.
When file formats have open standards, they tend to stick around longer than proprietary formats. Take the ODF format, for example. One objective of open formats like OpenDocument is to guarantee long-term access to data without legal or technical barriers, and some governments have come to view open formats as a public policy issue. Several governments around the world have introduced policies of partial or complete adoption. What this means varies from case to case; in some cases, it means that the ODF standard has a national standard identifier; in some cases, it means that the ODF standard is permitted to be used where national regulation says that non-proprietary formats must be used, and in still other cases, it means that some government body has actually decided that ODF will be used in some specific context. Open standards apply to operating systems like Linux as well. As long as there is programmer interest in a platform, no one person or company can "pull the plug" on it. While it is common opinion that Microsoft will be around for a while, it was also common opinion in early 1912 that the Titanic was unsinkable.


Every operating system has it's headaches from time to time. And Linux is no different. But I find the Linux Mint experience to be more enjoyable overall than any other, with the added benefit of a bullet-proof security model to boot. If you consider yourself technically savvy, you owe it to yourself to be open minded and give it a try. It won't cost you anything other than your time. If you are not a techno-wiz, and you find the idea of formatting hard drives and installing operating systems too daunting for your taste, you can have an expert install it for you for free! That's right. Just search for a Linux User Group (LUG) or event near you. People there would be happy to help you out to your heart's content. All you have to do is show an interest in Linux and if you've read this far, I'd say you qualify!

No comments:

Post a Comment