Sunday, April 29, 2012

News and Notes


In the past month, there have been quite a few interesting developments in the Linux world. First and foremost, the latest version of Ubuntu was released on April 26th. Ubuntu 12.04 as an LTS (long term support) release, and this particular version will be supported for five years. It again features the Unity desktop environment, and the infamous dock remains on the left hand side of the monitor. Aesthetics aside, however, this is a different Linux distribution. First and foremost are the new privacy settings. Users can easily choose not only how the system monitors their behavior, but also whether or not different types of applications are even allowed to do so. If an end user wishes that no websites are recorded on the system, they simply need to check a box, and it's done. If a user wants to prevent, say, Google Chrome from monitoring their behavior, but wants Mozilla Firefox to be able to do so, that's also an option.

There is some speculation that the increase in support from three to five years was an attempt by Canonical to encourage more businesses to adopt Ubuntu, which then led to the inveitable comparison with Red Hat. Mark Shuttleworth denies that Ubuntu will split into two separate versions, similar to Red Hat having its RHEL (Enterprise Linux) for business users, and Fedora for the home user. While I personally believe that this is Canonical's plan at the moment, it is possible that the market may demand a split.

On a different note, Valve software is officially releasing its Steam distribution client for Linux. One of the main arguments against mainstream adoption of Linux by average users has been that the operating system doesn't support many video games. Having Steam's vast library of games available may do a great deal to change that perception. On a personal note, I find the timing of this announcement interesting. With Windows 8 having recently released its Consumer Preview, combined with the fact that Microsoft is pushing the concept of Unified Extensible Firmware Interface, which could prevent Linux installation on new computers, perhaps Valve believes it's likely that Linux will be expanding to more computers in the near future. It's more likely that Steam just saw an easy way to expand their market. Steam is already available for Mac OS/X, and, while BSD and Linux are not the same OS, they are both POSIX-compliant, Unix-like OS, so it was more likely that Valve was able to make some minor changes to their system to get it to run on Linux.

On the desktop environment front, MATE version 1.2 was recently released. MATE is a fork of the GNOME 2 desktop environment, which was established when GNOME 3 was released. It is a very “traditional” feeling desktop environment (meaning it's reminiscent of Windows 98), and happens to be the default environment on Linux Mint. According to the charts ad distrowatch.com, Mint is still reigning as the most popular Linux distribution over the previous 30 days, although a check of the statistics from the last week shows Mint holding a razor-thin lead over Ubuntu.

Looking into the technical side of things, Adobe has declared that Flash Player version 11.2 will be the last Flash Player it releases for Linux. From this point forward, the only support Adobe will be providing for Flash in Linux will come through Google Chrome. Adobe will continue to provide security updates and bug fixes for older versions of Flash Player.

In other, non-Linux news, the Institute of Electrical and Electronics Engineers have a nice article on the history and future of Haiku. While the article itself includes some interesting technical information, it is also a nice look at the motivation behind creating yet another operating system. I don't see myself switching to Haiku as my primary OS any time soon, but I do think it's always nice to have multiple options available.

Also, MINIX is still alive and kicking, and it released a new stable version on Leap Day. Historically speaking, MINIX is the OS upon which Linus Torvalds based some of the initial Linux code. In his initial message which announced Linux, Torvalds famously asked his bulletin board for “feedback on things people like/dislike in minix”. On a personal note, the history of Linux via bulletin board posts is incredibly amusing. No one could have imagined what Linux was going to become.

Finally, in news that spans multiple Operating Systems, version 1 of the Go programming language has been released. Go was developed by Google, and supports Linux, FreeBSD, Mac OS/X, and Windows. Its future appears to be primarily in creating Google applications, and the language seems designed to be lightweight and quickly compiling. It is informative that it's stated to work with some versions of BSD (FreeBSD and OS/X), and not others. This shows one of the primary differences in BSD and Linux. A program that works with one Linux distribution will work with all distributions-- at least, as long as the two distros use compatible versions of the kernel. BSD has been forked heavily enough that separate versions may or may not be able to run the same programs.

Sunday, March 25, 2012

Happenings and Anecdotes

As I mentioned in my previous post, one of the reasons that has been discussed for Linux Mint overtaking (and maintaining its lead over) Ubuntu as the most popular Linux distribution was Canonical's choice to switch from the Gnome shell to Unity for the default desktop environment. I'd like to take this opportunity to describe some of the differences between the two desktop environments.

First and foremost is the “dock”, which is similar to the dock in Mac's OS/X. Some Windows computers, especially Dells, have a similar feature. It is a permanent taskbar on the left of the desktop that features icons for commonly used programs. It's rather simple to add programs to the dock, as it just takes a right-click. On the other hand, it's impossible to get rid of the dock as long as Unity is the default GUI desktop.

Gnome, on the other hand, is what older versions of Ubuntu featured. It's still available in Ubuntu, and it features an exceptionally minimalist approach. Menus are hidden by default, and it's impossible to save files to the desktop. For people who like a “clean” desktop environment, Gnome is an ideal choice.

The Unity/ Gnome debate, though, brings up a more interesting issue, and that's the maturity of Linux as a desktop operating system, and the expectations of Linux users in 2012. There are some distributions of Linux, such as Gentoo, which are infinitely customizable. The end user picks and chooses the desired features, and actually modifies the kernel accordingly. Other distros have slightly different ideas about the proper balance between customization and usability, but the end user's ability to choose their own experience has always been at the core of the Linux philosophy.

This is where the Mint and Ubuntu split has become fascinating. The single biggest reason given for end users choosing one distribution over the other is the desktop environment, something that can be changed with a simple search of the repositories. Linux has made great strides towards attracting a different sort of end user- the type of individual who would normally use a Windows system out of familiarity. Because of this change in focus, I think we may start to see a change in philosophy from Linux developers. The “winner” might not be the distribution that has the most cutting-edge features, or the most unique presentation. Rather, it could possibly be the one that can most closely replicate a desktop experience that users are comfortable with. If a particular distro resembles Windows XP, or Mac OS/X, or Windows 7, it will be easier to convince users to switch to Linux. This is the definition of a double-edged sword.

On one hand, a larger user base will make it more common for companies to produce software that is compatible with Linux, which will then make it less cumbersome for users to switch, and the effects will build upon each other. On the other hand, a great majority of end users simply do not care about whether or not their software is innovative. Instead, they are concerned with simply having a consistent desktop experience, where they can use their computer in a familiar manner. While the plural of anecdote is not data, I would like to share one particular example of this phenomenon. A little over a year ago, my father brought me his laptop, complaining that it was running slowly. I'm not certain exactly how much malware he had managed to accumulate on his Windows Vista machine, but it was so much that it took over 30 minutes for the computer to fully start up. When I forced his machine to update, it would no longer start up at all. My father is not a power user- he wanted to have something that would allow him to surf the internet, check his email, and write the occasional document. While he is not a traditional Linux user, I realized that installing Linux on his laptop was the ideal solution- he would have an operating system that wasn't susceptible to malware, and I would be able to handle any minor issues he may encounter by telling him a few simple BASH shell commands. It's been over a year, and we have had zero problems with his computer. Perhaps this is the future of Linux.

In other alternate OS news, Haiku has an updated peer-to-peer client, BeShare. It is similar to Napster or Limewire, designed for the BeOS based operating system. The biggest change this version of BeShare delivers is compatibility with the MUSCLE 3.20 framework. In other words, it will support multiple programming languages.

On the BSD side of things, it seems that DuckDuckGo is becoming more popular as the default search engine for its distributions. This is not necessarily surprising, as DuckDuckGo is much more focused on privacy and user anonymity than other major search engines. This is somewhat ironic, considering how much Google is pushing free and open source software into the market.

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.)