With the loss of updates for Windows XP and Microsoft’s floundering on Windows 8/10, many have started to consider alternatives. The MacOS is of course an option, but I believe Linux to be an even better one. Not only is Linux a good alternative to Windows, but for makers, hackers, tinkerers and homeschoolers especially, Linux is really the only operating system (OS) worth considering.
Without a doubt, Linux is the ultimate low-cost operating system. It is absolutely free. How many times have you had a computer where the OS needs to be reinstalled? With Windows systems so vulnerable to malware infections, it is a regular occurrence. When you do need to reinstall, do you still have the original disks? Can they still be read?
What about upgrades? If you get a new computer (without an OS), and you want to install your latest version, do you have the full version, or just an upgrade version? If it is just an upgrade version, do you have the original version disks? If not, Microsoft’s DRM will not allow the installation.
Have you ever thought about building your own computer, but are stymied by the prospect of having to shell out big bucks for a full Windows OS?
These are all problems I have faced in the past. Since switching to Linux several years ago, I have been free from all of these problems.
Unlike Windows, Linux was designed for security. Infections on a home computer are almost impossible, due to the fact you must explicitly grant permissions for any change to the operating system by providing your password. There can be no stealth infections without you granting this permission.
Not only is Linux significantly more secure than Windows, but if you ever find the need to reinstall the OS, you don’t need to wipe your hard drive, lose data or even application settings. The OS can be installed into its own partition, and all of your personal data and settings are in your home partition. A reinstall will have no effect on your home partition.
Linux is incredibly versatile. It can be installed on almost any hardware – all the way from legacy PCs, to servers, to tiny micro-power single board computers. It is not even limited to the 386-Intel instruction set. An increasingly popular alternative, ARM-based computers run Linux equally well. Your cell phone is probably just as fast as your desktop, but because it is ARM-based, it is a fraction of the size and draws a tiny bit of power. More on ARM-based computers later.
The Linux OS is the ultimate OS for customizing. You can tailor it to your heart’s content. You can choose from a myriad of distros (flavors of Linux) and also from several different types of desktops (various windowing systems). Some desktops can be tweaked to look just like Windows, some are very lightweight to run on limited systems, and some are far more advanced than anything else out there.
If we really think about the last decade, Microsoft has done virtually nothing with their OS except add some eye-candy, and totally botch trying to produce a one-OS-fits-all-devices while Linux has been steadily advancing. It continues to advance to this day – all thanks to the power of open source. One flavor of Linux, Ubuntu, even promises to produce a one-OS-fits-all-devices that is actually done correctly. It is called Ubuntu Touch and is coming soon.
Open source is where the future lies. Microsoft continues to fall ever farther behind because they lack the manpower and vision that comes from thousands of the best and brightest around the world advancing open source projects like Linux. Many tech savvy companies have joined the open source parade, actually paying their employees to contribute to open source projects or even sponsoring open source development companies.
The power of open source is truly amazing. If you are a maker or hardware tinkerer, you are probably familiar with the new open source hardware movement. They got their inspiration from open source software.
Not only do many open source software projects benefit from the contribution of many hands, but if you find something not to your liking, you can even contribute yourself. Even if you don’t do any coding, you can still submit bug reports. I have done so, and unlike submitting bugs to mega-corporations to be ignore, you will probably hear from the developer for that particular area of the software.
While I haven’t yet contributed to any part of Linux, I have contributed to several small programs which were easier to understand and lacked certain features that I needed. I knew that if they were to get that feature I would need to do it myself. It is not as hard as you think, since the code is already written, it is not terribly hard to just make a few minor changes. I have been able to add significant functionality to programs written in languages I didn’t even know, just by examining what was already written.
I mentioned small, low-power single board computers earlier. These things are sprouting up like mushrooms after several days of rain. Many have heard of the Raspberry Pi. This computer is an ARM-based system, which is the same type of chip your cell phone uses. Because of the large Intel x86 legacy, the only modern OS it can run is Linux. Since it is ultra-low cost, it can be used in embedded systems like robots and monitors, yet is still capable of being a modest desktop or laptop.The Rasberry Pi is not the only example. Many similar single board Linux computers have appeared recently, going by names as Banana Pi, ODroid, etc. The newer versions of these computers are quite powerful. I have recently been playing with an Odroid U3 and latest Raspberry Pi 2. They are both ARM-based, have an Ethernet and USB port, and boast a quad-core processor with 2GB and 1GB of RAM (respectively). Add a cheap SD card with Linux and you have a desktop system that rivals the one on your desktop in speed, and yet has no fan, fits in the palm of your hand and runs on a mere 3 to 5 watts of power. You can even power it with a few AA cells or a small solar panel! Since they are so inexpensive, they can be left in place for virtually any task. You can also easily gang several together to make a monster server or desktop system. The one thing you can’t do is run Windows, but I don’t see that as a problem at all.*
You may be asking where you get support if no company is in charge? Contrary to appearances, you can actually get far superior support on Linux than you can on Microsoft products. As most folks know, support for both Windows and their applications requires either annual support contracts or large per incident charges. Neither are very cheap. Even if you spring for paid support, you are likely to get a poorly trained support person for whom English is not their first language.
With Linux, while you can’t get free phone support, you can get free forum support and most problems can be solved instantly via a web search. Amazingly, when you search for problems with Windows, the search results are either irrelevant or pathetic. With Linux, there are dozens of sources for answers, including full blown tutorials for almost every problem. Just like the wonders of open source, the wonders of community supported information is even more incredible.
For homeschoolers, any OS except Linux should not even be considered. Why? Why do you homeschool? To raise cogs in the great industrial machine? No, you homeschool because you want your children to think. That is why the Raspberry Pi was created – so children would not think of their computer as a game console or texting machine, but discover how computers actually work.
Windows actually hinders the process of learning about computers. It hides the real workings behind its closed system. With Linux everything is out in the open. You can view the source for anything, you can get help online and read from thousands of tutorials.
Also, homeschool families are often cash-strapped. With Linux, everything is usually free. The OS is free, the applications are almost always free. Old computers can be hard for free, or new single board computers can be bought for as little as $25. You just can’t beat it – essentially free and the source of a lifetime of discovery and learning.
Linux should be the de-facto OS for all other educational institutions as well – from primary school to college for the same reasons. In England the Raspberry Pi, running Linux is making inroads into those very schools. It will eventually happen in the US as well. As for other countries, they are all climbing aboard the Linux bandwagon. What’s not to like?
Makers & Hackers
Need I say anything more in order to convince you that Linux is the OS to use? You can hardly hack Windows, but Linux can be broken down, dissected, reassembled, enhanced, extended, and hacked to your hearts content. Everything is open source, so everything you need is at your fingertips. Help is just a quick web search away, and you are free to build upon another’s work.The development tools are far more comprehensive as well. With Windows, you are pretty much stuck with expensive, proprietary tools. With Linux, there are more free, open-source options than you can use in a lifetime. The list includes: editors, integrated development environments (IDEs), compilers, source control software, project & bug tracking software, metrics and more. Sure, some of these tools may be available under Windows as well, but Windows gets the scraps. Linux is the mother-lode.
I have also addressed some of the myriad of hardware issues as well. With Windows, you are limited to large, power hungry, overheated computers that must run the Intel instruction set. With Linux, it can be compiled to run on virtually any hardware, including most of its applications. The hardware options are virtually limitless.
Why would anyone love to hack hardware and make their own custom things, but be content to live within the limiting constraints of an obsolete closed system like Windows?
I am amazed at how many web developers still use Windows. That’s like using English wrenches to work on a German car. Except for backward corporate sites, almost all web sites run on Linux servers, for many of the same reasons given above.
Web site and web application development is much simpler using Linux. Everything makes more sense. The tools are much easier to use. Linux is the future and Windows is the past. For web development, Linux is the only way to go.
I can hear the naysayers screaming at this point – “what about applications”? Applications are a very big deal, and ten years ago, alternatives to Windows just weren’t very viable. Fortunately, such limitations are no longer the case today. Linux has many alternatives to Windows apps that are not only capable, but often superior.Not only that, but the future for desktop applications is pretty bleak. The cloud is the future, and is already here. Along with open source, many applications today are either cloud/web based or are multi-platform and run on multiple OSes.
Another big plus of Linux applications (besides being free for the most part), is their availability in the various repos. Linux repos are kind of like app stores. Long before Apple made ‘app store’ a household name, Linux offered the same functionality in their repos.
When you need a new application for your Linux computer, you don’t need buy disks, or download a zip file and install it. Most of the time, you just go to the repo (think app store), and select it. It will download and install automatically. You don’t even have to go through the silly installer choices. It will just be there and you won’t have to reboot either. Not to mention, most of the time everything is free.
What about games? While I am not a gamer, there are many excellent games on Linux. Not only that, but Steam is abandoning Windows for Linux. They are even offering their own Linux distro called SteamOS. While Linux is still behind the Windows platform for games, it won’t stay that way much longer. Linux is the future home for games. Just wait, you’ll see.
The Command Line
Another common objection is “I hate to use the command line” and doesn’t Linux require the command line? I used to feel the same way, and I must admit, that I learned to love the command line.
Linux is very much like the Amiga OS of yesteryear. It had a beautiful graphical interface back when the most common option was MS-DOS. Yet, the Amiga was a powerful system. In addition to the graphical interface, it also offered a command line. There are so many tasks and customizations that are easier and simpler to perform using the command line.
Using the command line, is nothing like using a DOS program. With those programs, they were kind of like graphical programs today, but you had to remember all these commands in order to make them work. The Linux command line is different. You can happily work all day long, every day in Linux and never touch the command line. However, when you need to do a difficult configuration, the command line is always standing by, ready to obey your every command.
At first, you find these commands from simple Google searches. You then gradually begin to remember the more commonly used ones. Still sounds hard? Let me contrast the alternative using Windows. To set up some network configuration or something similarly difficult, you have to guess and wade through several configuration programs in what is often a vain attempt to accomplish the simple task you need to get done. You then search the internet for hours, again in vain, hoping to find the magical window or button hidden in some bizarre location that does what you need. Even that may not be enough. If you find it, you may have to enter some code into a field that only experts who go to Microsoft technical training know what it is.
Contrast the same task with Linux. You simply search the internet for what you need to do. You will instantly find several tutorials on the exact steps to take – what commands to enter, and what configuration files to edit. In just a few minutes (maybe a bit longer at first), your problem will most likely be solved and you can go back to your merry GUI, feeling a little bit smarter and empowered.
Yes, empowered. In fact, I dare say that using Linux is empowering. Using Windows is deflating. Brutally put, but true.
What about the Macintosh? Well, today’s Mac actually runs a version of Unix that is very similar to Linux. There are many similarities between the two systems. However, the Mac also has its dark side. It is a closed system, controlled by one very controlling company. You can’t modify it, extend it or install it on all the wonderful new single board computers coming on the market. In short, it is more like Windows than Linux. In fact, it is far more closed than Windows. I used to use the Macintosh for many years, but eventually migrated to Windows since it was a more open system. But neither can hold a candle to the capabilities and opportunities available to the Linux user.
How to Get Started
There are many ways you can get started. You can buy a cheap single board computer like the Raspberry Pi 2 with Linux already installed. You can also try it within Virtualbox in your current PC. Lastly, you can boot from a LiveCD or USB stick. Each of these options provide an easy way to try Linux and get your feet wet without having to jump all the way in.
I also recommend getting a good starter book like Beginning Ubuntu for Windows and Mac Users or subscribing to Linux Format magazine. The MagPi magazine, while targeted at Raspberry Pi users, also has some top notch articles for learning Linux. Best of all, its free.
Choosing a Distro
A ‘distro’ is a particular flavor of Linux. They all use the same Linux core, and for most purposes, there is very little difference between them. Two big considerations stand out – support and the package manager. The package manager is the equivalent of the ‘app store’. It is the engine by which you install and remove applications and code libraries. There are two main package managers in use, and it is probably best to stick with distros sharing the same one. That way you can switch between distros, but still be perfectly at home with each one. The package manager I prefer is called ‘apt-get’ and is the one used by the Debian family of distros. This family includes Ubuntu, Mint, and many others.
Support is probably the biggest consideration in choosing a distro. Ubuntu, hands down, wins the prize for the most plentiful support. Mint and some other minor distros actually share much of the Ubuntu distro, so any support for Ubuntu will most likely apply to them as well.
Ultimately, your choice if distro is not a very big deal. If you have a Linux friend, you should probably go with the distro he uses or recommends. If you are striking out on your own, I recommend Ubuntu. It is the most popular and has the most support options.
Whenever anyone talks about Linux distros, newbies think their choice affects how the system looks and feels to use. The fact that the choice of distro has very little to do with the actual graphical interface makes Linux all the more confusing.
You see, Linux is full of choices and configurations. Just like everyone is just a little bit different, so it is the same with Linux. The distro is kind of the bone structure of Linux. The Desktop Environment determines the outer appearance. You can usually chose whatever Desktop Environment you like, regardless of your distro. Of course, each distro has a default Desktop Environment, but it is simple matter to install a different one.
Ubuntu has become controversial of late, largely because of their decision to abandon more traditional Linux Window Managers for their own in-house one called ‘Unity’. Unity is a bit different, but is worth trying out. You may like it. For a more traditional look, there are several to choose from – Gnome, KDE, Gnome forks such as Cinnamon and Mate, as well as several others. Gnome, Cinnamon or KDE are all pretty safe bets. For older hardware, Xcfe is a great Windows look-alike that is very light on resources.
I have just scratched the surface in this short article on the many virtues of Linux. It would take a book to sing and elaborate on all its virtues. You may even be agreeing with me, but are afraid to take such a bold step into unknown territory.
You are not alone. Even though I am an engineer and professional software developer, I myself was afraid to take the plunge several years ago. Encouraged by a friend who loved to tinker in Linux, I bought a friendly tutorial magazine and began my journey. You can start out slowly, even just trying it out by booting from CD or USB drive, without abandoning your Windows installation. Then as you become more and more comfortable and knowledgeable, you can advance to either dual-boot or switch full-time to Linux.
You don’t even have to give up completely on Windows. Both Windows and Linux can be run in VirtualBox under each OS, providing the other OS in its own window. Alternatively, many well behaved Windows programs can be run under Linux via Wine, which unlike emulation, actually implements the Win32 api in Linux, making the applications using it to become Linux applications.
The water is warm. Now is the time to embrace Linux. You already use Linux everyday, and you don’t even know it. It runs almost every website and database. It runs most cell phones. It runs your router and many other embedded devices. The desktop is dying and the laptop is not far behind. What remains will be running Linux most likely. What are you waiting for?
* Microsoft has promised Windows 10 would run on the Raspberry Pi, but that promise has proved to be hollow. All it will run is a single “modern” style app specifically written for the Pi. It won’t even run existing ‘modern’ apps. It isn’t a true operating system in any real sense of the word. One more plus for Linux.