With QNX now firmly roadmapped at RIM and Android spreading among vendors like a virus, I wanted to point out that these operating systems share one ancestor: Unix.
A technical triumph
Technically Linux, which underlies Android, among others, is walled off from Unix from an IP point of view, but the philosophical and architectural lineage goes back to 1969’s Unix. It was an amazingly well thought-out operating system which has stood the test of time mostly due to its modular architecture. It was not always clear that Unix would make it this far, and in many ways it was written off.
There is some poetic justice in its comeback. Unix could have become a default for desktop computers. When Windows emerged from the shadow of DOS, Microsoft had the option to base NT on a flavor of Unix. But Bill Gates, no doubt motivated by license fee considerations, hired a group of developers from Digital Equipment Corporation and many elements of the NT design reflect earlier DEC experience with VMS and RSX-11. Microsoft went with that new architecture rather than Unix and that code lives on even in the current Windows 7.
So Unix missed a chance to become the core of the desktop experience throughout the 1990’s. It was relegated to the perilous high end: Sun workstations, servers and supercomputers. It seemed to be at a dead end. Fortunately, in stepped open source. Linux picked up the pieces and forged ahead to become a serious server operating system but never got beyond a toehold in the desktop.
The death of Unix(tm) was also forestalled because of the efforts of others. Sun, IBM and even a startup called NeXT kept development alive. When NeXT was acquired by Apple, OS X was born and in 2000 Unix was once again on the desktop.
Meanwhile, the Linux kernel also became device friendly and it was embedded into an increasing number of vertical applications while powering most of the new web servers that fed the dot com era.
Now we’ve entered a new decade of devices where Unix(-like) operating systems will, on a CPU basis, probably out-install Windows. Not only is iOS based on Unix, but Android and MeeGo and even Bada are based on Linux as are QNX and WebOS. Google, Apple, HP, RIM, Samsung and Nokia are all now betting heavily on Unix or Unix-like implementations. The success is so overwhelming that there are really only two hold-outs: Microsoft and the rapidly depreciating Symbian.
Value Chain Evolution
There is more to this than a sentimental technology riches to rags to riches story. The history of kernel adoption is evidence of the evolution of value chains and the tension between modular and integrated business architectures. It also supports a hypothesis of why Microsoft could not respond to a tectonic shift of power.
As a kernel, Unix was modular which allowed it to scale both down to devices and up to mainframes. It could conform to the applications above it (like being a server or being an embedded controller) and did so far more readily than Windows. In fact, Windows could not conform to applications outside its core PC and server domain.
For Unix, the point of modularity was reached early in the 1990’s and, through the Linux implementation, it allowed the lowest layers of the software to become commoditized (and free). This commodity status was actually what Microsoft tried to avoid by integrating Windows with the layers above it. This was a conscious and deliberate decision which also led to trouble with anti-trust regulators. The decision seemed to have paid off. Microsoft won.
However, the very strategy which Microsoft used to maintain a monopoly caused its rigidity of response to a new, post-PC market. Unix fit right in with the new shift in the basis of competition: toward more personal, portable and conformable computing. Windows did not. Microsoft had to build a completely new OS to deal with devices (Windows CE has little if any shared code with Windows NT et. al.). The dual OS strategy continues to hobble Microsoft as each is stretched into new dimensions: the desktop Windows being dragged into the high end and into tablets while the device Windows is re-written to accommodate new input methods.
The modular Unix just keeps conforming to new applications. It helps that it’s open source but the open sourcing is a result of the modularity not the cause for it. So far, it looks like there is no stopping the revenge of Unix. It’s been a long journey for Unix and I, for one, am cheering the comeback.