Friday, February 24, 2012

The Basics

I like to tinker. When I was younger, I liked to take my toys apart and see how they worked. As I grew up, I put my toys away and replaced them with electronics, but that desire to know “how does this thing work?” never went away. For many years, I just accepted the fact that, while I could replace parts in my computer, and contemplate building one from scratch, I wouldn’t get to see how it really worked. Then, thanks to an unfortunate bit of malware in 2007, I began looking into non-Windows operating systems, and what I found made me smile.

Linux is free and open-source software (FOSS). If I wanted to download a fully functioning distribution, I had that ability. If, however, I wanted to download the source code and see how this stuff really worked, I could also do that. I finally had the ability to take my computer apart and see how it worked! All I needed to do is go to kernel.org and I could see the current versions of the Linux kernel, and what changes were being made. If I had the desire, I could modify the code of that kernel to fit my own needs. I was thrilled.

Then, I stumbled across a site called Why Linux is Better, and I learned about the advantages Linux provided. Security was enhanced, most of the software was free, it sounded great, but I wasn’t ready to give up Windows. Then, I learned about dual-booting. I didn’t have to make an either/or decision. I could have both Windows and Linux on the same machine, and just choose at startup which one I wanted. This made my decision to become a Linux user much, much easier, and I have been using at least two operating systems on my computers for over 4½ years.

In the summer of 2011, thanks to my Operating Systems course at UTSA, I discovered an even simpler method of running multiple OS* on a single machine- virtualization. I use Oracle’s VirtualBox on my home computers, and no longer have to worry about rebooting if I want to switch from Windows to Linux. I just fire up a VM, and I’m off to the races.

But enough about the “how”, let’s take a look at the “what” of FOSS operating systems right now.

While calling a given year "the year of Linux on the desktop" is almost a running gag amongst even the strongest proponents of FOSS, the fact is that alternate operating systems are offering a much easier-to-use product than in the past.

The logs at distrowatch.com show that the most popular Linux distributions are receiving thousands of page hits per day. The interesting story these numbers show is that Ubuntu, which had been the most popular distro for years, has been overtaken by Linux Mint. Mint uses the K Desktop Environment, or KDE, and, in my opinion, feels very similar to Windows XP. Canonical seems to have upset a large portion of its user base when they switched Ubuntu from Gnome to the self-developed Unity user interface. In my opinion, Ubuntu is attempting to develop a free version of the Mac OS/X.

One of the projects in an early stage that I personally find fascinating is Haiku. It is based on BeOS, which was a failed competitor to Windows and Mac. One of the things that makes Haiku interesting is that it is not based on the Linux kernel, but rather uses a proprietary kernel that the user base developed. As an Alpha release, it definitely feels immature, but the OS is based on simplicity. It’s supposed to be lean and fast, so it will be interesting to see how much, if any, the visual aspects of Haiku develop. As an end user, the OS reminds me quite a bit of one of the earlier versions of Windows- either 95 or 98- although it is not as intuitive to use.

Perhaps my biggest surprise has been with the Berkeley Software Distribution, or BSD. In my initial research, BSD was considered to be an exceptionally esoteric OS, even for most die-hard hobbyists. It had a reputation of being difficult to install, and even more difficult to get to compile. Perhaps this was the case 10 years ago. Perhaps it is even the case today with certain BSD distributions. However, PC-BSD is a very user-friendly, simple to install version of BSD that “just worked” in my VirtualBox environment. I literally had to change nothing from the defaults.

One thing I have noticed about a large number of the alternative operating systems I’ve tried is how much they try to standardize the user experience towards one of two more mainstream OS- either Windows XP or Mac OS/X. I have no definitive proof, but I’m fairly certain this was done intentionally. If a user can sit down and, with a minimum of effort, use a new OS, they’re probably more likely to stick with it than if it’s something foreign. There are a few traditionalists who would like to see GUI operations dropped in favor of the command line, but for the most part, it would seem like more and more alternate OS developers are trying to at least make things somewhat more user-friendly for the casual user.

*(When trying to type the abbreviation of “Operating System”, I ran into the problem of pluralization. I tried “Oss”, “OSes”, and “OS’s”, but settled on “OS”, with the logic being that it could stand for “Operating Systems” as well. Grammatical context should hopefully indicate singular or plural intention.)