Choice Matters!

I've long held a belief that when a majority of people all agree on something, there must be something wrong and it is time to worry. This belief has, best my fallable mind can tell, served me well so far. With this belief being so core to my nature, and with it being more "on the money" than "off", I have decided to name my Weblog, "Contrariwise", which essentially means contrary, but in an informed sense.

My rule is challenged, however, by the long time dominance of computing by Microsoft. Windows desktops are the rule on greater than nine out of every ten desktops, and have been for some time. In the server room Microsoft has gone from having virtually no presence ten years ago to a more than respectable showing today. With there being so much apparent agreement that sending money to Redmond is the best way to expend resources on computing, my "majority" indicator is certainly active, and has been, yet there has not been any sign of change on the horizon. At least not until recently.

NeXT, the company founded by Steve Jobs after being ousted by the other "powers that be" at Apple in the mid-1980s, had some great adds that claimed there would only be ten significant innovations in computing in the 1990s. The ads then proceeded to name seven of them. One of the seven was "Unix". I recall at the time being skeptical. Back in those days I was a Certified Apple Developer and we used to receive a great newsletter written by notable individuals at Apple. Sadly, I cannot recall the name of that newsletter. Regardless, I do recall an article written by Jean-Louis Gassee, who went on to found the innovative Be, Inc., in which he claimed that nobody wanted Unix per se, but rather Unix-type functionality. I tended to agree strongly with his reasoning and was surprised that a company run by Jobs, whose impact in user-friendly computing can hardly be underestimated, would be so strongly invested in Unix given its notorious user-unfriendliness. Yet, I lusted after a NeXT system I could never afford.

Much to my surprise, NeXT was right. Unix, or at least Unix-like operating systems, ended up being very important in the 1990s. And, their influence seems to be growing in this decade. In fact, it is the innovation that is taking place around Unix-like operating systems that will hopefully break the Microsoft hegemony.

But, is there good reason to want to break the Microsoft hegemony? Absolutely, for the single reason that monopolies stifle innovation, and there is a lot more innovation to be had with regard to computing. Breaking the Microsoft hegemony has nothing to do with Windows being "bad", a simplistic claim that could and should be hotly debated. Rather, breaking the hegemony is important because innovation in computing is so vitally critical to not only to the field, but to society as a whole due to its growing role in human communications, and we cannot rely on innovation, or at least a well executed "embrace and extend" policy, coming from just one company.

So, why is it that a thirty year old operating system provides such a fertile foundation on which to build twenty-first century innovation? I think there are two factors: good fundamental design and cost.

These days it is difficult to tell exactly what "Unix" is. The Open Group, who owns the trademark, is clear on this point. To them the term "Unix" can be applied to any operating system that passed their extensive compatibility test suite. Of course, Apple claims that "Unix" is now a generic term and are involved in litigation with the Open Group over this issue. The SCO Group, who purportedly hold the copyrights on the "ancestral" AT&T Unix source code, have recently appeared through their public comments to hold the extreme view that all operating systems are derivatives of Unix regardless of whether they use the "ancestral" source as a foundation. In my mind, "Unix" has become, for better or worse, a generic term that describes a family of operating systems which have various lineages, but common concepts about what constitutes an operating system.

Despite the differing lineages there are commonalities that the various Unixes share. In my simplistic mind, the most important of these is the Unix design philosophy that dictates a clear separation of "duties" within the total system, where each "duty" is carried out in a modular fashion as simply and separately from the others as possible. The realization of this philosophy is then enabled by a clear set of highly standardized interfaces through which the various total system components cooperate. By adhering to these basic principles, those creating Unix-like systems have been able to deliver systems that have all the basic functionality users require of a modern operating platform with good performance and excellent reliability.

But technical prowess is not a guarantee of market success, especially in the desktop market. Thus, the current resurgence of Unix as a competitive offering must be rooted in something other than technology. The current resurgence is about economics, both in terms of supply and demand. On the supply side, the simple fact of the matter is that basic low-level operating system technology is so well understood that is has become a commodity. Furthermore, such tecnology is now so much a commodity that it has virtually no economic value, at least as far as the general market is concerned. Linus Torvalds created the Linux kernel to duplicate the functionality of a Unix kernel and gave it away to the world under the GPL license. Subsequent to the settlement of the Unix System Laboratories and University of California at Berkeley lawsuit in the early 1990s, volunteers rewrote the four source code files that were determined to remain USL's proprietary property and gave away the result as FreeBSD under the liberal BSD license. NetBSD and OpenBSD took this core and created new systems, also under the BSD license. Apple took a Mach-based microkernel, combined it with a lot of the elements of FreeBSD, and created the freely available Darwin. Simply, there is no longer any reason to pay for this basic functionality as the quality of all these technologies is exceptional.

While there is still ongoing innovation in the area of operating system kernel design, that innovation is tending to be necessary only outside the mainstream requirements of real world users. Thus, the innovation has moved "up the stack" into the realm of that which is important to the end user.

There are two factors that historically seem to most strongly influence success on the desktop. They are: the total system must be "good enough" and it must be "cheap". There are a number of factors that are converging that allow for today's new challenge againt Windows' desktop dominance. The first is that the cost of Windows has gone up while all of the other components of a computer have become less expensive. Thus, Windows has become a significant piece of the purchase price of a machine. Desktop Linux, on the other hand, is very low cost and runs nicely on inexpensive commodity hardware. Thus, it meets one of the two criteria. But is it "good enough"? Well, that is the trick. Some users, like the city of Munich, have decided that Desktop Linux is good enough for their use. For most users, however, it is not quite there. But, by virtue of the fact that the early adopters have declared it ready, we know that it is improving to the point where it will soon meet that criteria for a much broader range of users.

And then there is Mac OS X, which clearly meets the "good enough" criteria. In fact, Mac OS X is the operating system I have dreamt of since the late 1980s and I use it every day to complete a combination of technology and business tasks. Apple's problem, of course, has always been that it is not "cheap", thus its relegation to a small portion of the market. Thus, the challenge for Apple is to remain relevant to the market niches that are willing to pay a premium for its products. Nonetheless, Apple continues to provide a guiding light for the rest of the industry and, with Mac OS X's Unix-based lineage, it will be interesting to see how the coming Desktop Linux growth can play to Apple's advantage as well. Apple would certainly be remiss if it weren't considering Gtk+ support on top of Quartz/Aqua.

But, so what? Does anybody care and should they? For the reason of competition and its impact on innovation and product quality, the answer has to be an emphatic "yes". Mac OS X is not for everyone. Desktop Linux is not for everyone. And, Windows is not for everyone. When there is real choice in the market, all will improve and the overall user community will be the beneficiary. Certainly, today's market is large enough to support and sustain multiple key players. Given the amount of time I have recently spent patching the comparatively small number of Windows machines under my control, I wish I had more power to choose. Fortunately, my choice has long been Macintosh on the desktop and Unix/Linux on the server, so my Windows security problems have been far less intrusive than that of many of my counterparts. Choice is good.