Thursday, May 12, 2011

Does the OS really matter all that much?

I am doing a lot of Internet-based computing these days, and I am wondering more and more just how much the operating system really matters. Clearly we need an operating system. The operating system is what controls the devices on the system, allocates resources, not only within the CPU, which is the "Brain" or controller of everything, but also the peripheral devices, from the keyboard to the mouse, the disk drive to the display, and whatever additional devices are on the system.

A flexible, extensible operating system, one which has a good job scheduler, device handler, and can be quickly modified when hardware changes occur, is essential.

We have a lot of operating systems available. In terms of the types of system kernels, we have several camps, and let's keep this confined to Intel compatible hardware, just for discussion; clearly there are more alternatives out there.

First, there is the camp that defined and created what a personal computer is all about: Microsoft, first with MS/DOS, then with Windows. The original MS/DOS and Windows wouldn't be very useful on today's hardware, but Windows has evolved many times over the past two decades, and we can't argue with the fact that it remains the most common operating system on Intel hardware. We can argue about cost, we can argue about security, we can argue about freedom, but the simple fact remains that it is still popular and it actually works. Though many other alternatives threaten its continued dominance and existence, at least right now it continues to lead the pack.

Then there is the Apple and Mac camp. Once upon a time, this was a 100% proprietary operating system space, but many years ago, Apple created OS X. Though the operating system, OS X, itself is very closed and proprietary, the kernel and many of the components that run within it are not, and there are alternatives based on it to prove it: Darwin for the operating system, really a BSD-based kernel, and Fink for the graphical user interface, an alternative to the Apple Aqua interface.

A lesser known, but long time alternative to the highly proprietary Apple camp is the BSD camp. The history of BSD software goes all the way back to the early UNIX systems. BSD developed out of graduate university research at the University of California at Berkeley (UCB), and the name BSD stands for Berkeley Standard Distribution. In the early nineties there were legal conflicts between AT&T and UCB over the content in BSD, and also in the content in UNIX System V. AT&T claimed that BSD used code directly from UNIX source code, and UCB claimed that AT&T lifted code directly from several utilities, such as the ex and vi editors, the termcap configurations, and the C shell. AT&T and UCB eventually settled their dispute, but efforts, such as FreeBSD and NetBSD were formed during that time, and represent a rewrite of the UCB UNIX code, and that is what we call BSD today. Several other variations, most notably OpenBSD, which evolved from NetBSD, and others, such as DragonflyBSD and smaller, lesser known projects developed. Many of these exist today, and not only does Apple's OS X come out of this lineage, as well as products from iXsystems, most notably PC-BSD, a consumer-oriented version of FreeBSD.

Then we have the smartphone, tablet, and netbook camp. These spaces have developed their own operating systems, but most of them evolve, at some level, either from BSD or Linux based kernels. For instance, Android was developed using a Linux-based kernel. iOS, used in many Apple products, comes from BSD-based kernels. Blackberry has developed proprietary systems, but if you look closely at them, they have hints of POSIX-based code in them, possibly with some code that originally evolved either from QNX or VxWorks inspired code. Hewlett Packard, after acquiring Palm, inherits a Linux-inspired system with WebOS.

I've alluded to Linux-inspired and Linux-based systems already, and clearly that is another major force to be considered. I have long been a proponent of flexible, freely shared and freely used software. I believe that if you collaborate on the common, core components, you can still create your own unique product, even a semi proprietary one, and yet share many of the base technologies. I see no reason to have to keep inventing and reinventing kernel technologies. Why not share and pool those ideas? Same with common utilities, commands, and commodity applications. We all need them. Why not collaborate on their development? Linux is the champion in this space.

Now that companies like Yahoo, Google, Amazon, and Red Hat have all successfully built solid businesses around a framework of software that has a shared tradition behind it, more companies are believing that this is possible and practical. So I return to the question - does the OS really matter all that much? If you are a consumer, probably not. The combination of price and features that match what you need are what matter the most. I would assert, though, that the free and open development of applications is what has driven both the free-based and commercial-based development, especially over the past decade.

With developing EC2 and other cloud based service offerings as a major business, Yahoo and Google building an entire search and advertising industry around either "free" or "open" based software technology, and Google in particular driving everything they do to draw Internet traffic to their revenue producing businesses - with free software, it seems to me that a free or at least shared software infrastructure makes a great deal of sense. It matters to me because that is where I find the sweet spot of products and services that I use. On the Internet, the majority of things I use are either Yahoo or Google based, or some new free alternative with a similar model. In mobile equipment, nearly everything I have is in one way or another tied to Google, and all of their stuff is based on freely available technology, so for me, I would assert that while the Internet allows you to use any OS technology, I feel it is the freely available technology that has driven the Internet explosion in the first place, and the freely available technology is what continues to drive it, and that's why I think that while the specific OS doesn't matter all that much - it is more of a personal choice, the freedom and the alternatives matter a great deal - including the freedom to utilize a very specific, commercial approach, as Apple and Microsoft do, or a much more open, commodity approach, like Canonical and Red Hat do - matter a great deal.

No comments: